J’ai demandé à ChatGPT de programmer un jeu avec moi, et nous avons échoué pendant des heures

Publié le 11 mars 2023 par Mycamer

ChatGPT est un chatbot IA inspiré capable de mener des conversations et d’écrire des documents commerciaux, des livres et scénarios de films mal conçus. Il peut même programmer. Cependant, c’est ce dernier point où vous pouvez rencontrer des limitations importantes, surtout si vous utilisez toujours la version gratuite de la plate-forme OpenAI.

Voici l’histoire de ma plus longue conversation continue avec ChatGPT. C’est une histoire de programmation, de collaboration, d’inspiration et, oui, de beaucoup de frustration.

Inspiré par l’effort réussi de quelqu’un pour construire un Sudoku/jeu de mots ChatGPT (s’ouvre dans un nouvel onglet) , j’ai décidé d’essayer de construire “Tic-Tac-Go”. C’est vrai, c’est une version amplifiée du jeu le plus simple du monde. Dans ma version, nous élargirions la grille de 3×3 à 12×12. Les règles seraient simples. Voici comment je l’ai expliqué à ChatGPT (avec quelques fautes de frappe que ChatGPT a gracieusement pardonné (l’un de ses cadeaux) :

Je souhaite créer une variante du jeu de tic-tac-toe, mais j’en ai besoin pour être plus complexe. Ainsi, la grille devrait être de 12 par 12. Il devrait toujours utiliser “x” et “o”. Les règles incluent que n’importe quel joueur peut en bloquer un autre en plaçant son “x” ou son “o” dans n’importe quel espace autour de la grille, tant qu’il se trouve dans l’un des espaces juste à côté de l’autre joueur. Ils peuvent également choisir de placer leur “X” ou leur “o” dans n’importe quel espace pour bloquer les mouvements futurs. Le but est d’être le premier à avoir au moins six “x” ou “o” dans n’importe quelle ligne, colonne ou diagonale avant l’autre joueur. Rappelez-vous, un joueur est “x” et l’autre est “o”. Veuillez le programmer en HTML et JavaScript simples. Appelons ce jeu : Tic-Tac-Go.

Les choses ont plutôt bien commencé. Chat GPT crache immédiatement trois scripts, un en HTML, un en fichier CSS et un en JavaScript. Malheureusement, le JavaScript a été tronqué, et cela est devenu un modèle car je me suis souvent heurté à Limite de nombre de caractères apparente mais non documentée de ChatGPT (s’ouvre dans un nouvel onglet) (éventuellement 4096).

Début de la programmation ChatGPT (Crédit image : futur)

Quand j’ai demandé à ChatGPT pourquoi il avait coupé mon code, il s’est excusé et a livré le reste. En général, j’ai toujours eu l’impression de travailler avec un ingénieur junior très accommodant et assez humain. ChatGPT est qualifié en codage mais dans des situations comme celle-ci, il se comporte comme un subordonné.

Tout au long de ce long processus, ChatGPT expliquerait consciencieusement son code. À la fin du dernier morceau de JavaScript, il a livré ce message :

Ce code initialise le plateau de jeu, gère les mouvements des joueurs, vérifie les victoires et les égalités, réinitialise le jeu et ajoute des écouteurs d’événement au bouton de réinitialisation. Vous devriez pouvoir copier et coller ce code dans des fichiers HTML, CSS et JavaScript distincts et exécuter le jeu dans votre navigateur. Faites moi savoir si vous avez des questions!

Même si j’ai passé la fin des années 90 à coder HTML et JavaScript et à gérer des sites Web, j’étais rouillé, j’avais donc une série de questions sur la façon de gérer ces fichiers. Je me suis souvenu que vous pouviez exécuter un site Web localement si vous stockiez tous les fichiers dans un dossier et ouvriez le fichier HTML dans votre meilleur navigateur internetmais j’avais besoin de revérifier les noms de fichiers pour m’assurer que les références que ChatGPT a insérées dans le code HTML correspondaient à tout ce que j’avais créé.

ChatGPT et moi travaillons ensemble (Crédit image : futur)

J’ai saisi chaque morceau de code et les ai placés dans des fichiers texte brut séparés, puis les ai nommés avec les extensions de fichier appropriées : “.js”, “.css”, “.html”. Pour être honnête, j’ai foiré la dénomination de l’un d’entre eux, ce qui m’a un peu ralenti, ainsi que ChatGPT.

Ce qui était intéressant, c’est à quel point ChatGPT a travaillé dur pour m’aider à déboguer le code. Rien ne fonctionnait lorsque j’ai ouvert le fichier HTML dans Safari et Chrome, et j’ai reçu de nombreuses suggestions pour résoudre le problème.

Finalement, j’ai réalisé que j’avais mal nommé le fichier JavaScript avec “.jss”. C’était une solution facile. Maintenant, le HTML est au moins chargé, mais tout ce que j’avais était le nom de mon jeu et un bouton “Réinitialiser le jeu”.

Une première itération dans laquelle ChatGPT a mal orthographié le nom de notre jeu. (Crédit image : futur)

Cela a lancé un long processus itératif où j’ai fait de mon mieux pour expliquer ce que je voulais et ChatGPT a fait de son mieux pour répondre à mes demandes. J’ai aimé la façon dont il agissait toujours comme s’il comprenait parfaitement mes demandes, mais manquait parfois d’énormes aspects du jeu et agissait comme si tout était là.

ChatGPT a initialement livré le HTML sans grille pour le jeu. J’ai remarqué qu’il n’y avait pas de code HTML entre les balises “div”. ChatGPT m’a dit que j’avais raison et a fait de son mieux pour le remplir.

Tout au long du processus qui a duré des heures, ChatGPT n’a jamais oublié que nous travaillions sur ce jeu, mais il a perdu le fil d’une myriade d’autres façons.

ChatGPT coupe le code (Crédit image : futur)

De loin, le plus gros problème est devenu la limite du nombre de caractères. Lorsque j’ai commencé à définir ce dont j’avais besoin – comme une grille fonctionnelle de 12 x 12 – il est devenu évident que ChatGPT ne pouvait pas contenir tout le code souhaité dans une ou plusieurs invites.

Le code devenait de plus en plus complexe et ChatGPT continuerait à couper le reste. Je lui ai demandé de le diviser, par exemple, en six parties et de les livrer une à la fois.

Au début, cela fonctionnait assez bien.

Cependant, il est également devenu clair que ChatGPT perdait la trace de certains éléments de mes conseils. Alors que je collectais une section de long code HTML, j’ai remarqué qu’il était passé, à mi-chemin, au code CSS.

Dans un autre cas, il a continué à redémarrer la livraison du code HTML.

Finalement, ChatGPT a livré son ensemble de codes de jeu le plus important à ce jour, mais lorsque je l’ai exécuté, j’ai réalisé que ChatGPT avait répété le code de telle manière qu’une partie a fini par apparaître sur le plateau de jeu. C’était inutilisable.

Cela ne s’est pas passé comme je le pensais. (Crédit image : futur)

En parcourant le code et les scripts, j’ai réalisé que cela devenait si complexe que je ne comprenais plus tout à fait ce que je regardais. Il est apparu que ChatGPT prévoyait que le code génère un autre fichier qui garderait une trace de l’action et du score du jeu. J’étais un peu excité de voir si cela fonctionnerait.

Malheureusement, nous avons lutté pendant plus d’une heure pour comprendre comment obtenir tout le code sur ma machine. À un moment donné, ChatGPT m’a suggéré de créer un compte GitHub et de commencer à y stocker et à y intégrer le code. Mais sans un seul ensemble complet de code, je ne savais pas comment faire cela.

Avec de plus en plus de morceaux de code inutilisables tronqués, j’ai décidé de faire redémarrer ChatGPT mais avec des instructions de livraison plus claires :

J’ai toujours besoin de mes fichiers HTML, JS et CSS et chaque fois que vous les livrez, vous mélangez les parties. Pouvez-vous livrer en séquence, un ensemble complet de HTML décomposé, de sorte qu’il ne dépasse pas la limite de caractères, suivi d’un fichier JS décomposé pour ne pas dépasser la limite de caractères, suivi d’un fichier CSS décomposé pour qu’il le fasse pas dépasser la limite de caractères ? Pour le HTML, rétablissez la meilleure version du jeu. Ne lésinez pas sur l’apparence et la fonctionnalité. Vérifiez le code avant de me le donner. S’il vous plaît, ne mélangez pas le code et ne laissez rien de côté.

Comme d’habitude, ChatGPT était plein d’excuses et a ensuite consciencieusement commencé à cracher les premières sections de HTML. Et puis j’ai reçu un message d’erreur et peu importe ce que j’ai fait, ChatGPT n’a pas répondu.

J’avais l’impression d’avoir cassé l’IA.

Dernière erreur de ChatGPT (Crédit image : futur)

En fin de compte, le plus proche d’un plateau de jeu fonctionnel était une seule, large boîte grise non fonctionnelle sous les instructions du jeu, un nom mal orthographié (quelque part en cours de route, ChatGPT a introduit “Tic-Tac-Do”), un tableau de bord et le bouton “Réinitialiser le jeu”.

Qu’est-ce que j’ai appris ?

ChatGPT est un outil puissant pour la création de code, mais il s’agit toujours d’un assistant à ce stade et n’est pas capable de fournir systématiquement tout votre code terminé.

Comme je l’ai découvert dans d’autres projets ChatGPT, plus vous travaillez longtemps avec la création d’OpenAI, plus ChatGPT devient confus. C’est comme si vous partiez ensemble, mais à un moment donné, ChatGPT a voyagé trop loin de chez vous, donc il se perd. Si vous mettez toute votre confiance entre les mains de ChatGPT, cela pourrait vous égarer. Fondamentalement, plus vous en savez, mieux vous serez.

J’ai également appris que si vous avez besoin de beaucoup de code de ChatGPT, vous voudrez peut-être payer pour le ChatGPT Plus version, ce qui a peut-être aidé mes problèmes de limitation de caractères.

Je rêve toujours de faire un jour ce jeu. Peut-être que nous pourrons réessayer quand OpenAI lancera ChatGPT-4.

to www.techradar.com


Abonnez-vous à notre page Facebook: https://www.facebook.com/mycamer.net
Pour recevoir l’actualité sur vos téléphones à partir de l’application Telegram cliquez ici: https://t.me/+KMdLTc0qS6ZkMGI0
Nous ecrire par Whatsapp : Whatsapp +44 7476844931