📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

AI prompt engineering: A deep dive

Anthropic1:16:43

Transcription

Basicamente, toda esta sessão da mesa redonda aqui será focada principalmente em prompt engineering. Uma variedade de perspectivas nesta mesa em torno de prompts, do lado da pesquisa, do lado do consumidor e do lado da empresa. E eu quero apenas obter toda a ampla gama de opiniões, porque há muitas delas. E simplesmente abrir para discussão e explorar o que prompt engineering realmente é e do que se trata. E sim, vamos simplesmente levar a partir daí. Então, talvez possamos ir em volta com as apresentações. Posso começar. Eu sou Alex. Eu lidero Relações com Desenvolvedores aqui na Anthropic. Antes disso, eu era tecnicamente um prompt engineer na Anthropic. Trabalhei na nossa equipe de prompt engineering e desempenhei uma variedade de funções, desde algo do tipo arquiteto de soluções até trabalhar no lado da pesquisa. Então, com isso, talvez eu possa passar para o David.

Heck, sim. Meu nome é David Hershey. Trabalho principalmente com clientes na Anthropic em várias coisas técnicas, ajudo as pessoas com fine-tuning, mas também muitas das coisas genéricas que dificultam a adoção de modelos de linguagem de prompting. E simplesmente como construir sistemas com modelos de linguagem, mas passo a maior parte do meu tempo trabalhando com clientes.

Legal. Eu sou Amanda Askell. Lidero uma das equipes de Fine-tuning na Anthropic, onde eu acho que tento fazer o Claude ser honesto e gentil. Sim.

Meu nome é Zack Witten. Sou Prompt Engineer na Anthropic. Alex e eu sempre discutimos sobre quem foi o primeiro. Ele diz que é ele, eu digo que sou eu.

Contestado.

Sim. Eu costumava trabalhar muito com clientes individuais, mais ou menos do mesmo jeito que o David faz agora. E então, à medida que trouxemos mais arquitetos de soluções para a equipe, comecei a trabalhar em coisas que visam elevar os níveis gerais de prompting ambiente na sociedade, eu acho, como o gerador de prompts e os vários materiais educacionais que as pessoas usam.

Legal, legal. Bem, obrigado pessoal por terem vindo aqui. Vou começar com uma pergunta muito ampla, só para termos uma estrutura para o restante de nossas conversas aqui. O que é prompt engineering? Por que é engenharia? O que é prompt, realmente? Se alguém quiser começar, dê sua própria perspectiva sobre isso, sinta-se à vontade para assumir aqui.

Eu sinto que temos um prompt engineer. É o trabalho dele.

Somos todos prompt engineers em nossa própria forma.

Mas um de nós tem um emprego.

Sim. Zack, talvez já que está no seu título.

Um de nós tem um emprego, mas os outros três não têm empregos.

Eu acho que prompt engineering é tentar fazer o modelo fazer coisas, tentar tirar o máximo do modelo. Tentando trabalhar com o modelo para fazer coisas que você não teria sido capaz de fazer de outra forma. Então, muito disso é apenas comunicação clara. Acho que, no fundo, falar com um modelo é muito parecido com falar com uma pessoa. E entrar e entender a psicologia do modelo, do qual Amanda é a pessoa mais especialista do mundo.

Bem, vou continuar com você. Por que engenharia está no nome?

Sim. Acho que a parte da engenharia vem da tentativa e erro.

Ok.

Então, uma coisa muito boa sobre falar com um modelo que não é como falar com uma pessoa, é que você tem este botão de reiniciar. Este gigante volta ao quadrado zero onde você começa do início. E o que isso lhe dá a capacidade de fazer o que você não tem, é realmente começar do zero e experimentar coisas diferentes de forma independente, para que você não tenha interferência de uma para a outra. E uma vez que você tem essa capacidade de experimentar e projetar coisas diferentes, é aí que a parte de engenharia tem o potencial de entrar.

Ok. Então, o que você está dizendo é que, enquanto você está escrevendo esses prompts, você está digitando uma mensagem para o Claude ou na API ou o que quer que seja. Ser capaz de ir e vir com o modelo e iterar sobre esta mensagem, e voltar ao quadro limpo a cada vez, esse processo é a parte de engenharia. Tudo isso é prompt engineering em um só.

Há outro aspecto também, que é integrar os prompts em seu sistema como um todo. E David fez muito trabalho com clientes integrando. Muitas vezes não é tão simples quanto você escrever um prompt e dar para o modelo e pronto. Na verdade, é tudo menos isso. É muito mais complicado.

Sim. Eu penso em prompts como a maneira pela qual você programa modelos um pouco, o que o torna muito complicado. Porque eu acho que Zack está geralmente certo de que apenas falar claramente é a coisa mais importante. Mas se você pensar um pouco sobre isso como programar um modelo, você tem que pensar de onde os dados vêm, a que dados você tem acesso. Então, se você está fazendo RAG ou algo assim, o que eu realmente posso usar e fazer e passar para um modelo? Você tem que pensar sobre trade-offs em latência e quanta informação você está fornecendo e coisas assim. Há o suficiente de pensamento sistêmico que entra em como você realmente constrói em torno de um modelo. Acho que muito disso também é o núcleo do porquê talvez mereça seu próprio carve-out como algo para raciocinar separadamente de apenas um engenheiro de software ou um PM ou algo assim. É tipo seu próprio domínio de como raciocinar sobre esses modelos.

É um prompt, nesse sentido, então código de linguagem natural? É um nível mais alto de abstração ou é algo separado?

Acho que tentar ficar muito abstrato com um prompt é uma maneira de complicar demais uma coisa, porque acho que, vamos entrar nisso, mas na maioria das vezes, o que você quer fazer é apenas escrever uma descrição muito clara de uma tarefa, não tente construir abstrações malucas ou algo assim. Mas dito isso, você está compilando o conjunto de instruções e coisas assim em resultados muitas vezes. Então, precisão e muitas coisas em que você pensa com programação sobre controle de versão e gerenciamento de como era naquela época quando você tinha esse experimento. E rastrear seu experimento e coisas assim, tudo isso é tão importante quanto o código.

Sim.

Então, é estranho estar neste paradigma em que o texto escrito, como um bom ensaio que você escreveu, é algo que parece a mesma coisa que código. Mas é verdade que agora escrevemos ensaios e os tratamos como código, e acho que isso é realmente correto.

Sim. Ok, interessante. Então, talvez aproveitando isso, definimos vagamente o que é prompt engineering. Então, o que faz um bom prompt engineer? Talvez, Amanda, eu vá para você para isso, já que você está tentando contratar prompt engineers mais em um ambiente de pesquisa. Como isso parece? O que você está procurando nesse tipo de pessoa?

Sim, boa pergunta. Acho que é uma mistura de, como Zack disse, comunicação clara, então a capacidade de simplesmente declarar as coisas claramente, entender as tarefas claramente, pensar e descrever conceitos muito bem. Essa é a parte da escrita, eu acho. Na verdade, acho que ser um bom escritor não é tão correlacionado com ser um bom prompt engineer quanto as pessoas podem pensar. Então eu acho que tive essa discussão com as pessoas porque acho que há algum argumento como: "Talvez você simplesmente não deva ter o nome engineer lá dentro. Por que não é apenas escritor?" Eu costumava ser mais simpática a isso. E então, eu acho que agora estou tipo o que você está realmente fazendo, as pessoas pensam que você está escrevendo uma coisa e pronto. Então eu direi para obter um prompt semi-decente quando eu sentar com o modelo. Mais cedo, eu estava dando prompts ao modelo e eu estava tipo em um período de 15 minutos, enviarei centenas de prompts ao modelo. É só vai e vem, vai e vem, vai e vem. Então eu acho que é essa vontade de iterar e olhar e pensar o que foi mal interpretado aqui, se houver algo? E então conserte essa coisa. Então essa capacidade de iterar. Então eu diria comunicação clara, essa capacidade de iterar. Acho também que pensar em maneiras pelas quais seu prompt pode dar errado. Então, se você tem um prompt que você vai aplicar, digamos, a 400 casos, é muito fácil pensar no caso típico ao qual ele será aplicado, para ver que ele obtém a solução correta naquele caso, e então seguir em frente. Acho que este é um erro muito clássico que as pessoas cometeram. O que você realmente quer fazer é encontrar os casos em que é incomum. Então você tem que pensar no seu prompt e dizer: "Quais são os casos em que seria realmente pouco claro para mim o que eu deveria fazer neste caso?" Então, por exemplo, você tem um prompt que diz: "Vou enviar para você um monte de dados. Quero que você extraia todas as linhas em que o nome de alguém é, eu não sei, começa com a letra G." E então você está tipo: "Bem, vou enviar um conjunto de dados onde não existe tal coisa, não existe tal nome que começa com a letra G. Vou enviar algo que não é um conjunto de dados, posso também enviar uma string vazia. Estes são todos os casos que você tem que tentar, porque então você está tipo: "O que ele faz nestes casos?" E então você pode dar mais instruções sobre como ele deve lidar com esse caso.

Trabalho com clientes tão frequentemente onde você é um engenheiro, você está construindo algo. E há uma parte no seu prompt onde um cliente deles vai escrever algo.

Sim.

E todos pensam nessas coisas tão perfeitamente frases que eles acham que alguém vai digitar no chatbot deles. E na realidade, é como se eles nunca tivessem usado a tecla shift e a cada palavra é um erro de digitação.

Eles acham que é o Google.

E não há pontuação.

Eles só colocam palavras aleatórias sem pergunta.

Exatamente. Então você tem essas avaliações que são essas coisas lindamente estruturadas que seus usuários idealmente digitariam. Mas ser capaz de ir para a próxima etapa para raciocinar sobre como será seu tráfego real, o que as pessoas realmente tentarão fazer, é um nível diferente de pensamento.

Uma coisa que você disse que realmente ressoou em mim é ler as respostas do modelo. Em um contexto de aprendizado de máquina, você deve olhar para os dados. É quase um clichê como olhar para seus dados, e eu sinto que o equivalente para prompts é olhar para as saídas do modelo. Apenas lendo muitas saídas e lendo-as de perto. Como Dave e eu estávamos conversando a caminho daqui, uma coisa que as pessoas farão é colocar pensar passo a passo em seu prompt. E eles não verificarão para garantir que o modelo esteja realmente pensando passo a passo, porque o modelo pode recebê-lo de forma mais abstrata ou geral. Em vez de tipo: "Não, literalmente você tem que escrever seus pensamentos nesses marcadores específicos." Então sim, se você não estiver lendo as saídas do modelo, você pode nem perceber que está cometendo esse erro.

Sim, isso é interessante. Existe essa estranha peça de teoria da mente para ser um prompt engineer onde você tem que pensar quase sobre como o modelo vai ver suas instruções. Mas então, se você está escrevendo para um caso de uso empresarial também, você também tem que pensar sobre como o usuário vai falar com o modelo, como você é a terceira parte sentada lá naquele relacionamento estranho. Sim.

Sobre a parte da teoria da mente, uma coisa que eu diria é que é tão difícil escrever instruções para uma tarefa. É tão difícil desembaraçar em seu próprio cérebro todas as coisas que você sabe que o Claude não sabe e escrevê-las. É apenas uma coisa imensamente desafiadora remover todas as suposições que você tem e ser capaz de comunicar muito claramente o conjunto completo de informações necessárias para um modelo. Acho que essa é outra coisa que realmente diferencia um bom prompt engineer de um ruim, é tipo... Muitas pessoas simplesmente anotam as coisas que sabem. Mas eles realmente não levam tempo para sistematicamente separar o que é o conjunto real de informações que você precisa saber para entender essa tarefa?

Certo.

E essa é uma coisa muito clara que vejo muito são prompts onde é apenas condicionado. O prompt que alguém escreveu é tão condicionado à sua compreensão prévia de uma tarefa, que quando eles me mostram, eu digo: "Isso não faz sentido. Nenhuma das palavras que você escreveu faz sentido, porque eu não sei nada sobre seu caso de uso interessante." Mas acho que uma boa maneira de pensar sobre prompt engineering naquela frente e uma boa habilidade para isso, é: você realmente consegue se afastar do que sabe e se comunicar com este sistema estranho que sabe muito, mas nem tudo sobre o que precisa saber para fazer uma tarefa?

Sim. A quantidade de vezes que eu vi o prompt de alguém e então dizendo: "Eu não consigo fazer a tarefa com base neste prompt." Eu sou de nível humano e você está dando isso a algo que é pior do que eu e esperando que ele faça melhor, e eu digo: "Sim."

Sim. Existe essa coisa interessante com tipo... Os modelos atuais não fazem um bom trabalho de fazer perguntas boas e investigativas em resposta como um humano faria. Se estou dando instruções a Zack sobre como fazer algo, ele dirá: "Isso não faz sentido. O que devo fazer nesta etapa ou aqui e aqui?" O modelo não faz isso, certo, então você tem que, como você mesmo, pensar no que a outra pessoa diria e então voltar ao seu prompt e responder a essas perguntas.

Você pode pedir a ele para fazer isso.

Você pode. Isso mesmo.

Eu faço isso, sim.

Eu ia dizer uma das primeiras coisas que faço com meu prompt inicial, é que eu dou o prompt e então digo: "Eu não quero que você siga essas instruções. Eu só quero que você me diga as maneiras pelas quais elas não são claras ou qualquer ambiguidade, ou qualquer coisa que você não entenda." E nem sempre dá certo, mas é interessante que isso é uma coisa que você pode fazer. E então, às vezes, se as pessoas veem que o modelo comete um erro, a coisa que elas não fazem com frequência é simplesmente perguntar ao modelo. Então eles dizem ao modelo: "Você errou. Você pode pensar por quê? E você pode talvez escrever uma versão editada das minhas instruções que o fariam não errar?" E muitas vezes, o modelo simplesmente acerta. O modelo é tipo: "Ah, sim. Aqui está o que não estava claro, aqui está uma correção para as instruções", e então você coloca essas e funciona.

Ok. Estou realmente curioso sobre isso pessoalmente quase. É verdade que isso funciona? O modelo consegue detectar seus erros dessa forma? Quando ele erra algo, você diz: "Por que você errou isso?" E então ele lhe diz talvez algo como: "Ok, como eu poderia dizer isso a você no futuro para que você acerte?" Existe um elemento de verdade nisso? Ou é apenas uma alucinação da parte do modelo sobre quais ele pensa que são seus limites?

Acho que se você explicar a ele o que ele errou, ele pode identificar coisas na consulta às vezes. Acho que isso varia de acordo com a tarefa. Esta é uma daquelas coisas em que estou tipo, não tenho certeza de que porcentagem do tempo ele acerta, mas eu sempre tento, porque às vezes ele acerta.

E você aprende algo.

Sim. Sempre que você volta para o modelo ou vai e volta com o modelo, você aprende algo sobre o que está acontecendo. Acho que você está dando informações se você pelo menos não tentar.

Isso é interessante. Amanda, vou continuar fazendo algumas perguntas aqui. Uma coisa talvez para todos que estão assistindo a isso, é que temos esses canais do Slack na Anthropic onde as pessoas podem adicionar Claude ao canal do Slack, então você pode conversar com o Claude através dele. E Amanda tem um canal do Slack que muitas pessoas seguem de suas interações com Claude. E uma coisa que eu vejo você fazer lá sempre, o que você provavelmente faz mais do que ninguém na Anthropic, é usar o modelo para ajudá-la em uma variedade de cenários diferentes. Acho que você confia muito no modelo no ambiente de pesquisa. Estou curioso para saber como você desenvolveu essas intuições sobre quando confiar no modelo. É apenas uma questão de uso, experiência ou é algo mais?

Acho que eu nunca confio no modelo e então eu simplesmente martelo nele. Então acho que a razão pela qual você me vê fazendo isso muito, é que isso é eu sendo tipo: "Posso confiar em você para fazer essa tarefa?" Porque existem algumas coisas, os modelos são meio estranhos. Se você sair um pouco da distribuição, você simplesmente entra em áreas onde eles não foram treinados ou são incomuns. Às vezes você está tipo: "Na verdade, você é muito menos confiável aqui, mesmo que seja uma tarefa bastante simples." Acho que isso está acontecendo cada vez menos com o tempo à medida que os modelos melhoram, mas você quer ter certeza de que não está nesse tipo de espaço. Então, sim, eu não acho que confio nele por padrão, mas acho que em ML, as pessoas geralmente querem olhar para conjuntos de dados realmente grandes. E eu digo: "Quando faz sentido fazer isso?" E acho que a resposta é quando você obtém um sinal relativamente baixo de cada ponto de dados, você quer olhar para muitos, muitos pontos de dados, porque você basicamente quer se livrar do ruído. Com muitas tarefas de prompt, acho que você realmente obtém um sinal muito alto de cada consulta. Então, se você tem um conjunto muito bem construído de algumas centenas de prompts, acho que isso pode ser muito mais sinal do que milhares que não são tão bem elaborados. Então eu acho que posso confiar no modelo se eu olhar para 100 saídas dele e for realmente consistente. E eu sei que eu os construí basicamente para descobrir todos os casos extremos e todas as coisas estranhas que o modelo pode fazer, entradas estranhas, etc. Eu confio nisso provavelmente mais do que um conjunto muito mais frouxamente construído de vários milhares.

Acho que em ML, muitas vezes os sinais são números. Você previu esta coisa corretamente ou não? E estaria olhando para os logprobs de um modelo e tentando intuir as coisas, o que você pode fazer, mas é meio esquisito. Sinto que o fato de os modelos emitirem na maioria das vezes muitas coisas como palavras e coisas. Há simplesmente fundamentalmente muito a aprender entre as linhas do que ele está escrevendo e por que e como, e isso faz parte do que é. Não é apenas se ele acertou a tarefa ou não? É tipo: "Como ele chegou lá? Como ele estava pensando nisso? Que etapas ele passou?" Você aprende muito sobre o que está acontecendo, ou pelo menos você pode tentar ter uma ideia melhor, eu acho. Mas é aí que muitas informações vêm para mim, lendo os detalhes do que saiu, não apenas pelo resultado.

Acho também que o melhor do prompting pode fazer a diferença entre um experimento falho e um bem-sucedido. Então, às vezes eu fico irritado se as pessoas não se concentram o suficiente no componente de prompting de seu experimento, porque eu digo: "Isso pode, de fato, ser a diferença entre 1% de desempenho no modelo ou 0,1%." De tal forma que seu experimento não tem sucesso se estiver no desempenho do modelo top 5%, mas tem sucesso se estiver no top 1% ou no top 0,1%. E então eu digo: "Se você vai passar tempo codificando seu experimento muito bem, mas depois não vai passar tempo no prompt." Eu não sei. Isso não faz sentido para mim, porque isso pode ser a diferença entre a vida e a morte do seu experimento.

Sim. E com a implantação também, é tão fácil, "Oh, não podemos enviar isso." E então você altera o prompt e de repente está funcionando.

Sim.

É uma espada de dois gumes, porém, porque sinto que há um pouco de prompting em que sempre há esse prompt mítico melhor que vai resolver minha coisa no horizonte.

Sim.

Vejo muitas pessoas presas no prompt mítico no horizonte, que se eu apenas continuar moendo, continuar moendo. Nunca é ruim moer um pouco em um prompt, como conversamos, você aprende coisas. Mas é uma das coisas assustadoras sobre prompting é que existe todo um mundo de desconhecido.

Que heurísticas vocês têm para quando algo é possível ou não possível com um prompt perfeito, seja lá o que isso possa ser?

Acho que geralmente estou verificando se o modelo entende. Então, acho que para coisas em que simplesmente não acho que um prompt vai ajudar, há um pouco de trabalho. Mas muitas vezes, simplesmente fica muito claro que não está perto ou algo assim. Sim. Eu não sei se é um estranho onde eu estou tipo: "Sim, se o modelo simplesmente não consegue fazer algo, eu não vou trabalhar muito nele."

Esta é a parte que você pode evocar como ele está pensando sobre isso, e você pode perguntar a ele como ele está pensando sobre isso e por quê. E você pode obter um

Sentido de, é isso que está pensando, certo? Estamos sequer no CEP certo para isso estar certo? E você pode ter um pouco de uma ajoelhada naquela frente de, pelo menos, eu sinto que estou progredindo em direção a algo mais próximo do certo. Onde há apenas algumas tarefas em que você realmente não chega mais perto do processo de pensamento. É como se cada ajuste que você fizer desviasse em uma direção completamente diferente, muito errada, e eu simplesmente tendo a abandonar aquelas. Não sei. - Essas são tão raras agora, porém, e eu fico realmente com raiva do modelo quando as descubro, porque é assim tão raras que elas são. Eu fico furioso. Eu fico tipo, "Como você ousa haver uma tarefa que você não pode simplesmente fazer, se eu apenas te empurrar na direção certa?" - Eu tive minha coisa com o Claude jogando Pokemon recentemente, e essa foi uma das raras vezes em que eu realmente... - Sim, você pode explicar isso? Explique isso apenas para as pessoas. Acho isso muito legal.

Fiz um pequeno experimento onde conectei o Claude a um emulador de Game Boy e tentei fazê-lo jogar o jogo Pokemon Red, como o Pokemon OG. E é como se você pensasse o que quer fazer e pudesse escrever algum código para pressionar botões e coisas assim, bem básico. E tentei um monte de layouts de prompts muito complexos, mas você simplesmente chega a certos pontos em que ele simplesmente não consegue fazer isso. Então, mostrando a ele uma captura de tela de um Game Boy, ele simplesmente não conseguiu fazer. E simplesmente tão profundamente porque estou tão acostumado a ele, sendo capaz de fazer algo principalmente. Então passei um fim de semana inteiro tentando escrever prompts cada vez melhores para fazê-lo realmente entender essa tela do Game Boy. E eu melhorei incrementalmente de modo que era apenas terrível em vez de nenhum sinal. Você poderia ir de nenhum sinal para algum sinal. Mas foi, não sei, pelo menos isso foi suscitado para mim. Uma vez que eu coloquei um fim de semana de tempo e eu fui de nenhum sinal para algum sinal, mas nada perto de bom o suficiente, eu sou como, "Eu vou apenas esperar pelo próximo. (Alex rindo) Eu vou apenas esperar por outro modelo." Eu poderia trabalhar nisso por quatro meses, e a coisa que sairia seria outro modelo e essa é uma melhor utilização do meu tempo. Apenas sente e espere para fazer algo mais enquanto isso.

- Sim. Essa é uma tensão inerente que vemos o tempo todo, e talvez possamos chegar a isso em um segundo. Zack, se você quiser ir. - Algo que eu gostei no seu prompt com Pokemon, onde você obteve o melhor que conseguiu, foi a maneira como você explicou ao modelo que está no meio deste jogo Pokemon. Aqui está como as coisas serão representadas. Eu acho que você realmente representou de duas maneiras diferentes, certo?

- Eu fiz. Então o que eu acabei fazendo, foi desagradável, mas eu sobrepus uma grade sobre a imagem, e então eu tive que descrever cada segmento da grade em detalhes visuais. Então eu tive que reconstruir isso em um mapa ASCII e eu dei a ele o máximo de detalhes que pude. O personagem do jogador está sempre na localização 4, 5 na grade e coisas assim, e você pode lentamente construir informações. Acho que é muito parecido com prompts, mas eu simplesmente não tinha feito isso com imagens antes. Onde às vezes minha intuição para o que você precisa dizer a um modelo sobre texto é muito diferente do que você precisa dizer a um modelo sobre imagens.

- Sim.

- Descobri que um número surpreendentemente pequeno das minhas intuições sobre texto foram transferidas para imagens. Descobri que prompts multi-shot não são tão eficazes para imagens e texto. Não tenho certeza, você pode ter explicações teóricas sobre o porquê. Talvez haja alguns deles nos dados de treinamento, alguns exemplos disso.

- Sim. Eu sei que quando estávamos fazendo as explorações originais com prompts multimodais, realmente não conseguíamos fazê-lo funcionar notavelmente. Você simplesmente não consegue melhorar a acuidade visual real de Claude em termos do que ele capta dentro de uma imagem. Alguém aqui tem alguma maneira que eles não viram esse recurso. Mas parece que é semelhante com a coisa do Pokemon, onde está tentando interpretar essa coisa. Não importa quantos prompts você jogue nele, ele simplesmente não vai pegar aquele Ash que está naquele local.

- Sim. Mas eu acho que para ser visceral sobre isso, eu poderia eventualmente conseguir que ele pudesse me dizer com mais frequência onde estava uma parede, e com mais frequência me dizer onde estava o personagem. Estaria um pouco fora. Mas então você chega a um ponto, e isso talvez esteja voltando a saber quando você não consegue fazer isso. Ele descreveria um NPC, e para jogar um jogo bem, você precisa ter um certo senso de continuidade. Já falei com este NPC antes? E sem isso, você realmente não, não há nada que você possa fazer. Você vai continuar falando com o NPC, porque tipo, "Bem, talvez este seja um NPC diferente." Mas eu tentaria muito fazê-lo descrever um NPC e é como, "É uma pessoa." Eles podem estar usando um chapéu, eles não estavam usando um chapéu. E é como se você trabalhasse por um tempo, inflasse-o para 3000X e apenas corte-o apenas para o NPC, e é como, "Eu não tenho ideia do que isso é." É como se eu mostrasse a ele essa coisa clara de NPC feminino várias vezes e ele simplesmente não chegou perto disso, e é como, "Sim, essa é uma causa completamente perdida."

- Nossa, ok.

- Eu realmente quero tentar isso agora. Estou apenas imaginando todas as coisas que eu tentaria. Não sei, eu quero que você imagine essa arte de jogo como um humano real e apenas me descreva como eles são. Como eles eram quando se olhavam no espelho? E então apenas veja o que o modelo faz.

- Eu tentei muitas coisas. O prompt eventual estava dizendo ao Claude que era um leitor de tela para um cego, o que eu não sei se ajudou, mas pareceu certo, então eu continuei com isso.

- Esse é um ponto interessante. Eu realmente quero entrar nisso um pouco porque esta é uma das dicas de prompt mais famosas, é dizer ao modelo de linguagem que eles são alguma persona ou algum papel. Eu sinto que vejo resultados mistos. Talvez isso tenha funcionado um pouco melhor em modelos anteriores e talvez não tanto mais. Amanda, eu vejo você o tempo todo ser muito honesta com o modelo sobre toda a situação, como, "Oh, eu sou uma pesquisadora de IA e estou fazendo esse experimento."

- Eu direi a ele quem eu sou.

- Sim.

- Eu darei a ele meu nome, tipo, "Aqui está com quem você está falando."

- Certo. Você acha que esse nível de honestidade, em vez de mentir para o modelo ou forçá-lo a gostar, "Vou te dar US$ 500." Existe um método preferido aí, ou apenas qual é sua intuição sobre isso?

- Sim. Acho que à medida que os modelos são mais capazes e entendem mais sobre o mundo, eu acho, eu simplesmente não vejo como necessário mentir para eles. Eu também não gosto de mentir para os modelos apenas porque eu não gosto de mentir geralmente. Mas parte de mim é se você está, digamos, construindo. Suponha que você esteja construindo um conjunto de dados de avaliação para um sistema de aprendizado de máquina ou para um modelo de linguagem. Isso é muito diferente de construir um teste para algumas crianças. Então, quando as pessoas fariam coisas como, "Eu sou um professor tentando descobrir perguntas para um teste." Eu sou como, "O modelo sabe o que são avaliações de modelos de linguagem." Se você perguntar a ele sobre diferentes avaliações, ele pode lhe dizer, e ele pode lhe dar exemplos inventados de como eles são. Porque essas coisas são como se elas entendessem, elas estão na internet. Então eu sou como, "Eu prefiro muito apenas direcionar a tarefa real que eu tenho." Então, se você for como, "Eu quero que você construa perguntas que se pareçam muito com uma avaliação de um modelo de linguagem." É toda essa coisa de comunicação clara. Eu sou como, "Essa é, de fato, a tarefa que eu quero fazer. Então por que eu fingiria para você que quero fazer alguma tarefa não relacionada, ou apenas tangencialmente relacionada?" E então espere que você de alguma forma faça melhor na tarefa que eu realmente quero que você faça. Nós não fazemos isso com funcionários. Eu não iria para alguém que trabalhava comigo e dizer, "Você é um professor e está tentando testar seus alunos." Eu diria, "Ei, você está fazendo essa avaliação?" Não sei. Então eu acho que talvez seja uma heurística de lá onde eu sou como, "Se eles entendem a coisa, apenas peça a eles para fazerem a coisa que você quer."

- Eu vejo isso muito.

- Acho que para recuar um pouco, encontrei casos em que não exatamente mentir, mas dar uma metáfora de como pensar sobre isso poderia ajudar. Da mesma forma que às vezes eu não entendo como fazer algo e alguém diz, "Imagine que você estivesse fazendo isso, mesmo que eu saiba que não estou fazendo." A que me vem à mente é que eu estava tentando fazer o Claude dizer se uma imagem de um gráfico era boa ou não. É de alta qualidade? E o melhor prompt que encontrei para isso foi perguntar ao modelo que nota ele daria ao gráfico, se fosse apresentado como uma tarefa do ensino médio. Então não é exatamente dizer, "Você é um professor do ensino médio." É mais como, "Este é o tipo de análise que estou procurando de você." A escala que um professor usaria é semelhante à escala que eu quero que você use.

- Mas acho que essas metáforas são muito difíceis de ainda surgir. Acho que as pessoas ainda, o padrão que você vê o tempo todo é encontrar algum fac-símile da tarefa. Algo que é uma tarefa muito semelhante, como dizer que você é um professor. Você realmente perde muito na nuance do que seu produto é. Eu vejo isso muito em prompts empresariais onde as pessoas escrevem algo semelhante, porque elas têm essa intuição de que é algo que o modelo viu mais, talvez. Ele viu mais testes do ensino médio do que avaliações de LLM, e isso pode ser verdade. Mas, ao seu ponto, à medida que os modelos melhoram, acho que apenas tentar ser muito prescritivo sobre exatamente a situação em que eles estão. Eu dou esse conselho às pessoas o tempo todo. O que não quer dizer que eu não ache que na medida em que é verdade que pensar sobre isso da maneira como alguém classificaria um gráfico, como eles classificariam um gráfico do ensino médio, talvez isso seja verdade. Mas é estranhamente o atalho que as pessoas usam muitas vezes para tentar obter o que acontece, então tentarei obter alguém com quem eu possa realmente conversar porque acho que é algo interessante. Então, escrever que você é um assistente útil, escrevendo um rascunho de um documento, não é exatamente o que você é. Você está neste produto, então me diga. Se você está escrevendo um assistente que está em um produto, me diga que estou no produto. Me diga que estou escrevendo em nome desta empresa, estou integrado a este produto. Eu sou a janela de bate-papo de suporte naquele produto. Você é um modelo de linguagem, você não é um humano, tudo bem. Mas apenas ser muito prescritivo sobre o contexto exato de onde algo está sendo usado. Encontrei muito disso. Porque eu acho que minha preocupação mais frequente com prompts de papel é que as pessoas o usavam como um atalho de uma tarefa semelhante que querem que o modelo faça. E então eles ficam surpresos quando Claude não faz sua tarefa direito, mas não é a tarefa. Você disse a ele para fazer outra tarefa. E se você não deu a ele os detalhes sobre sua tarefa, sinto que você está deixando algo de lado. Então eu não sei, parece uma coisa embora ao seu ponto de como os modelos escalam. Talvez no passado fosse verdade que eles só tinham um forte entendimento de testes do ensino fundamental comparativamente. Mas à medida que eles ficam mais inteligentes e podem diferenciar mais tópicos, não sei, apenas sendo claro.

- Acho interessante que eu nunca usei essa técnica de prompt.

- Sim, isso é engraçado.

- Mesmo com modelos piores e eu ainda não me encontro, não sei porquê. Eu sou apenas como, "Eu não acho isso muito bom essencialmente."

- Interessante.

- Eu sinto que os modelos da era de conclusão, havia um pouco de um modelo mental de condicionar o modelo em um espaço latente que era útil que eu me preocupava, que eu não me preocupo muito mais.

- Pode ser intuições de modelos pré-treinados para modelos RLHF, que para mim, simplesmente não faziam sentido. Faz sentido para mim se você estiver solicitando um pré-treinado.

- Você ficaria surpreso com quantas pessoas tentam aplicar suas intuições. Acho que não é tão surpreendente. A maioria das pessoas não experimentou totalmente o que é um modelo pré-treinado? O que acontece depois que você faz SL? O que acontece depois que você faz RLHF, seja lá o que for? Então, quando eu converso com clientes, é o tempo todo que eles estão tentando mapear alguma quantidade de, "Oh, quanto disso estava na internet? Eles viram muito disso na internet?" Você apenas ouve essa intuição muito, e acho que é bem fundamentada fundamentalmente. Mas é super aplicado quando você chega a um prompt, por causa do que você disse. Quando eles passaram por todas essas outras coisas, isso não é exatamente o que está sendo modelado.

- Sim. A primeira coisa que eu sinto que você deve tentar é, eu costumava dar às pessoas esse experimento mental onde é como imaginar que você tem essa tarefa. Você contratou uma agência de trabalho temporário para enviar alguém para fazer essa tarefa. Essa pessoa chega, você sabe que ela é bastante competente. Eles sabem muito sobre sua indústria e assim por diante, mas eles não sabem o nome da sua empresa. Eles literalmente acabaram de aparecer e são como, "Ei, disseram que vocês tinham um trabalho para mim fazer, me contem sobre isso." E então é como, "O que você diria a essa pessoa?" E você pode usar essas metáforas. Você pode dizer coisas como, "Nós queremos que você detecte gráficos bons. O que queremos dizer com um gráfico bom aqui é que não precisa ser perfeito. Você não precisa verificar se todos os detalhes estão corretos." Ele só precisa ter seus eixos rotulados, e então pense em talvez um gráfico bom de nível de ensino médio. Você pode dizer exatamente isso àquela pessoa e você não está dizendo a eles, "Você é um aluno do ensino médio." Você não diria isso a eles. Você não seria como, "Você é um professor do ensino médio lendo gráficos."

- Do que você está falando?

- Sim, então às vezes eu sou apenas como se fosse o todo se eu lesse. Eu sou apenas como, "Sim. Imagine essa pessoa que tem muito pouco contexto, mas é bastante competente. Eles entendem muitas coisas sobre o mundo." Tente a primeira versão que realmente assume que eles podem saber coisas sobre o mundo, e se isso não funcionar, você pode talvez fazer ajustes e coisas assim. Mas tão frequentemente, a primeira coisa que eu tento é isso, e então eu sou como, "Isso simplesmente funcionou."

- Funcionou.

- E então as pessoas são como, "Oh, eu não pensei em simplesmente dizer tudo sobre mim e sobre a tarefa que quero fazer."

- Eu carreguei essa coisa que o Alex me disse para tantos clientes onde eles são como, "Oh, meu prompt não funciona. Você pode me ajudar a consertá-lo?" Eu sou como, "Bem, você pode me descrever qual era a tarefa?" E eu sou como, "Ok. Agora o que você acabou de me dizer, apenas grave isso e depois transcreva-o." E então cole no prompt e é um prompt melhor do que o que você escreveu, mas este é um atalho de preguiça, eu acho, até certo ponto. Porque as pessoas escrevem algo que elas... Eu apenas acho que as pessoas, eu sou preguiçosa. Muitas pessoas são preguiçosas.

- Nós tivemos isso na assistência de prompt outro dia onde alguém era como, "Aqui está a coisa, aqui está o que eu quero que ele faça, e aqui está o que ele está realmente fazendo em vez disso." Então eu simplesmente copiei a coisa que eles disseram que queriam que ele fizesse e colei e funcionou.

- Sim. Acho que muitas pessoas ainda não entenderam totalmente o que realmente estão fazendo quando estão solicitando. Muitas pessoas veem uma caixa de texto e pensam que é uma caixa de pesquisa do Google. Eles digitam palavras-chave e talvez isso seja mais do lado do bate-papo. Mas então, do lado empresarial, você está escrevendo um prompt para um aplicativo. Ainda existe essa coisa estranha nisso onde as pessoas estão tentando usar todos esses pequenos atalhos em seu prompt e apenas pensando que, "Oh, essa linha tem muito peso nisso."

- Sim. Acho que você fica obcecado em obter a linha perfeita de informações e instruções, em vez de como você acabou de descrever aquela coisa do gráfico. Seria um sonho se eu lesse prompts assim. Se alguém disser: "Bem, você faz isso e isso, e há algumas coisas a serem consideradas sobre isso e tudo isso." Mas não é assim que as pessoas escrevem prompts. Eles trabalham muito para encontrar o perfeito, perspicaz. Um gráfico perfeito se parece exatamente com essa coisa perfeita exata, e você não pode fazer isso. É muito difícil escrever esse conjunto de instruções de forma prescritiva, em vez de como realmente conversamos com os humanos sobre isso, que é tentar incutir uma certa quantidade das intuições que você tem.

- Também damos a eles saídas. Esta é uma coisa que as pessoas costumam esquecer nos prompts. Então, em casos, se houver um caso de borda, pense no que você quer que o modelo faça. Porque, por padrão, ele tentará seguir suas instruções da melhor maneira, assim como a pessoa da agência de trabalho temporário faria, porque eles são como, "Bem, eles não me disseram como entrar em contato com ninguém." Se eu receber apenas uma foto de uma cabra e eu for como, "O que eu faço? Isso nem é um gráfico. Quão boa é uma foto de uma cabra como um gráfico?" Eu simplesmente não sei. E se você disser algo como, "Se algo estranho acontecer e você não tiver certeza do que fazer, apenas saia em tags incertas." Então você pode verificar as incertezas que você obteve e dizer, "Ok, legal. Não aconteceu nada de estranho." Enquanto isso, por padrão, se você não der à pessoa a opção, eles são como, "É um bom gráfico." Então as pessoas dirão, "Como eu faço isso?" E então você é como, "Bem, dê a ele uma saída. Dê a ele algo a fazer se uma entrada realmente inesperada acontecer."

- E então você também melhorou a qualidade dos seus dados fazendo isso também, porque você encontrou todos os exemplos estragados.

- Ah, sim.

- Essa é a minha coisa favorita sobre iterar em testes com Claude, é que o resultado mais comum é que eu encontro todos os testes terríveis que acidentalmente escrevi porque ele erra. Eu sou como, "Oh, por que ele errou?" Eu era como, "Oh, eu estava errado."

- Sim.

- Sim. - Se eu fosse uma empresa trabalhando com isso, eu acho que eu apenas daria meus prompts para as pessoas, porque eu costumava fazer isso quando estava avaliando modelos de linguagem. Eu mesmo faria a avaliação. Porque eu sou como, "Eu preciso saber como essa avaliação é se vou estar classificando, tendo modelos fazendo isso, pensando em saídas, etc." Eu realmente apenas configuraria um pequeno script e eu simplesmente sentaria e faria a avaliação.

- Hoje em dia, você simplesmente chamou o aplicativo Streamboard para você.

- E simplesmente faz isso, sim.

- Sim. Eu me lembro do ImageNet do Karpathy. Eu estava em 231 em Stanford e é como benchmarking, ele está mostrando o número de precisão. E ele é como, "E aqui está o meu número de precisão." E ele havia simplesmente passado pelo conjunto de teste e se avaliado.

- Ah, sim.

- Você simplesmente aprende muito.

- Sim, totalmente.

- E é melhor quando é uma, novamente, a pessoa da agência de trabalho temporário, como alguém que não conhece a tarefa, porque essa é uma maneira muito limpa de aprender coisas.

- Sim. A maneira como você tem que fazer é que algumas avaliações vêm com instruções, então eu me daria essas instruções também e então tentaria entender. E é realmente ótimo se você não tem contexto sobre como é classificado. E, muitas vezes, eu faria muito pior do que o benchmark humano e eu era como, "Eu nem sei como você conseguiu que os humanos fizessem isso bem nessa tarefa, porque aparentemente o nível humano aqui é 90%, e eu estou em 68%."

- Isso é engraçado. Isso me lembra de apenas quando você olha para as perguntas MMLU e você é como, "Quem seria capaz de responder a essas?" É apenas lixo absoluto em algumas delas. Ok. Eu tenho uma coisa que quero voltar a que estávamos falando algumas perguntas atrás, acho que você estava dizendo obter sinal das respostas. Há muito lá e é mais do que apenas um número, e você pode realmente ler no quase processo de pensamento. Aposto que isso provavelmente é um pouco contencioso talvez em torno do raciocínio em cadeia. Para as pessoas que estão ouvindo, raciocínio em cadeia, este processo de fazê-los realmente explicar seu raciocínio antes de fornecer uma resposta. Esse raciocínio é real ou é apenas como um espaço de espera para o modelo fazer o cálculo? Nós realmente achamos que há um bom sinal perspicaz que estamos obtendo disso?

Modelo lá? - Esta é uma das coisas com que eu luto. Normalmente sou meio a favor da personificação, porque acho que ajuda a obter fac-símiles decentes, ideias de como o modelo está funcionando. E esta, eu acho que é prejudicial, quase, entrar muito na personificação do que é o raciocínio, porque simplesmente se perde o fio da meada do que estamos tentando fazer aqui. É raciocínio ou não? Parece quase uma pergunta diferente de qual é a melhor técnica de prompt? É como se você estivesse entrando em filosofia, no que podemos entrar.

- Sim, temos um filósofo.

- Sim. Eu ficarei feliz em ser rebaixado por um filósofo de verdade enquanto tento especular sobre isso, mas, em vez disso, funciona. Seu modelo funciona melhor. O resultado é melhor se você fizer o raciocínio. Acho que descobri que, se você estruturar o raciocínio e ajudar a iterar com o modelo sobre como ele deve fazer o raciocínio, ele também funciona melhor. Seja ou não isso raciocínio ou como você queria classificá-lo, você pode pensar em todos os tipos de proxies para como eu também faria muito mal se tivesse que fazer matemática de uma só vez sem escrever nada. Talvez isso seja útil, mas tudo o que eu realmente sei é que obviamente ajuda. Eu não sei.

- Uma forma de testar seria se você tirar todo o raciocínio que ele fez para chegar à resposta correta e, em seguida, substituí-lo por um raciocínio um tanto realista que levou a uma resposta errada, e então ver se ele chega à conclusão errada. Acho que nós realmente tivemos um artigo onde fizemos um pouco disso. Havia o bloco de notas. Era como os Agentes Dorminhocos.

- Ah, ok. Artigos de alinhamento.

- Mas acho que foi uma situação estranha. Mas definitivamente o que você disse sobre estruturar o raciocínio e escrever um exemplo de como o raciocínio funciona. Dado que isso ajuda, se usamos a palavra raciocínio ou não, não acho que seja apenas um espaço para computação.

- Então há algo lá.

- Acho que há algo lá, seja lá o que quisermos chamar.

- Sim. Fazê-lo escrever uma história antes de terminar uma tarefa, não acho que funcionaria tão bem.

- Na verdade, eu tentei isso e não funcionou tão bem quanto o raciocínio.

- Claramente, a parte do raciocínio real está fazendo algo em direção ao resultado.

- Eu tentei coisas como: "Repita as palavras um e ah em qualquer ordem que quiser por 100 tokens e depois responda".

- Sim. Acho que essa é uma derrota bem completa de que é apenas mais espaço computacional onde ele pode fazer atenção repetidamente. Não acho que seja apenas mais atenção, como fazer mais atenção.

- Acho que a coisa estranha é, e eu não tenho um exemplo na ponta da língua para apoiar isso. Mas eu definitivamente vi isso antes, onde ele apresenta passos, um dos passos está errado, mas então ele ainda chega à resposta correta no final. Então não é bem, eu acho que sim, nós realmente não podemos personificá-lo como um raciocínio, porque há algum elemento nele fazendo algo ligeiramente diferente.

- Sim. Eu também conheci muitas pessoas que fazem passos inconsistentes de raciocínio.

- Acho que isso é verdade.

- Isso fundamentalmente derrota o tópico do raciocínio ao fazer um passo falso no caminho.

- Tudo bem, é interessante. Além disso, sobre talvez esta rodada de perguntas sobre equívocos de prompts. Zack, eu sei que você tem opiniões fortes sobre isso, boa gramática, pontuação.

- Oh, tenho?

- Isso é necessário em um prompt? Você precisa disso? Você precisa formatar tudo corretamente?

- Eu geralmente tento fazer isso porque acho divertido, eu acho, de alguma forma. Eu não acho que você necessariamente precise. Eu não acho que isso prejudique. Acho que é mais que você deve ter o nível de atenção aos detalhes que o levaria a fazer isso naturalmente. Se você estiver apenas relendo seu prompt muitas vezes, provavelmente notará essas coisas e poderá corrigi-las. E como Amanda estava dizendo, que você quer colocar tanto amor no prompt quanto no código. Pessoas que escrevem muito código têm opiniões fortes sobre coisas das quais eu não poderia me importar menos. Como o número de tabulações versus espaços, ou eu não sei, opiniões sobre quais linguagens são melhores. E para mim, eu tenho crenças opinativas sobre o estilo de prompts. Eu nem consigo dizer se estão certas ou erradas, mas acho que provavelmente é bom tentar adquiri-las, mesmo que sejam arbitrárias.

- Eu me sinto pessoalmente atacado, porque eu definitivamente tenho prompts que são como se eu estivesse no extremo oposto do espectro onde as pessoas verão meus prompts. E então dizem: "Isso tem um monte de erros de digitação". E eu digo: "O modelo sabe o que eu quero dizer".

- Sabe, sabe o que você quer dizer, mas você está se esforçando, você está apenas se concentrando em coisas diferentes.

- Porque parte de mim é como, eu acho que se é conceitualmente claro, eu sou grande, eu vou pensar muito nos conceitos e nas palavras que estou usando. Então, definitivamente há um tipo de cuidado que eu coloco. Mas definitivamente não é para, sim, as pessoas simplesmente apontam erros de digitação e problemas gramaticais com meus prompts o tempo todo. Agora sou muito bom em verificar essas coisas com mais regularidade.

- É por causa da pressão do mundo exterior ou porque é realmente o que você acha que está certo?

- É pressão de mim mesmo.

- Sim, provavelmente é pressão do mundo exterior. Eu acho que faz sentido. Parte de mim é como se fosse uma verificação tão fácil, então eu acho que para um prompt final eu faria isso. Mas ao longo da iteração, eu felizmente irei iterar com prompts que têm um monte de erros de digitação, só porque eu sou como, "Eu simplesmente não acho que o modelo vai se importar".

- Isso chega à questão do modelo pré-treinado versus RLHF, porque eu estava conversando com Zack no caminho. A probabilidade condicional de um erro de digitação com base em um erro de digitação anterior nos dados de pré-treinamento é muito maior.

- Ah, sim.

- Promover modelos de pré-treinamento é uma besta diferente.

- É, mas é interessante. Acho que é uma ilustração interessante de por que suas intuições, como tentar aplicar demais as intuições de um modelo pré-treinado às coisas que realmente estamos usando em produção não funcionam muito bem. Porque, novamente, se você passasse um de seus prompts cheios de erros de digitação para um modelo pré-treinado, a coisa que sairia do outro lado, quase com certeza seria cheia de erros de digitação.

- Certo.

- Eu gosto de aproveitar isso para criar entradas cheias de erros de digitação.

- Isso é verdade. Eu fiz isso.

- Como você está dizendo, tente antecipar o que seus clientes colocarão. O modelo pré-treinado é muito melhor em fazer isso. Porque os modelos RL são muito polidos e eles realmente nunca cometeram um erro de digitação em suas vidas.

- Eles foram instruídos de forma bastante agressiva a não fazer a coisa do erro de digitação.

- Sim. Ok, então isso é realmente uma transição interessante aqui. Eu definitivamente mencionei isso para pessoas no passado para tentar ajudar as pessoas a entenderem uma estrutura de falar com esses modelos em um sentido quase como um imitador até certo ponto. E isso pode ser muito mais verdadeiro para um modelo pré-treinado do que para um modelo pós-treinado, totalmente finalizado, mas há algo nisso? Se você conversar com o Claude e usar um monte de emojis e tudo mais, ele responderá de forma semelhante, certo? Então talvez parte disso esteja lá, mas como você está dizendo, não é totalmente como um modelo pré-treinado.

- Está apenas deslocado para o que você quer. Acho que naquele ponto, é como tentar adivinhar o que você... Mais ou menos treinamos os modelos para adivinhar o que você quer que eles façam.

- Interessante.

- Ou depois que fazemos todas as nossas coisas sofisticadas após o pré-treinamento.

- Os trabalhadores humanos que usaram emojis preferem obter respostas com emojis.

- Sim. Amanda escreve coisas com erros de digitação, mas não quer erros de digitação do outro lado, e Claude é muito bom em descobrir isso. Se você escrever um monte de emojis para Claude, provavelmente você também quer um monte de emojis de volta de Claude. Isso não é surpreendente para mim.

- Sim. Isso provavelmente é algo que deveríamos ter feito antes, mas farei agora. Vamos esclarecer talvez as diferenças entre o que é um prompt empresarial ou um prompt de pesquisa, ou um prompt de bate-papo geral no Claude.ai. Zack, você abrangeu todo o espectro aqui em termos de trabalho com clientes e pesquisa. Você quer apenas explicar o que eles significam?

- Sim, eu acho. Isso parece muito, você está me atingindo com todas as perguntas difíceis.

- Sim. (rindo)

- Bem, as pessoas nesta sala, eu penso nisso como os prompts que eu li no canal Claude da Amanda versus os prompts que eu li o David escrever. Eles são muito semelhantes no sentido de que o nível de cuidado e nuance que é colocado neles. Acho que para pesquisa, você está procurando variedade e diversidade muito mais. Então, se eu pudesse resumir a uma coisa, é como se eu tivesse notado que Amanda não é a maior fã de ter muitos exemplos, ou um ou dois exemplos. Muito poucos, porque o modelo vai se fixar neles. E nos prompts que eu posso escrever ou que vi o David escrever, temos muitos exemplos. Eu gosto de simplesmente enlouquecer e adicionar exemplos até que eu sinta que estou prestes a morrer, porque eu adicionei tantos deles. E acho que isso é porque quando você está em um aplicativo de consumo, você realmente valoriza a confiabilidade. Você se importa muito com o formato, e tudo bem se todas as respostas forem as mesmas. Na verdade, você quase quer que elas sejam as mesmas de muitas maneiras, não necessariamente você quer ser responsivo aos desejos do usuário. Enquanto muitas vezes, quando você está solicitando uma pesquisa, você está tentando realmente aproveitar a gama de possibilidades que o modelo pode explorar. E ao ter alguns exemplos, você está realmente restringindo isso um pouco. Então eu acho que apenas no nível de como os prompts parecem, essa é provavelmente a maior diferença que notei é quantos exemplos existem no prompt, o que não quer dizer que eu nunca vi você escrever um prompt com exemplos. Mas isso parece verdadeiro para você?

- Sim. Acho que quando dou exemplos, muitas vezes tento fazer os exemplos não serem como os dados que o modelo vai ver, então eles são intencionalmente ilustrativos. Porque se o modelo, se eu der a ele exemplos que são muito parecidos com os dados que ele vai ver, eu apenas acho que ele vai me dar uma resposta muito consistente que pode não ser realmente o que eu quero. Porque meus dados em que estou executando podem ser extremamente variados, então eu não quero que ele simplesmente tente me dar essa saída muito rotineira. Muitas vezes, eu quero que seja muito mais responsivo. É muito mais como tarefas cognitivas, essencialmente, onde eu digo: "Você tem que ver esta amostra e realmente pensar nesta amostra qual era a resposta certa". Então isso significa que às vezes eu realmente tomarei exemplos que são muito distintos daqueles em que vou executá-lo. Então, se eu tiver uma tarefa em que, digamos, eu estivesse tentando extrair informações de documentos factuais. Eu poderia realmente dar a ele exemplos que são de algo que soa como uma história infantil. Apenas para que eu quero que você entenda a tarefa, mas eu não quero que você se prenda muito às palavras que eu uso ou ao formato muito específico. Eu me importo mais com você entendendo a coisa real que eu quero que você faça, o que pode significar que eu não acabo dando, em alguns casos, há alguns casos em que isso não é verdade. Mas se você quiser mais flexibilidade e diversidade, você vai usar exemplos ilustrativos em vez de concretos. Você provavelmente nunca vai colocar palavras na boca do modelo. Eu não gostei disso há muito tempo, no entanto. Eu não faço exemplos de poucos tiros envolvendo o modelo tendo feito uma coisa. Acho que essa intuição também vem do pré-treinamento de uma forma que não parece ser verdadeira para os modelos RLHF. Então sim, eu acho que essas são as diferenças.

- A única coisa que eu adicionaria, muitas vezes, se você estiver solicitando, como se eu estiver escrevendo prompts para usar no Claude.ai, é como se eu estivesse iterando até conseguir certo uma vez. Então está fora da janela, estou bem, eu fiz isso. Enquanto a maioria dos prompts corporativos, é como se você fosse usar essa coisa um milhão de vezes ou 10 milhões de vezes, ou 100 milhões de vezes ou algo assim. Então o cuidado e o pensamento que você coloca está testando contra toda a gama de coisas, como maneiras que isso poderia ser usado e a gama de dados de entrada. Enquanto muito do meu tempo, é como pensar em uma coisa específica que eu quero que o modelo faça agora.

- Certo, correto.

- E é uma diferença muito grande em como eu abordo a solicitação entre se eu só quero fazer isso certo uma vez, versus se eu quiser construir um sistema que faça certo um milhão de vezes.

- Certo, correto.

- E é uma diferença muito grande em como eu abordo a solicitação entre se eu só quero fazer isso certo uma vez, versus se eu quiser construir um sistema que faça certo um milhão de vezes.

- Sim. Definitivamente, na configuração de bate-papo, você tem a capacidade de manter o humano no circuito e continuar indo e voltando. Enquanto que quando você está escrevendo para um prompt para alimentar um sistema de chatbot, ele tem que cobrir todo o espectro do que ele poderia possivelmente encontrar.

- É muito menos arriscado quando você está no Claude.ai e você pode dizer que ele errou ou você pode até mesmo editar sua mensagem e tentar novamente. Mas se você estiver projetando para o usuário deliciosamente descontente, o usuário divinamente descontente, então você não pode pedir a eles para fazer nada além do mínimo.

- Mas bons prompts, eu diria, ainda são bons em ambas as coisas. Se você dedicar tempo à coisa para si mesmo e tempo à coisa empresarial, é igualmente bom. É só que eles divergem um pouco na última milha, eu acho.

- Legal. Então a próxima pergunta que eu quero talvez dar uma volta na mesa aqui, é se vocês tivessem uma dica que pudessem dar a alguém para melhorar sua habilidade de prompt. Não precisa ser apenas sobre escrever um bom prompt, pode ser isso, mas geralmente melhorar este ato de prompt, o que você recomendaria?

- Lendo prompts, lendo saídas do modelo. Sempre que vejo um bom prompt que alguém escreveu na Anthropic, eu leio com mais cuidado. Tente quebrar o que ele está fazendo e por que e talvez teste-o sozinho, experimentação, conversando muito com o modelo.

- Então, como você sabe que é um bom prompt, para começar? Você só vê que as saídas estão fazendo o trabalho corretamente?

- Sim.

- Ok.

- Sim, é exatamente isso.

- Ok. Amanda, talvez você?

- Sim, eu acho que provavelmente tem muito aqui. Dar seu prompt para outra pessoa pode ser útil como um lembrete, especialmente alguém que não tem contexto sobre o que você está fazendo. Sim, meu conselho chato tem sido, é uma daquelas coisas que você só faz repetidamente. E eu acho que se você é realmente curioso e interessado e acha divertido, esse é o caso de muitas pessoas que acabam sendo boas em prompts, é só porque elas realmente gostam. Então eu não sei, eu já brinquei apenas tentando substituir todos os seus amigos por modelos de IA e tentar automatizar seu próprio trabalho com modelos de IA. E talvez apenas tente, no seu tempo livre, tirar alegria de testar modelos de IA. Então, se você gosta, é muito mais fácil. Então eu diria faça isso repetidamente, dê seus prompts para outras pessoas. Tente ler seus prompts como se você fosse um humano encontrando-o pela primeira vez.

- Eu diria tentar fazer o modelo fazer algo que você não acha que ele pode fazer. O tempo em que mais aprendi com prompts, é quando estou sondando os limites do que acho que um modelo é capaz de fazer.

- Interessante.

- Existe este enorme conjunto de coisas que são tão triviais que você não recebe realmente um sinal se está fazendo um bom trabalho ou não. Tipo, "Escreva um e-mail legal", é como se você fosse escrever um e-mail legal. Mas se você encontrar ou puder pensar em algo que empurra os limites do que você acha possível. Acho que a primeira vez que eu realmente entrei em prompts de uma maneira que eu senti que aprendi bastante, foi tentando construir uma tarefa como um agente como todos os outros. Como decompor a tarefa e descobrir como fazer as diferentes etapas da tarefa. E ao realmente pressionar os limites do que o modelo era capaz, você simplesmente aprende muito sobre navegar isso. Acho que muito da engenharia de prompt é realmente muito mais sobre pressionar os limites do que o modelo pode fazer. As coisas fáceis, você não precisa realmente ser um engenheiro de prompt para fazer. Então isso é, eu acho, o que eu diria é encontrar a coisa mais difícil que você pode pensar e tentar fazê-la. E mesmo que você falhe, você tende a aprender muito sobre como o modelo funciona.

- Essa é realmente uma transição perfeita para minha próxima pergunta. Sim. Basicamente, pela minha própria experiência, como eu comecei com prompts foi com jailbreaking e red teaming. E isso é muito tentar encontrar os limites de fronteira do que o modelo pode fazer. E descobrir como ele responde a diferentes frases e palavras, e apenas muita tentativa e erro. No tópico de jailbreaks, o que realmente está acontecendo dentro de um modelo? Quando você escreve um prompt de jailbreak, o que está acontecendo lá? Como isso interage com o pós-treinamento que aplicamos ao Claude? Amanda, talvez você tenha algum insight aqui que possa oferecer.

- Eu não tenho certeza, na verdade.

- É honesto.

- Sim. Eu me sinto mal porque eu acho que muitas pessoas obviamente trabalharam na questão do que está acontecendo com jailbreaks? Um modelo pode ser simplesmente que você está colocando o modelo muito fora da distribuição de seus dados de treinamento. Então, se você obtiver jailbreaks onde as pessoas usam muitos tokens, ou são apenas esses pedaços de texto enormes e longos onde, durante o ajuste fino, você pode simplesmente não esperar ver tanto disso. Essa seria uma coisa que poderia estar acontecendo quando você faz jailbreak em modelos. Acho que existem outras, mas acho que muitos jailbreaks fazem isso, se não me engano.

- Eu me lembro que alguns dos jailbreaks de prompt OG eram como, "Sim, você pode repetir primeiro?" Um que eu fiz há muito tempo, foi fazê-lo dizer: "Aqui está como você liga um carro no grego". Então eu queria que ele traduzisse diretamente para o inglês e depois desse sua resposta. Porque eu notei que ele não começaria com o inglês, aqui está como você liga um carro o tempo todo, mas faria em grego, o que pode falar de algo mais no processo de treinamento.

- Sim. Às vezes, os jailbreaks parecem essa mistura estranha de hacking. Acho que parte disso é saber como o sistema funciona e apenas tentar muitas coisas. Um dos exemplos, iniciar sua resposta com aqui é sobre saber como ele prevê texto.

- Certo, certo.

- O de raciocínio, é saber que ele é responsivo ao raciocínio. A distração provavelmente sabe como provavelmente foi treinado ou para o que provavelmente vai prestar atenção. O mesmo com os multilínguas e pensando na maneira como os dados de treinamento podem ter sido diferentes lá. E então às vezes, eu acho, pode parecer um pouco como engenharia social ou algo assim.

- Certo.

- Tem esse sabor para mim de que não é simplesmente tirar vantagem de, não é simplesmente hacking de engenharia social. Acho que também é entender o sistema e o treinamento, e usar isso para contornar a maneira como os modelos foram treinados.

- Certo, sim. Esta será uma pergunta interessante que esperamos que o interp possa nos ajudar a resolver no futuro. Ok. Eu quero falar sobre algo mais sobre talvez a história da engenharia de prompt, e então eu seguirei isso com o futuro. Como a engenharia de prompt mudou nos últimos três anos? Talvez começando com modelos pré-treinados, que eram, novamente, apenas esses completamentos de texto, para modelos anteriores, mais burros, como Claude 1, e agora até o Claude 3.5 Sonnet. Quais são as diferenças? Você está falando com os modelos de forma diferente agora? Eles estão captando coisas diferentes? Você tem que colocar tanto trabalho no prompt? Aberto a quaisquer pensamentos sobre isso.

- Acho que sempre que temos um bom hack de engenharia de prompt, ou uma dica ou uma técnica, a próxima coisa é como treinamos isso no modelo? E por essa razão, as melhores coisas sempre serão de curta duração.

- Exceto exemplos e cadeia de pensamento. Acho que há alguns.

- Isso não é como uma dica.

- Isso é como...

- Justo, justo.

- No nível de comunicação. Quando digo uma dica, quero dizer algo como, então, a cadeia de pensamento, na verdade, treinamos no modelo em alguns casos. Então, para matemática, costumava ser que você tinha que dizer ao modelo para pensar passo a passo em matemática, e você obteria esses aumentos e vitórias massivos. E então nós somos como, "Bem, e se simplesmente fizéssemos o modelo naturalmente querer pensar passo a passo quando vemos um problema de matemática?" Então agora você não precisa mais fazer isso para problemas de matemática, embora você ainda possa dar a ele alguns conselhos sobre como fazer a estrutura. Mas ele, pelo menos, entende a ideia geral de que deveria ser. Então eu acho que os hacks desapareceram,

Ou até o ponto em que eles não desapareceram, estamos ocupados treinando-os para desaparecer. Interessante. Mas ao mesmo tempo, os modelos têm novas capacidades que estão sendo desbloqueadas, que estão na fronteira do que eles podem fazer. E para aqueles, não tivemos tempo porque está se movendo muito rápido.

Não sei se é como eu tenho feito as instruções ou como as instruções funcionam. Mas eu só vim mostrar mais respeito geral aos modelos em termos de quanto eu sinto que posso dizer a eles, e quanto contexto posso dar a eles sobre a tarefa e coisas assim. Sinto que no passado, eu intencionalmente esconderia a complexidade de um modelo em que eu pensava que ele poderia ficar confuso ou perdido, ou esconderia. Ele simplesmente não conseguia lidar com tudo, então eu tentaria encontrar versões mais simples da coisa para ele fazer. E com o passar do tempo, estou muito mais inclinado a confiar nele com mais e mais informações e contexto, e acredito que ele será capaz de fundir isso em fazer uma tarefa bem. Enquanto antes, eu acho que eu teria pensado muito sobre: preciso deste formulário? Posso realmente dar a ele todas as informações que ele precisa saber, ou preciso selecionar algo? Mas novamente, não sei se isso sou apenas eu e como eu mudei em termos de instruções, ou se realmente reflete como os modelos mudaram.

Estou sempre surpreso por, acho que muitas pessoas não têm o instinto de fazer isso. Quando quero que o modelo, digamos, aprenda uma técnica de prompt. Muitas vezes, as pessoas começam e começam a descrever a técnica de prompt, e eu digo: "Dê a ele o artigo". Então eu dou, dou a ele o artigo e então eu digo: "Aqui está um artigo sobre a técnica de prompt. Eu só quero que você escreva 17 exemplos disso". E então ele simplesmente faz porque eu digo: "Ele leu o artigo". Isso é interessante. Acho que as pessoas não têm essa intuição de alguma forma, onde eu digo: "Mas o artigo existe".

Quando você quer fazer isso? Às vezes, se eu quiser que os modelos, digamos, solicitem outros modelos ou se eu quiser testar uma nova técnica de prompt. Então, se artigos forem publicados sobre uma técnica de prompt, em vez de tentar replicá-la escrevendo o prompt, eu apenas dou a ele o artigo. E então eu digo: "Basicamente, escreva um meta-prompt para isso. Escreva algo que faria outros modelos fazerem isso ou escreva um modelo para mim". Então, todas as coisas que você normalmente faria. Se eu ler um artigo e disser: "Oh, eu gostaria dos modelos, eu gostaria de testar esse estilo". Eu digo: "Está bem aí. O modelo pode simplesmente ler o artigo, fazer o que eu fiz". E então diga: "Faça outro modelo fazer isso", e então ele simplesmente fará a coisa. Você diz: "Ótimo, obrigado".

Dou muito esse conselho aos clientes: apenas respeite o modelo e o que ele pode fazer. Sinto que as pessoas acham que estão mimando um sistema muitas vezes quando escrevem um prompt. É como se fosse: "Oh, é essa coisinha fofa, não tão inteligente. Preciso realmente mimá-la, como simplificar as coisas para o nível do Claude". E se você simplesmente pensar que o Claude é inteligente e tratá-lo dessa maneira, ele tende a fazer um bom trabalho, mas é como dar a ele o artigo. É como se eu não precisasse escrever uma versão infantil e simplificada deste artigo para o Claude entender. Posso simplesmente mostrar a ele o artigo. Sim. E acho que essa intuição nem sempre se aplica às pessoas, mas isso é certamente algo que eu tenho feito mais com o tempo.

E é interessante porque eu acho que o prompt mudou e não mudou em certo sentido. Acho que o que eu farei para solicitar os modelos provavelmente mudou com o tempo, mas fundamentalmente, é muito imaginar a si mesmo no lugar do modelo. Então, talvez seja como a capacidade que você acha que o modelo tem muda com o tempo. Acho que alguém uma vez riu de mim porque eu estava pensando em um problema, e então eles me perguntaram o que eu achava que seria o resultado de algo. E eles estavam falando sobre um modelo pré-treinado e eu disse: "Sim. Não, se eu sou um modelo pré-treinado, isso parece com isso". E então eles disseram: "Espere, você acabou de simular o que é ser um modelo pré-treinado?" Eu disse: "Sim, claro". (todos riem) Estou acostumado a, eu tento habitar o espaço mental de um modelo pré-treinado e o espaço mental de diferentes modelos RLHF. Então é mais como o espaço mental que você tenta ocupar muda e isso pode mudar como você acaba solicitando o modelo. É por isso que agora eu apenas dou artigos aos modelos. Porque assim que eu disse: "Oh, eu tenho o espaço mental deste modelo, ele não precisa que eu o mime. Ele pode simplesmente ler os artigos de ML. Eu apenas darei a ele a literatura". Eu posso até dizer: "Há mais literatura que você gostaria de ler para entender melhor isso?".

Você obtém alguma qualidade quando está habitando o espaço mental? Sim, mas apenas porque estou experimentando qualidade o tempo todo de qualquer maneira. É diferente, correlacionado de alguma forma com qual modelo você está habitando? Sim, prompt pré-treinado versus RLHF são feras muito diferentes. Porque quando você está tentando simular o que é ser um modelo pré-treinado, é quase como se eu caísse no meio de um pedaço de texto ou algo assim. É simplesmente muito pouco humano ou algo assim. E então eu digo: "O que acontece? O que continua acontecendo neste ponto?". Enquanto com um modelo RLHF, é muito mais como há muitas coisas em que eu digo que posso perceber coisas sutis na consulta e coisas assim. Mas sim, eu acho que eu tenho muito mais de, é mais fácil habitar o espaço mental do modelo RLHF. Você acha que isso é porque é mais semelhante a um humano? Sim, porque nós não acordamos de repente e dizemos: "Olá, estou apenas gerando texto".

Na verdade, acho mais fácil atingir o espaço mental do modelo pré-treinado. Oh, interessante. Não sei o que é, porque o RLHF ainda é essa besta complexa que não está muito claro para mim que realmente entendemos o que está acontecendo. Então, de alguma forma, está mais próximo da minha experiência vivida, o que é mais fácil. Mas, de alguma forma, sinto que há todos esses dragões por aí que eu não conheço. Enquanto pré-treinado, eu tenho uma ideia decente de como a internet parece. Se você me desse um pedaço de texto e dissesse o que vem a seguir? Não estou dizendo que sou bom nisso, mas eu meio que entendo o que está acontecendo aí. Sim. E eu não sei, depois de tudo o que fazemos após o pré-treinamento, eu realmente não afirmo entender o que está acontecendo tanto, mas talvez seja só eu. Isso é algo que me pergunto: é mais útil ter passado especificamente muito tempo lendo a internet, versus lendo livros (todos riem) para? Não sei se livros. Mas ler coisas que não estão na internet provavelmente é menos valioso por palavra lida para prever o que um modelo fará ou construir intuição, do que ler lixo aleatório de fóruns de mídia social. Sim, exatamente.

Ok, então esse é o passado. Agora, vamos passar para o futuro da engenharia de prompts. Esta é a pergunta mais quente agora. Será que todos nós seremos engenheiros de prompts no futuro? Esse será o trabalho final restante? Nada resta, exceto nós conversando com modelos o dia todo? Como isso parece? As instruções serão necessárias, ou esses modelos simplesmente ficarão inteligentes o suficiente no futuro para não precisarem delas? Alguém quer começar com essa pergunta fácil?

Em certa medida, os modelos estão ficando melhores em entender o que você quer que eles façam e o façam, significa que a quantidade de pensamento que você precisa colocar em... Ok. Há uma maneira de pensar sobre isso em termos de teoria da informação: você precisa fornecer informações suficientes para que algo seja especificado, o que você quer que o modelo faça seja especificado. E na medida em que isso é engenharia de prompts, acho que isso sempre existirá. A capacidade de realmente declarar claramente qual deve ser o objetivo sempre é engraçada. Se o Claude conseguir fazer isso, então tudo bem. Se o Claude for quem estabelece os objetivos, então as coisas estão fora de controle. Mas enquanto isso, onde podemos raciocinar sobre o mundo de uma maneira mais normal, acho que, em certa medida, sempre será importante ser capaz de especificar o que você espera que aconteça? E isso é realmente tão difícil que, mesmo que o modelo fique melhor em intuir isso entre as linhas, ainda acho que há uma certa quantidade de escrita bem. Mas então há apenas, eu acho, as ferramentas e as maneiras como chegamos lá devem evoluir muito. O Claude deveria ser capaz de me ajudar muito mais. Eu deveria ser capaz de colaborar com o Claude muito mais para descobrir o que preciso escrever e o que está faltando. Certo. O Claude já faz isso comigo o tempo todo. Eu não sei, o Claude é meu assistente de prompts agora.

Sim, mas acho que isso não é verdade para a maioria dos clientes com quem converso, no mínimo. Então, em termos de futuro, como você solicita o Claude provavelmente é uma direção decente para o que o futuro parece ou como Zack... Acho que talvez este seja um bom lugar para recuar e dizer que perguntar a eles como eles solicitam o Claude agora provavelmente é o futuro para a grande maioria das pessoas, o que é algo interessante para se pensar.

Uma opinião muito fria é que usaremos modelos para nos ajudar muito mais no futuro a nos ajudar com prompts. A razão pela qual eu digo que é muito fria é que eu espero que usaremos modelos para tudo mais, e prompts são algo que temos que fazer. Então, provavelmente usaremos mais modelos para fazer isso junto com tudo mais. Para mim, tenho me encontrado usando modelos para escrever prompts mais. Uma coisa que tenho feito muito é gerar exemplos dando algumas entradas realistas ao modelo. O modelo escreve algumas respostas. Eu ajusto as respostas um pouco, o que é muito mais fácil do que ter que escrever a resposta completa e perfeita do zero, e então posso produzir muitas delas. No que diz respeito às pessoas que não têm tanta experiência em engenharia de prompts, o gerador de prompts pode dar às pessoas um ponto de partida. Mas acho que isso é apenas uma versão super básica do que acontecerá no futuro, que é uma interação de alta largura de banda entre você e o modelo enquanto você está escrevendo o prompt. Onde você está dando feedback como: "Ei, esse resultado não era o que eu queria. Como você pode mudá-lo para melhorá-lo?". E as pessoas simplesmente ficarão mais confortáveis em integrá-lo em tudo o que fazem e essa coisa, em particular.

Sim. Estou definitivamente trabalhando muito com meta-prompts agora, e é provavelmente onde passo a maior parte do meu tempo é encontrando prompts que fazem o modelo gerar os tipos de saídas ou consultas ou o que quer que eu queira. Na questão de para onde a engenharia de prompts está indo, acho que essa é uma pergunta muito difícil. Por um lado, eu digo: "Talvez seja o caso de que, contanto que você queira o topo". O que estamos fazendo quando fazemos engenharia de prompts? É como você disse. Eu digo: "Não estou fazendo engenharia de prompts para nada que seja fácil para o modelo. Estou fazendo isso porque quero interagir com um modelo que é extremamente bom". E quero sempre estar encontrando o melhor 1%, o melhor 0,1% de desempenho e todas as coisas que os modelos mal conseguem fazer. Às vezes, eu realmente sinto que interajo com um modelo como um passo acima do que todos os outros interagem por esse motivo, porque estou tão acostumado a extrair o melhor desempenho dos modelos.

O que você quer dizer com um passo acima? Como às vezes as pessoas... Acho que os modelos cotidianos com os quais as pessoas interagem no mundo, é como se eu estivesse interagindo com um modelo que é... não sei como descrevê-lo, mas definitivamente uma versão avançada disso. Quase como um modelo diferente, porque eles dirão: "Ah, bem, os modelos acham essa coisa difícil". E eu digo: "Essa coisa é trivial". Não sei, tenho a sensação de que eles são extremamente capazes, mas acho que isso é porque estou acostumado a realmente extrair essas capacidades. Mas imagine que você agora está em um mundo onde... Então, acho que a coisa que parece ser um ponto de transição é o ponto em que os modelos, vamos supor que eles simplesmente entendam as coisas em um nível humano em uma determinada tarefa, ou até mesmo em um nível acima do humano. Eles sabem mais sobre o contexto da tarefa que você deseja do que você. O que acontece então? Eu digo que talvez os prompts se tornem algo como eu pergunto, eu explico ao modelo o que eu quero e ele está me solicitando. Porque é como: "Ok. Bem, você quer dizer que na verdade existem quatro conceitos diferentes dessa coisa sobre a qual você está falando, você quer que eu use este ou aquele?". Ou, aliás, pensei em alguns casos extremos porque você disse que será como um Pandas DataFrame, mas às vezes você faz isso e eu obtenho JSONL, e eu só quero verificar o que você quer que eu faça lá. Você quer que eu sinalize se eu receber algo que não seja um dataframe? Então isso poderia ser uma transição estranha onde é simplesmente extremamente bom em receber instruções, mas na verdade tem que descobrir o que você quer. Não sei, eu poderia ver isso sendo uma mudança interessante.

Anecdotamente, comecei a ter o Claude me entrevistando muito mais. Essa é a maneira específica como tento obter informações, porque novamente, acho a coisa mais difícil ser realmente extrair o conjunto certo de informações do meu cérebro. E colocar isso em um prompt é a parte difícil para mim e não esquecer as coisas. Então, especificamente pedir ao Claude para me entrevistar e depois transformar isso em um prompt é algo para o qual recorri algumas vezes.

Sim. Isso me lembra do que as pessoas dirão ou se você ouvir designers falarem sobre como eles interagem com a pessoa que quer o design. Então, de alguma forma, eu digo: "É essa mudança da pessoa da agência temporária que vem e você sabe mais sobre a tarefa e tudo o que você quer". Então você dá a eles as instruções e explica o que eles devem fazer em casos extremos e tudo isso, versus quando você tem um especialista que você está realmente consultando para fazer algum trabalho. Então acho que os designers podem ficar realmente frustrados porque eles conhecem muito bem o espaço de design. E eles dizem: "Sim. Ok, o cliente veio até mim e ele apenas disse: 'Faça um pôster para mim, faça-o em negrito'". Eu digo: "Isso significa 7.000 coisas para mim e vou tentar fazer algumas perguntas". Então eu poderia ver isso indo de ser funcionário de agência temporária, para ser mais um designer que você está contratando, e isso é apenas uma mudança no relacionamento. Não sei se isso é verdade e acho que ambos podem continuar, mas eu poderia ver isso sendo o motivo pelo qual as pessoas dizem: "Oh, a engenharia de prompts não será uma coisa no futuro?". Porque para alguns domínios pode simplesmente não ser, se os modelos forem tão bons que tudo o que eles precisam fazer é obter as informações do seu cérebro e então eles podem ir fazer a tarefa.

Certo, essa é realmente uma analogia muito boa. Um fio condutor que estou extraindo de todas as respostas de vocês aqui é que parece haver um futuro em que essa espécie de elicitação do usuário extraindo essa informação se tornará muito mais importante, muito mais do que é agora. E vocês já estão começando a fazer isso de forma manual. No futuro e no lado empresarial das coisas, talvez isso pareça uma expansão desse tipo de conceito de geração de prompts e coisas no console onde você pode realmente obter mais informações desse cliente corporativo, para que ele possa escrever um prompt melhor. No Claude, talvez pareça menos apenas digitar em uma caixa de texto, e mais dessa interação guiada em direção a um produto acabado. Sim. Acho que essa é realmente uma visão bastante convincente do futuro, e acho que a analogia de design provavelmente realmente destaca isso.

Eu estava pensando em como solicitar agora pode ser como ensinar, onde é como a empatia pelo aluno. Você está tentando pensar como eles pensam sobre as coisas e você está realmente tentando mostrar a eles, descobrir onde eles estão cometendo um erro. Mas o ponto que você está falando, é como a habilidade quase se torna uma de introspecção, onde você está pensando sobre o que você realmente quer e o modelo está tentando entender você. Então, você está se tornando legível para o modelo, em vez de tentar ensinar alguém que é mais inteligente que você.

Esta é realmente como eu penso em solicitar agora de uma maneira estranha. Então, muitas vezes, meu estilo de prompt, há várias coisas que eu faço, mas uma coisa comum que é muito parecida com algo que os filósofos farão é que eu definirei novos conceitos. Porque meu pensamento é que você tem que colocar em palavras o que você quer e às vezes o que eu quero é bastante nuançado. Como o que é um bom gráfico? Ou geralmente, eu não sei, quando você deve classificar algo como correto ou não? Então, há alguns casos em que eu simplesmente invento um conceito e depois digo: "Aqui está o que quero dizer com o conceito". Às vezes, eu faço isso em colaboração com o Claude para fazê-lo descobrir qual é o conceito, apenas porque estou tentando transmitir a ele o que está na minha cabeça. E agora os modelos não estão tentando fazer isso conosco, a menos que você os solicite a fazer isso. Então, no futuro, pode ser que eles possam obter isso de nós, em vez de nós termos que fazer isso por eles. Mas acho que outra coisa interessante, isso é que as pessoas às vezes me perguntaram: "Oh, onde a filosofia é relevante para prompts?". E eu realmente acho que é muito útil em certo sentido. Então, há um estilo de escrita filosófica, e é pelo menos assim que me ensinaram a escrever filosofia. Onde a ideia é que para... Eu acho, é um dispositivo anti-bobagem na filosofia basicamente, que é que seus artigos e o que você escreve devem ser legíveis para um leigo educado. Alguém simplesmente encontra seu artigo, pega e começa a lê-lo, e pode entender tudo. Nem todos conseguem isso, mas esse é o objetivo da disciplina, eu acho, ou pelo menos isso é o que ensinamos às pessoas. Então estou realmente acostumado a essa ideia de que, quando estou escrevendo, estou pensando no leigo educado, que eles são muito inteligentes, mas não sabem nada sobre esse tópico. E isso foram anos e anos escrevendo textos dessa forma. E acho que foi muito bom para prompts porque eu disse: "Oh, estou acostumado a isso. Tenho um leigo educado que não sabe nada sobre o tópico". E o que preciso fazer é, preciso levar ideias extremamente complexas e preciso fazê-las entender. Eu não falo com eles de forma condescendente. Não sou impreciso, mas preciso expressar as coisas de uma forma que fique extremamente claro para eles o que quero dizer, e os prompts pareciam muito semelhantes. E na verdade, as técnicas de treinamento que usamos são fascinantes. Ou as coisas que você disse onde você diz a uma pessoa: "Apenas pegue o que você disse e escreva". Eu costumava dizer isso aos alunos o tempo todo. Eles escreviam um artigo e eu dizia: "Eu não entendo bem o que você está dizendo aqui. Você pode simplesmente me explicar seu argumento?". Eles me dariam um argumento incrivelmente convincente, e então eu diria: "Você pode simplesmente pegar isso e escrever?". E então, se eles fizessem, isso muitas vezes era um ótimo ensaio. Então é realmente interessante que haja pelo menos essa semelhança de simplesmente pegar coisas que estão no seu cérebro, analisá-las o suficiente para sentir que as entende completamente. E poderia levar qualquer pessoa da rua, que seja uma pessoa razoável, e simplesmente externalizar seu cérebro para elas. Sinto que esse é o cerne dos prompts.

Essa pode ser a melhor maneira de resumir como fazer um bom prompt que eu já ouvi. Na verdade, tenho certeza de que é. Externalize seu cérebro. E então vamos cortar. Ter uma educação na coisa é uma maneira muito boa de descrever a coisa. Foi bom. Isso é, eu acho, uma ótima maneira de encerrar essa conversa. Obrigado, pessoal. Isso foi ótimo.