ChatGPT est un chatbot inspiré de l’IA capable de tenir des conversations et d’écrire des documents commerciaux, des livres et des scripts de films mal conçus. Vous pouvez même programmer. Cependant, c’est dans cette dernière partie que vous pourrez rencontrer quelques limitations majeures, surtout si vous utilisez encore la version gratuite de la plateforme 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 similaire à Word 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 améliorée du jeu le plus simple au 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 gentiment pardonné (un de leurs cadeaux):
Je veux créer une variante du jeu de tic tac toe, mais j’ai besoin qu’il soit plus complexe. La grille doit donc être de 12 sur 12. Vous devez toujours utiliser « x » et « o ». Les règles stipulent que n’importe quel joueur peut en bloquer un autre en plaçant son « x » ou son « o » sur n’importe quel espace autour de la grille, tant qu’il se trouve sur l’un des espaces juste à côté de l’autre joueur. Ils peuvent également choisir de placer leur « X » ou « o » sur n’importe quel espace pour bloquer d’autres mouvements. 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 ». Programmez ceci en HTML simple et JavaScript. Appelons ce jeu : Tic-Tac-Go.
Les choses ont plutôt bien commencé. Chat GPT crache immédiatement trois scripts, un en HTML, un dans un fichier CSS et un en JavaScript. Malheureusement, le JavaScript a été tronqué et cela est devenu un modèle car je rencontrais fréquemment Limite de nombre de caractères apparents mais non documentés de ChatGPT (s’ouvre dans un nouvel onglet) (éventuellement 4096).
Quand j’ai demandé à ChatGPT pourquoi il avait coupé mon code, il s’est excusé et a remis le reste. De manière générale, j’ai toujours eu l’impression de travailler avec un ingénieur junior très arrangeant et assez humain. ChatGPT est qualifié pour le codage, mais dans des situations comme celle-ci, il se comporte comme un minion.
Tout au long de ce long processus, ChatGPT expliquerait avec diligence 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é et j’avais donc un certain nombre de questions sur la façon de gérer ces fichiers. Je me suis souvenu que je pouvais exécuter un site Web localement si je stockais tous les fichiers dans un dossier et ouvrais le fichier HTML dans votre meilleur navigateur Web, mais je devais revérifier les noms de fichiers pour m’assurer que les références que ChatGPT mettait dans le HTML correspondaient. avec ce que j’ai créé.
J’ai pris chaque morceau de code et je les ai mis dans des fichiers texte séparés, puis je les ai nommés avec les extensions de fichier appropriées : « .js », « .css », « .html ». Pour être honnête, j’ai foiré le nom 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 sur la façon de 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 « Redémarrer le jeu ».
Cela a commencé 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 a toujours agi comme s’il comprenait parfaitement mes demandes, mais parfois il a raté des aspects importants du jeu et a agi 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 terminer.
Tout au long des heures de processus, ChatGPT n’a jamais oublié que nous travaillions sur ce jeu, mais il a perdu le fil de bien d’autres façons.
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 intégrer 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 ordonné de le diviser en, disons, six parties et de les livrer une à la fois.
Au début, cela fonctionnait plutôt bien.
Cependant, il est également devenu clair que ChatGPT perdait la trace de certains éléments de mon guide. Alors que je compilais une section de code HTML long, j’ai remarqué qu’il était passé, à mi-chemin, au code CSS.
Dans un autre cas, il n’arrêtait pas de 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 remarqué que ChatGPT avait du code répété de telle sorte qu’une partie a fini par apparaître sur le plateau de jeu. C’était inutilisable.
En regardant le code et les scripts, j’ai réalisé que cela devenait si complexe que je ne comprenais plus tout à fait ce que je voyais. Il semblait 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é d’ouvrir un compte GitHub et de commencer à y stocker et à y intégrer du code. Mais sans un ensemble complet de code, je ne savais pas comment le faire.
Avec de plus en plus d’extraits de code inutilisables tronqués, j’ai décidé de relancer 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 ensemble. Pouvez-vous livrer en séquence, un ensemble complet de fractionnement HTML afin qu’il ne dépasse pas la limite de caractères, suivi d’un fractionnement de fichier JS afin qu’il ne dépasse pas la limite de caractères, suivi d’un fractionnement de fichier CSS afin qu’il le fasse ? pas dépasser la limite de caractères ? Pour le HTML, revenez à la meilleure version du jeu. Ne lésinez pas sur l’apparence et la fonctionnalité. Merci de revoir le code avant de me le donner. Veuillez ne pas confondre le code ou omettre quoi que ce soit.
Comme d’habitude, ChatGPT était plein d’excuses et a ensuite docilement commencé à cracher les premières sections de HTML. Et puis j’ai reçu un message d’erreur et quoi que je fasse, ChatGPT ne répondait pas.
J’avais l’impression d’avoir cassé l’IA.
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é (à un moment donné, ChatGPT a introduit « Tic-Tac-Do »), un signet et le Bouton « Réinitialiser le jeu ».
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 de manière cohérente tout votre code complet.
Comme je l’ai découvert dans d’autres projets ChatGPT, plus vous travaillez longtemps avec la version OpenAI, plus ChatGPT devient déroutant. C’est comme s’ils sortaient ensemble, mais à un moment donné, ChatGPT a voyagé trop loin de chez lui et 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 ChatGPT, vous voudrez peut-être payer pour la version ChatGPT Plus, ce qui a peut-être aidé mes problèmes de limite de caractères.
Je rêve encore de faire un jour ce jeu. Peut-être que nous pourrons réessayer quand OpenAI publiera ChatGPT-4.
« Introverti. Amateur de bière extrême. Organisateur subtilement charmant. Explorateur d’une humilité exaspérante. Écrivain indépendant. »