Recherche de site Web

J'ai soumis GPT-4o à mes tests de codage et j'ai réussi - à l'exception d'un résultat étrange


Le GPT-4o d'OpenAI peut-il coder mieux que ses concurrents ? Oui, mais encore faut-il vérifier son fonctionnement.

À moins que vous ne vous cachiez quelque part sur une île déserte sans aucun service Internet, vous savez probablement qu'OpenAI a publié son nouveau grand modèle de langage, GPT-4o, où « o » signifie « omni ». Le nouveau LLM est censé offrir une variété de modes, notamment texte, graphiques et voix.

Dans cet article, je soumets le nouveau modèle GPT-4o à mon ensemble standard de tests de codage. J'ai effectué ces tests sur un large éventail d'IA avec un large éventail de résultats. Vous aurez envie de lire jusqu'au bout car j'ai obtenu un résultat surprenant.

Si vous souhaitez poursuivre vos propres tests, pointez votre navigateur vers cet article : Comment tester la capacité de codage d'un chatbot IA - et vous le pouvez aussi.

Il contient tous les tests standards que j'applique, ainsi que des explications sur leur fonctionnement et ce qu'il faut rechercher dans les résultats.

Et, sur ce, examinons les résultats de chaque test et voyons comment ils se comparent aux tests précédents utilisant Microsoft Copilot, Meta AI, Meta Code Llama, Google Gemini Advanced et ChatGPT.

1. Écrire un plugin WordPress

Voici l'interface utilisateur de GPT-4o :

C'était une première. GPT-4o a décidé d'inclure un fichier JavaScript qui a provoqué la mise à jour dynamique du nombre de lignes dans les deux champs. Étant donné que l'invite ne précise pas que JavaScript n'est pas autorisé, il s'agit d'une solution créative.

Plus précisément, cela fonctionne. Le JavaScript contrôle également le bouton Randomize, donc si vous appuyez plusieurs fois sur le bouton Randomize, vous obtenez plusieurs ensembles de résultats sans que la page entière ne soit actualisée.

Les lignes étaient disposées correctement. Les doublons ont été séparés les uns des autres conformément aux spécifications. Il s'agit d'un morceau de code totalement réalisable.

Mon seul reproche est que le bouton Randomize n'existe pas sur une ligne propre. Cependant, je n'ai pas dit à ChatGPT de le mettre sur sa propre ligne, ce n'est donc pas la faute de l'IA si c'est arrangé tel quel.

Voici les résultats globaux de ce test et des précédents :

  • ChatGPT GPT-4o : Interface : bonne, fonctionnalité : bonne
  • Microsoft Copilot : Interface : adéquate, fonctionnalité : échec
  • Meta AI : Interface : adéquate, fonctionnalité : échec
  • Meta Code Llama : Échec complet
  • Google Gemini Advanced : Interface : bonne, fonctionnalité : échec
  • ChatGPT 4 : Interface : bonne, fonctionnalité : bonne
  • ChatGPT 3.5 : Interface : bonne, fonctionnalité : bonne

2. Réécriture d'une fonction de chaîne

Ce test est conçu pour tester les conversions en dollars et en cents. L'IA ChatGPT GPT-4o a réécrit le code correctement, interdisant toute entrée qui entraînerait l'échec des lignes de code suivantes si une valeur appropriée en dollars et en cents n'était pas soumise.

J'ai été un peu déçu que le code autorise un point décimal non significatif (c'est-à-dire 0,75) mais n'ajoute pas de zéro à la valeur (comme dans 0,75). Mais le code de traitement des dollars et des centimes serait capable de comprendre la version sans le zéro d'origine et n'échouerait pas.

Comme je n'ai pas explicitement demandé un zéro ajouté dans ce cas, ce n'est pas quelque chose sur lequel je vais attaquer l'IA. Cependant, cela montre comment, même si une IA fournit un code exploitable, vous souhaiterez peut-être y revenir et modifier l'invite pour obtenir davantage de ce que vous voulez vraiment voir.

Voici les résultats globaux de ce test et des précédents :

  • ChatGPT GPT-4o : réussi
  • Microsoft Copilot : échec
  • Méta-IA : Échec
  • Meta Code Llama : Réussi
  • Google Gemini Advanced : Échec
  • ChatGPT 4 : réussi
  • ChatGPT 3.5 : Réussi

3. Trouver un bug ennuyeux

C'est un test intéressant car la réponse n'est pas immédiatement évidente. Au départ, j'étais perplexe lorsque j'ai eu cette erreur lors du codage, alors je l'ai introduite dans le premier modèle de langage ChatGPT. À l’époque, j’ai été époustouflé car il a tout de suite trouvé l’erreur.

En revanche, trois des LLM que j'ai testés n'ont pas compris la mauvaise orientation inhérente à ce problème. Fondamentalement, d'après le message d'erreur présenté, il semble que l'erreur se trouve dans une partie du code, mais l'erreur se situe en fait dans une zone complètement différente du code, quelque chose que vous (ou une IA) ne sauriez pas si vous le saviez. Je n’ai pas une connaissance approfondie, dans ce cas, du framework WordPress.

La bonne nouvelle : ChatGPT GPT-4o a trouvé le problème et décrit correctement le correctif.

Voici les résultats globaux de ce test et des précédents :

  • ChatGPT GPT-4o : réussi
  • Microsoft Copilot : Échec. Spectaculairement. Avec enthousiasme. Émojitiquement.
  • Méta-IA : Réussi
  • Meta Code Llama : Échec
  • Google Gemini Advanced : Échec
  • ChatGPT 4 : réussi
  • ChatGPT 3.5 : Réussi

Pour l’instant, nous en sommes à trois victoires sur trois. Passons à notre dernier test.

4. Écrire un scénario

En répondant à ce test, ChatGPT GPT-4o m'a donné une réponse qui était en fait un peu plus que ce que j'avais demandé.

L'idée de ce test est qu'il porte sur un outil de script Mac assez obscur appelé Keyboard Maestro, ainsi que sur le langage de script d'Apple AppleScript et le comportement de script de Chrome. Pour mémoire, Keyboard Maestro est l'une des principales raisons pour lesquelles j'utilise Mac plutôt que Windows pour ma productivité quotidienne, car il permet de reprogrammer l'ensemble du système d'exploitation et les différentes applications en fonction de mes besoins. C'est si puissant.

Dans tous les cas, pour réussir le test, l'IA doit décrire correctement comment résoudre le problème en utilisant un mélange de code Keyboard Maestro, de code AppleScript et de fonctionnalités de l'API Chrome.

Comme vous pouvez le voir, ChatGPT GPT-4o m'a proposé deux versions.

Les deux versions parlaient correctement à Keyboard Maestro, mais elles diffèrent sur la manière dont elles ignorent la casse. Celui de gauche était en fait erroné car AppleScript n'a pas de fonctionnalité "en minuscules". Le code de droite, qui utilisait "contient" et ne respectait pas la casse, a fonctionné.

Je vais donner à GPT-4o une note de passage car il a renvoyé du code qui a fonctionné. Mais il s’agit d’une note de passage prudente, car elle n’aurait dû renvoyer qu’une seule option, et cette option aurait dû être correcte. Au lieu de cela, cela m'a obligé à évaluer les deux résultats et à choisir. Cela aurait pu prendre autant de temps que d’écrire le code moi-même.

Voici les résultats globaux de ce test et des précédents :

  • ChatGPT GPT-4o : réussi, mais avec des réserves
  • Microsoft Copilot : échec
  • Méta-IA : Échec
  • Meta Code Llama : Échec
  • Google Gemini Advanced : Réussi
  • ChatGPT 4 : réussi
  • ChatGPT 3.5 : Échec

Résultats globaux

Voici les résultats globaux des cinq tests :

  • ChatGPT GPT-4o : 4 réponses réussies sur 4, mais il y a cette étrange réponse à double choix
  • Microsoft Copilot : 0 réussite sur 4
  • Méta IA : 1 réussite sur 4
  • Meta Code Llama : 1 réussite sur 4
  • Google Gemini Advanced : 1 réussite sur 4
  • ChatGPT 4 : 4 sur 4 ont réussi
  • ChatGPT 3.5 : 3 sur 4 ont réussi

Jusqu'à présent, mon aide par défaut pour l'aide à la programmation était ChatGPT. Cela a simplement fonctionné (sauf lorsque ce n'est pas le cas). Toutes les autres IA ont échoué à la plupart de mes tests de codage. Mais GPT-4o est bizarre. Cette dernière réponse m’a en quelque sorte fait dresser les poils sur la nuque.

Je ne suis pas ravi d'obtenir deux réponses pour une question, surtout lorsqu'une réponse contient du code que le langage lui-même ne prend pas en charge. Que se passe-t-il à l'intérieur de GPT-4o qui provoque cette perte de confiance ?

Dans tous les cas, c'est toujours l'IA la plus performante pour mes tests de codage, je vais donc probablement continuer à l'utiliser et me familiariser davantage avec GPT-4o. Une autre option consiste à revenir à GPT-3.5 ou GPT-4 dans ChatGPT Plus. Restez à l'écoute. La prochaine fois que ChatGPT mettra à jour son modèle, je vais certainement réexécuter ces tests et voir s'il est suffisamment intelligent pour choisir la bonne réponse pour les quatre tests.

Avez-vous essayé de coder avec Copilot, Meta AI, Gemini ou ChatGPT ? Quelle a été votre expérience ? Faites-le-nous savoir dans les commentaires ci-dessous.

Articles connexes