Lorsque X a présenté son chatbot pour la première fois, il était derrière un paywall. Et X a récemment ouvert Grok au monde entier. J’ai donc décidé de lui faire passer mes tests de programmation.
J’ai toujours été intrigué par Grok à cause de son nom. Grok a été inventé par Robert Heinlein, l’un de mes écrivains de science-fiction préférés. Il avait l’esprit très ouvert en ce qui concerne les normes sociétales. Il écrivait des histoires puissantes, incluait de merveilleux thèmes scientifiques dans ses récits et injectait souvent de profonds commentaires sociaux dans ses livres.
Il a également inventé le terme « grok », un mot martien aux multiples significations. Il peut être interprété comme signifiant « je comprends », cette compréhension existant à un niveau profond et fondamental. En tant que tel, c’est un nom parfait pour un chatbot d’IA. Sauf que… lorsque j’ai demandé à Grok quel LLM (large language model) il utilisait, il a décidé de me dire également qu’il s’inspirait de l’esprit et de la rébellion du Guide du voyageur galactique.
Capture d’écran par David Gewirtz/ZDNET
Sur ce, plongeons dans mes tests de programmation.
1. Écrire un plugin WordPress
Il s’agit d’un test de codage qui demande à l’IA de connaître la programmation PHP et de savoir comment construire un plugin WordPress. Je demande à l’IA de construire un outil pour randomiser et trier les noms. L’outil de sélection aléatoire doit aussi gérer les noms multiples, mais aussi les séparer pour qu’ils ne se retrouvent pas côte à côte dans les résultats.
Enfin, le code doit fournir une interface utilisateur claire et de qualité, de sorte qu’elle puisse simplement coller les noms, cliquer sur un bouton et obtenir sa liste.
Capture d’écran par David Gewirtz/ZDNET
J’ai confié cette tâche à Grok. Et il a réussi. L’interface est claire et fonctionnelle. Et, plus important encore, l’IA a fait ce que le code était censé faire, en randomisant et en séparant les noms avec succès. Je donne donc à ce test la mention « gagnant ».
Capture d’écran par David Gewirtz/ZDNET
2. Réécriture d’une fonction de chaîne de caractères
Mon deuxième test résout un problème qui m’a été signalé par un utilisateur. Le code que j’avais mis en place était conçu pour tester si un nombre saisi par un utilisateur était dans une devise valide. Mon erreur était que le code n’autorisait que les nombres entiers. Donc vous pouviez faire un don de 5 €, mais pas de 5,25 €.
Grok a réécrit avec succès le code de l’expression régulière. Mais le code qu’il génère n’autorise pas des nombres comme « ,5 », qui est un montant monétaire valide. Il autorise « 0,5 », mais tous les utilisateurs ne choisissent pas d’ajouter un zéro à la valeur des cents. Il utilise également un mécanisme assez inefficace pour effectuer des doubles conversions et ne gère pas correctement les chaînes de caractères qui ne peuvent pas être converties en nombres.
Pour l’instant, nous en sommes donc à une victoire et une défaite.
3. Trouver un bug gênant
Le troisième test nécessite une connaissance du framework et de l’API de WordPress. Le bug que je demande à l’IA de trouver est un bug subtil qui résulte d’une mauvaise interprétation des exigences de l’API de WordPress.
Un certain nombre de LLM que j’ai testé se sont trompés sur le problème. Mais Grok a compris le problème et m’a donné une réponse fonctionnellement correcte et utile.
Cela nous amène à deux victoires et une défaite. Cela place Grok devant presque la moitié des autres LLM que j’ai testé précédemment. Voyons ce qu’il en est pour le quatrième et dernier test.
4. Écrire un script
Il s’agit d’un test difficile car il exige que l’IA connaisse un outil de création de scripts verticaux pour Mac appelé Keyboard Maestro, dont le volume est relativement faible. L’IA doit également être capable d’écrire du code pour trois environnements distincts à la fois : Keyboard Maestro, Chrome et AppleScript.
Jusqu’à présent, seuls Google Gemini et ChatGPT utilisant le LLM GPT-4 ont réussi ce test. Même ChatGPT 3.5 a échoué.
Grok a donc remporté trois victoires sur quatre, ce qui lui permet de devancer toutes les autres IA qui ne sont pas basées sur un LLM ChatGPT.
Réflexions finales sur les capacités de codage de Grok
Dans l’ensemble, Grok a tenu bon. S’il n’avait autorisé qu’une valeur monétaire sans zéro initial, il aurait obtenu un score parfait. Je ne sais pas trop quoi penser des changements intervenus chez X depuis qu’il a remplacé Twitter.
Mais Grok semble être un chatbot assez redoutable, du moins en ce qui concerne la programmation.
Qu’en pensez-vous ? Avez-vous utilisé Grok ? Faites-nous part de votre avis dans les commentaires ci-dessous.