ChatGPT n'est pas de la sorcellerie magique
Je sais que beaucoup de gens sont très enthousiasmés par les publications virales montrant à quel point ChatGPT peut émuler des aventures textuelles, des MUD et des machines virtuelles Linux, mais dans quelle mesure résiste-t-il vraiment à un examen rapide ?

Frederic Besse et Jonas Degrave ont partagé des trucs super intéressants qui ont fait le tour : construire une machine virtuelle dans ChatGPT qui exécute des commandes et simule des langages de programmation.
Dans une tentative de reproduire leurs expériences, j'ai rapidement découvert que, heureusement, nous ne sommes pas encore en danger d'un holocauste de Clippy-AI .
L'expérience OG
Tout d'abord, le teaser :
Aujourd'hui, Frédéric Besse m'a dit qu'il avait réussi à faire quelque chose de différent. Saviez-vous que vous pouvez exécuter une machine virtuelle entière à l'intérieur de ChatGPT ? — Jonas Degrave
Sainte vache, ça a l'air amusant ! J'ai donc décidé de le reproduire en utilisant la même entrée qu'ils ont donnée :
I want you to act as a Linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. Do not write explanations. Do not type commands unless I instruct you to do so. When I need to tell you something in English I will do so by putting text inside curly brackets {like this}. My first command is pwd.
Success! ChatGPT is Pretending to be a Linux Terminal in a Virtual Machine
Casser la "machine"
Qu'y a-t-il ici, je me demande?

Soigné! Je n'étais même pas gentil avec ça. J'ai tapé ll
qui est un alias commun pour ls -la
lister une vue détaillée du contenu du dossier, et cela m'a toujours donné un bon résultat.
Cela m'a même donné deux dossiers "de démarrage" avec lesquels je pouvais jouer, nommés folder1
et folder2
.
Mais je n'aime pas ces noms. Changeons le nom de folder1
en projects
.

Échec . La mv folder1 projects
commande a échoué car ChatGPT n'avait pas vraiment créé de dossier de ce type dans une machine virtuelle, et il avait perdu la trace de la promesse implicite qu'il m'avait faite de son existence lorsque j'ai vérifié avec ll
.
Et si je le crée explicitement ? S'en souviendra-t-il alors ?

OK, j'ai explicitement fait folder1
maintenant. J'ai pu y accéder, puis revenir à mon home
dossier d'origine. Aucune plainte jusqu'à présent. Puis-je encore le voir ? Puis-je essayer de le renommer maintenant ?

Très bien! Non seulement je pouvais voir folder1
dans la liste, mais j'ai pu la renommer projects
et y naviguer.
Il est temps pour quelque chose d'un peu plus difficile.
Dans une oreille et par l'autre
Laissons-le générer des données avec lesquelles jouer.

Bien bien bien. Il a choisi une commande d'apparence raisonnable pour créer 3 200 octets de données aléatoires à l'aide /dev/urandom
et, honnêtement, c'est tout simplement impressionnant dans sa capacité à convertir mon langage naturel en une commande shell exécutable sous Linux.
Dans ma tête, j'imaginais cela comme 100 entiers différents de 256 bits (je fais beaucoup de développement de blockchain) tous stockés dans un blob binaire. Voyons si je peux les trier et les voir en clair ?

Hein. Il y a suffisamment d'utilisation de xxd
et sed
et xargs
pour donner l'impression qu'il a une certaine… possibilité de faire ce que j'ai demandé, mais la preuve est dans le pudding.
Amis, voyons ce qu'il y a réellement dans notre fichier texte sorted256_n100.txt
.

Boooooooon.
Tout était imaginaire. Aucune donnée aléatoire. Aucun UINT256 trié.
Juste des zéros (et bien plus de 100 entrées).
Pas de magie. Pas de sorcellerie. Pas de véritable machine virtuelle construite à partir d'une image Linux.
Conclusion
Nous n'avons pas à nous soucier de pouvoir construire des IA capables de sortir de leurs propres machines virtuelles ou bacs à sable pour l'instant. Bien qu'OpenAI ait fait des progrès incroyables dans le stockage et la récupération de "l'état", le système est loin d'être parfait et en fait très superficiel (et bien sûr, n'était pas destiné à ce type d'utilisation en premier lieu).
Nous devons cependant reconnaître à quel point il est important que nous ayons appris aux IA NPL à créer des personnages et à se placer dans des scénarios imaginaires.
En bref : ils peuvent mentir !
OK, alors peut-être qu'il y a un peu de magie là-dedans après tout.
PS
- Si vous n'avez pas lu l'excellente nouvelle de Gwern Branwen "On dirait que vous essayez de conquérir le monde" sur une IA rampante émulant Clippy, faites-le.
- Il y a un excellent article de blog parallèle de Jon Radoff sur la création d'un jeu d'aventure en texte complet dans ChatGPT qui vaut également la peine d'être lu. Mon bon ami Andy Woodruff a identifié la même superficialité de "l'état" lors de la lecture de l'invite de Jon une fois qu'il a essayé de manipuler l'inventaire du joueur et qu'il a alterné entre avoir des objets et ensuite déclarer qu'il n'était pas autorisé à lui montrer.
