Gemini Pro 2.5 est l’une des deux seules IA à avoir réussi tous m …

Gemini Pro 2.5 est l'une des deux seules IA à avoir réussi tous m ...


Dans le cadre de mes évaluations des fonctionnalités de codage des IA, je soumets chaque IA à quatre tests de programmation. Ces tests sont conçus pour déterminer dans quelle mesure une IA donnée peut vous aider à programmer. C’est assez utile, surtout si vous comptez sur l’IA pour vous aider à produire du code. La dernière chose que vous souhaitez, c’est qu’une IA introduise des bugs dans votre travail de développeur, pas vrai ?

Il s’agit de tests très simples. J’utilise PHP et JavaScript, qui ne sont pas exactement des langages difficiles. Et j’exécute des requêtes de script par l’intermédiaire des IA. En utilisant exactement les mêmes tests, nous sommes en mesure de comparer directement les performances.

  • L’un d’entre eux consiste à écrire un simple plugin WordPress.
  • Un autre à réécrire une fonction de chaîne de caractères.
  • Un autre à demander de l’aide pour trouver un bogue que j’ai eu du mal à trouver seul.
  • Et le dernier à utiliser quelques outils de programmation pour récupérer des données de Chrome.

Gemini Pro 2.5 est disponible gratuitement, pour tout le monde

Mais il faut aussi se comporter avec les IA comme avec quelqu’un qui apprend à conduire. S’il n’est pas capable de sortir du garage, vous n’allez pas le lâcher sur une autoroute bondée.

À ce jour, seul le LLM GPT-4 (et plus) de ChatGPT a réussi tous les tests. Oui, Perplexity Pro a également réussi tous les tests, mais c’est parce que Perplexity Pro utilise le LLM GPT-4. Curieusement, Microsoft Copilot, qui utilise également le LLM de ChatGPT, a échoué à tous les tests. Gemini de Google n’a pas fait beaucoup mieux. Lorsque j’ai testé Bard (le premier nom de Gemini), il a échoué à la plupart des tests. L’année dernière, lorsque j’ai fait passer mes tests à Gemini Advanced (20 $ par mois), il a échoué à trois des quatre tests.

Aujourd’hui, Google revient avec Gemini Pro 2.5. Ce qui a attiré notre attention, ici à ZDNET, c’est que Gemini Pro 2.5 est disponible gratuitement, pour tout le monde. Pas de supplément de 20 dollars par mois. Bien que Google ait clairement indiqué que l’accès gratuit était soumis à des limites tarifaires, je ne pense pas que l’un d’entre nous ait réalisé qu’il nous étranglerait après deux prompts. Ce qui m’est arrivé pendant les tests.

Mes deux premiers prompts demandaient à Gemini Pro 2.5 d’écrire un plugin WordPress complet et de corriger du code. Il est donc possible que j’ai épuisé les limites plus rapidement que si vous l’utilisiez pour poser une simple question. Mais à ma grande surprise, l’attente en valait vraiment la peine.

Test 1 : Écrire un simple plugin WordPress

C’est impressionnant. On est loin de l’échec de Bard et de l’échec de Gemini Advanced. Gemini Pro 2.5 a réussi ce test dès le départ.

Le défi consiste à écrire un simple plugin WordPress qui fournit une interface utilisateur simple. Il randomise les lignes d’entrée et distribue (et non supprime) les doublons afin qu’ils ne soient pas à côté les uns des autres.

Gemini Pro 2.5 m’a fourni une interface utilisateur très correcte. Et le code s’est exécuté et a fait ce qu’il était censé faire.

Capture d’écran par David Gewirtz/ZDNET

Ce qui a attiré mon attention, en plus de l’interface joliment présentée, c’est le choix de l’icône du plugin. La plupart des IA ignorent le choix de l’icône, laissant l’interface s’adapter par défaut à ce que WordPress leur assigne.

Mais Gemini Pro 2.5 a clairement choisi une icône à partir de la sélection Dashicon de WordPress. De plus, cette icône est parfaitement adaptée à la randomisation des lignes d’un plugin.

icon

Capture d’écran par David Gewirtz/ZDNET

Non seulement Gemini Pro 2.5 a réussi ce test, mais il a obtenu un « wow » pour son choix d’icône. Je ne l’ai pas invité à le faire, et c’était juste ce qu’il fallait. Le code était entièrement en ligne (le JavaScript et le HTML étaient intégrés dans le PHP) et était bien documenté. De plus, Gemini Pro 2.5 a documenté chaque segment majeur du code avec un texte explicatif séparé.

Test 2 : Réécrire une fonction de chaîne de caractères

Dans le deuxième test, j’ai demandé à Gemini Pro 2.5 de réécrire un code de traitement de chaînes de caractères qui traite de dollars et de cents. Mon code de test initial n’autorise que les entiers (donc, les dollars seulement). Mais l’objectif était d’autoriser les dollars et les cents. C’est un test que ChatGPT a réussi. Bard a d’abord avant de réussir.

Et Google Advanced a échoué d’une manière à la fois subtile et dangereuse. Le code généré par Gemini Advanced ne permettait pas les entrées non décimales. En d’autres termes, 1,00 était autorisé, mais pas 1. Il en va de même pour 20. Pire encore, il a décidé de limiter les nombres à deux chiffres avant la virgule au lieu d’après, montrant ainsi qu’il ne comprenait pas le concept de dollars et de cents. Il échouait si vous entriez 100,50, mais autorisait 99,50.

Il s’agit d’un problème très facile, du genre de ceux que l’on donne aux étudiants en première année de programmation. Pire encore, le défaut de programmation de Gemini Advanced est très difficile à trouver pour un programmateur.

Le code généré par Gemini Pro 2.5 est un peu trop strict

Lorsque j’ai refait le test avec Gemini Pro 2.5, les résultats étaient différents. Le code vérifie correctement les types d’entrée, supprime les espaces blancs, répare l’expression régulière pour autoriser les zéros en tête, les entrées décimales uniquement et les entrées négatives.

Il commente également de manière exhaustive le code de l’expression régulière. Et offre un ensemble complet d’exemples de tests bien étiquetés, à la fois valides et invalides (et énumérés en tant que tels).

Le code généré par Gemini Pro 2.5 est un peu trop strict. Il ne permet pas de grouper les virgules (comme dans $1,245.22) et n’autorise pas non plus les symboles monétaires en tête de liste. Mais comme mon prompt ne le demandait pas, et que l’utilisation des virgules ou des symboles monétaires renvoie une erreur contrôlée et non un plantage, je considère que c’est acceptable.

C’est une deuxième victoire.

Test 3 : Trouver un bug

Vient ensuite le test de détection de bug. ChatGPT a compris le souci. Gemini Advanced n’a même pas pris la peine de se tromper. Tout ce qu’il a fourni, c’est la recommandation de chercher « probablement ailleurs dans le plugin ou dans WordPress » pour trouver l’erreur.

Mais qu’en est-il aujourd’hui, avec Gemini Pro 2.5 ? Honnêtement, je ne le sais pas, et je ne le saurai pas avant demain. Apparemment, j’ai épuisé mon quota de Gemini Pro 2.5 gratuit avec mes deux premières questions.

limit

Capture d’écran par David Gewirtz/ZDNET

Je reviendrai donc demain.

D’accord, je suis de retour. Nous sommes le lendemain, le chien a fait une belle promenade, le soleil est au rendez-vous et Gemini Pro 2.5 me laisse à nouveau le temps de lui donner des messages. Je lui ai donné le prompt pour mon troisième test.

Non seulement il a réussi le test et trouvé le bogue. Mais il m’a indiqué l’endroit du code à corriger. Littéralement. Il m’a dessiné une carte, avec une flèche et tout le reste.

map

Capture d’écran par David Gewirtz/ZDNET

Avec trois tests corrects sur quatre, Gemini Pro 2.5 sort de la catégorie « Chatbots à éviter pour l’aide à la programmation » et entre dans la première moitié de notre classement.

Mais il reste encore un test. Voyons comment Gemini Pro 2.5 s’en sort.

Test 4 : Écrire un script

Ce dernier test n’est pas très difficile en termes de compétences de programmation. Ce qu’il teste, c’est la capacité de l’IA à passer d’un environnement à l’autre, ainsi que l’obscurité des environnements de programmation.

Le test exige :

  • De comprendre la représentation interne du modèle d’objet dans Chrome
  • D’apprendre à écrire de l’AppleScript (lui-même bien plus obscur que, par exemple, du Python)
  • Puis d’écrire du code pour Keyboard Maestro, un outil de création de macros écrit par un Australien

La routine est conçue pour ouvrir les onglets de Chrome et définir l’onglet actif sur celui que la routine utilise comme paramètre. Il s’agit d’une exigence de codage assez étroite. Mais c’est exactement le genre de chose qui pourrait prendre des heures à résoudre à la main, puisqu’elle repose sur la compréhension des bons paramètres pour chaque environnement.

La plupart des IA se débrouillent bien avec le lien entre AppleScript et Chrome. Mais plus de la moitié d’entre elles ne savent pas comment transmettre des paramètres à Keyboard Maestro.

Et, bien, encore une fois, wow. Gemini Pro 2.5 a effectivement compris Keyboard Maestro. Il a écrit le code nécessaire pour transmettre les variables comme il se doit. Il a ajouté de la valeur en vérifiant les erreurs et en avertissant l’utilisateur (ce qui n’était pas demandé dans le prompt) si la variable ne pouvait pas être définie.

Puis, plus loin dans la section d’explication, il a même fourni les étapes nécessaires pour configurer Keyboard Maestro afin qu’il fonctionne dans ce contexte.

maestro

Capture d’écran par David Gewirtz/ZDNET

C’est ainsi, Mesdames et Messieurs, que Gemini Pro 2.5 entre dans le cercle très fermé des vainqueurs.

Nous savions que cela allait arriver

C’était juste une question de temps. Google est rempli de personnes très, très intelligentes. En fait, c’est Google qui a donné le coup d’envoi du boom de l’IA générative en 2017 avec son document de recherche « L’attention est tout ce dont vous avez besoin« .

Bard, Gemini et même Gemini Advanced ont lamentablement échoué à mes tests de programmation d’IA. Mais ce n’était qu’une question de temps avant que l’outil d’IA de Google ne rattrape les offres d’OpenAI.

Ce temps est venu. Du moins pour mes tests de programmation. Gemini Pro 2.5 est plus lent que ChatGPT Plus. ChatGPT Plus répond presque instantanément. Gemini Pro 2.5 semble prendre entre 15 secondes et une minute.

Malgré tout, attendre quelques secondes pour obtenir un résultat précis et utile est bien plus précieux que de recevoir immédiatement des réponses erronées.



Source link

Laisser un commentaire

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