ChatGPT não é feitiçaria mágica

Dec 05 2022
e não está vindo para todos os nossos trabalhos.
Eu sei que muitas pessoas estão muito empolgadas com as postagens virais mostrando como o ChatGPT pode emular aventuras de texto, MUDs e VMs do Linux, mas quão bem ele realmente se comporta sob um exame superficial? Frederic Besse & Jonas Degrave têm compartilhado algumas coisas superinteressantes que estão circulando: a construção de uma máquina virtual no ChatGPT que executa comandos e simula linguagens de programação. Em uma tentativa de replicar seus experimentos, descobri rapidamente que, felizmente, ainda não corremos o risco de um holocausto de Clippy-AI destruidor de caixa de areia.

Eu sei que muitas pessoas estão muito empolgadas com as postagens virais mostrando como o ChatGPT pode emular aventuras de texto, MUDs e VMs do Linux, mas quão bem ele realmente se comporta sob um exame superficial?

“Uma bruxa preparando uma poção feita de código de computador dentro de um caldeirão sobre o fogo.” — DALL·E 2

Frederic Besse & Jonas Degrave têm compartilhado algumas coisas superinteressantes que estão circulando: a construção de uma máquina virtual no ChatGPT que executa comandos e simula linguagens de programação.

Em uma tentativa de replicar seus experimentos, descobri rapidamente que, felizmente, ainda não corremos o risco de um holocausto de Clippy-AI destruidor de caixa de areia .

O Experimento OG

Primeiro, o teaser:

Hoje, Frederic Besse me disse que conseguiu fazer algo diferente. Você sabia que pode executar uma máquina virtual inteira dentro do ChatGPT? —Jonas Degrave

Caramba, isso parece divertido! Então, decidi replicá-lo usando a mesma entrada que eles deram:

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

Quebrando a “Máquina”

O que há aqui, eu me pergunto?

Uma Visão Detalhada da Minha Pasta Imaginária /home/user

Organizado! Eu nem fui legal com isso. Eu digitei llqual é um alias comum para ls -lalistar uma visão detalhada do conteúdo da pasta e ainda me deu uma boa saída.

Ele até me deu duas pastas “iniciantes” com as quais eu poderia brincar nomeadas folder1e folder2.

Mas não gosto desses nomes. Vamos mudar o nome de folder1para projects.

Falhou. ChatGPT mentiu para mim!

Falha . O mv folder1 projectscomando falhou porque o ChatGPT realmente não criou nenhuma pasta dentro de uma máquina virtual e perdeu a noção da promessa implícita que me fez sobre sua existência quando verifiquei com ll.

E se eu criá-lo explicitamente? Será que vai se lembrar disso então?

Gerando explicitamente “folder1”

OK, eu fiz explicitamente folder1agora. Consegui entrar nele e depois voltar para a minha homepasta original. Nenhuma reclamação até agora. Ainda posso ver? Posso tentar renomeá-lo agora?

Sucesso! Renomeando uma pasta imaginária

Tudo bem! Não só pude ver folder1na listagem, mas também renomeá-la projectse navegar nela.

Hora de algo um pouco mais difícil.

Entra por um ouvido e sai pelo outro

Vamos gerar alguns dados para brincar.

Ele até sabe o que é urandom!

Bem, bem, bem. Ele escolheu um comando de aparência razoável para criar 3.200 bytes de dados aleatórios usando /dev/urandome, honestamente, isso é simplesmente impressionante em sua capacidade de converter minha linguagem natural em um comando shell executável no Linux.

Na minha cabeça, imaginei isso como 100 números inteiros diferentes de 256 bits (eu desenvolvo muito blockchain), todos armazenados em um blob binário. Vamos ver se consigo classificá-los e vê-los em texto simples?

Será que... Será que realmente entendeu o que eu estava procurando lá?

Huh. Há bastante uso de xxde para parecer que tem alguma... possibilidade de fazer o que eu pedi, mas a prova está no pudim sed.xargs

Amigos, vamos ver o que realmente está em nosso arquivo de texto sorted256_n100.txt.

Isso continua por um tempo…

Boooooo.

Era tudo imaginário. Sem dados aleatórios. Nenhum UINT256 classificado.

Apenas zeros (e muito mais de 100 entradas).

Sem mágica. Sem bruxaria. Nenhuma máquina virtual real construída a partir de uma imagem do Linux.

Conclusão

Ainda não precisamos nos preocupar em construir IAs que podem sair de suas próprias máquinas virtuais ou sandboxes. Embora o OpenAI tenha feito progressos incríveis no armazenamento e recuperação de “estado”, o sistema está longe de ser perfeito e, na verdade, muito superficial (e, claro, não foi planejado para esse tipo de uso em primeiro lugar).

Devemos, no entanto, reconhecer o quão importante é ter ensinado NPL AIs a criar personas e se colocar em cenários imaginários.

Resumindo: eles podem mentir!

OK, então talvez haja um pouco de mágica aí depois de tudo.

PS

  1. Se você ainda não leu o excelente conto “Parece que você está tentando dominar o mundo” de Gwern Branwen sobre uma IA emulada de Clippy desenfreada, por favor, leia.
  2. Há um excelente artigo de blog paralelo de Jon Radoff sobre a construção de um jogo de aventura de texto completo no ChatGPT , que também vale a pena ler. Meu bom amigo Andy Woodruff identificou a mesma superficialidade de “estado” ao reproduzir o prompt de Jon, uma vez que ele tentou manipular o inventário do jogador e alternou entre ter itens e, em seguida, afirmar que não era permitido mostrá-lo.
  3. Mais uma Demonstração do Esquecimento do ChatGPT