il a réussi mes tests de codage et m’a m …

il a réussi mes tests de codage et m'a m ...


Habituellement, lorsqu’un éditeur de logiciels sort une nouvelle version majeure en mai, il n’essaie pas de la compléter par une autre version majeure quatre mois plus tard. Mais le rythme de l’innovation dans le domaine de l’IA générative n’a rien d’habituel.

Bien qu’OpenAI ait lancé son nouveau modèle GPT-4o à la mi-mai, l’entreprise n’a pas chômé. Dès novembre dernier, Reuters a publié une rumeur selon laquelle OpenAI travaillait sur un modèle de langage de nouvelle génération, connu à l’époque sous le nom de Q*. Cette rumeur a été confirmée en mai, indiquant que Q* était en cours de développement sous le nom de code Strawberry.

Il s’avère que Strawberry est en fait un modèle appelé o1-preview, qui est désormais disponible en option pour les abonnés de ChatGPT Plus. Vous pouvez choisir le modèle dans la liste déroulante de sélection :

Capture d’écran par David Gewirtz/ZDNET

Décomposer les questions et les problèmes en étapes

Comme vous pouvez l’imaginer, si un nouveau modèle de ChatGPT est disponible, je vais le mettre à l’épreuve. Et c’est ce que je fais ici.

Le nouveau modèle Strawberry se concentre sur le raisonnement, en décomposant les questions et les problèmes en étapes. OpenAI présente cette approche par le biais d’un résumé du raisonnement qui peut être affiché avant chaque réponse.

Lorsqu’une question est posée à o1-preview, il réfléchit et affiche ensuite le temps qu’il lui a fallu pour effectuer ce raisonnement. Si vous faites basculer la liste déroulante, vous verrez apparaître un raisonnement. Voici un exemple tiré d’un de mes tests de codage :

reasoning

Capture d’écran par David Gewirtz/ZDNET

Le modèle o1-preview fournit de nombreuses explications sur le code

C’est une bonne chose que l’IA en ait su assez pour ajouter la gestion des erreurs. Et je trouve intéressant que o1-preview classe cette étape dans la catégorie « Conformité réglementaire ».

J’ai également découvert que le modèle o1-preview fournit de nombreuses explications sur le code. Lors de mon premier test, qui consistait à créer un plugin WordPress, le modèle fournissait des explications sur l’en-tête, la structure des classes, le menu d’administration, la page d’administration, la logique, les mesures de sécurité, la compatibilité, les instructions d’installation, les instructions d’utilisation et même les données de test. C’est beaucoup plus d’informations que celles fournies par les modèles précédents.

Mais en réalité, la preuve est dans le pudding. Soumettons ce nouveau modèle à nos tests standard et voyons s’il fonctionne bien.

1. Écrire un plugin WordPress

Ce test de codage simple nécessite une connaissance du langage de programmation PHP et du cadre WordPress. L’épreuve demande à l’IA d’écrire à la fois un code d’interface et une logique fonctionnelle, avec la particularité qu’au lieu de supprimer les entrées en double, elle doit séparer les entrées en double, afin qu’elles ne soient pas à côté les unes des autres.

Le modèle o1-preview a excellé. Il a d’abord présenté l’interface utilisateur sous la forme d’un simple champ d’entrée :

entry-field

Capture d’écran par David Gewirtz/ZDNET

Une fois que les données ont été saisies et que l’on a cliqué sur Randomize Lines, l’IA a généré un champ de sortie avec des données de sortie correctement randomisées. Vous pouvez voir qu’Abigail Williams est dupliquée et que, conformément aux instructions du test, les deux entrées ne sont pas listées côte à côte :

output-data

Capture d’écran par David Gewirtz/ZDNET

Dans mes tests d’autres LLM, seuls quatre des dix modèles ont réussi ce test. Le modèle o1-preview a parfaitement réussi ce test.

2. Réécriture d’une fonction de chaîne de caractères

Notre deuxième test corrige une expression régulière de chaîne de caractères qui était un bug signalé par un utilisateur. Le code original était conçu pour tester si un nombre saisi était valide pour les dollars et les cents. Malheureusement, le code n’autorisait que les nombres entiers (donc 5 était autorisé, mais pas 5,25).

Le LLM o1-preview a réécrit le code avec succès. Le modèle a rejoint quatre de mes précédents tests LLM dans le cercle des gagnants.

3. Découverte d’un bug gênant

Ce test a été créé à partir d’un bug réel que j’ai eu du mal à résoudre. L’identification de la cause première nécessite une connaissance du langage de programmation (dans ce cas, PHP) et des nuances de l’API de WordPress.

Les messages d’erreur fournis n’étaient pas techniquement exacts. Les messages d’erreur faisaient référence au début et à la fin de la séquence d’appels que j’exécutais, mais le bogue était lié à la partie centrale du code.

Je n’étais pas le seul à m’efforcer de résoudre le problème. Trois des autres LLM que j’ai testé n’ont pas pu identifier la cause première du problème et ont recommandé la solution la plus évidente (mais erronée) consistant à modifier le début et la fin de la séquence d’appels.

Le modèle o1-preview a fourni la bonne solution. Dans son explication, le modèle a également pointé vers la documentation de l’API WordPress pour les fonctions que j’ai utilisées de manière incorrecte. De quoi fournir une ressource supplémentaire pour apprendre pourquoi il avait fait sa recommandation. Très utile.

4. Écrire un script

Ce défi exige de l’IA qu’elle intègre des connaissances dans trois sphères de codage distinctes :

  • Le langage AppleScript
  • Le DOM de Chrome (la structure interne d’une page web)
  • Le Keyboard Maestro (un outil de programmation spécialisé)

Pour répondre à cette question, il faut comprendre ces trois technologies, ainsi que la manière dont elles doivent fonctionner ensemble.

Une fois de plus, o1-preview a réussi, rejoignant seulement trois des dix autres LLM qui ont résolu ce problème.

Un chatbot très bavard

La nouvelle approche de raisonnement pour o1-preview ne diminue donc pas la capacité de ChatGPT à réussir nos tests de programmation. Le résultat de mon premier test de plugin WordPress, en particulier, semble fonctionner comme un logiciel plus sophistiqué que les versions précédentes.

C’est une bonne chose que ChatGPT fournisse des étapes de raisonnement au début de son travail et des données explicatives à la fin. Cependant, les explications peuvent être longues. J’ai demandé à o1-preview d’écrire « Hello world » en C#, la ligne de test canonique en programmation. Voici comment GPT-4o a répondu :

csharp-gpt4o

Capture d’écran par David Gewirtz/ZDNET

Et voici comment o1-preview a répondu au même test :

csharp-thinking

Capture d’écran par David Gewirtz/ZDNET

Cela fait beaucoup. Vous pouvez également retourner la liste déroulante de raisonnement pour obtenir encore plus d’informations :

csharp-thinking

Capture d’écran par David Gewirtz/ZDNET

Toutes ces informations sont excellentes. Mais cela fait beaucoup de texte à filtrer. Je préfère une explication concise, avec des options d’informations supplémentaires dans des menus déroulants.

Pourtant, le modèle o1-preview de ChatGPT a donné d’excellents résultats. J’attends avec impatience de voir comment il fonctionnera lorsqu’il sera intégré de manière plus complète aux fonctionnalités de GPT-4o, telles que l’analyse de fichiers et l’accès au Web.

Avez-vous essayé de coder avec o1-preview ? Quelles ont été vos expériences ? Faites-nous en part dans les commentaires ci-dessous.

Source : « ZDNet.com »



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.