À procura da pergunta perfeita com Engenharia de Prompt em 5 passos
- #Engenharia de Prompt
Por que o prompt deve ser avaliado mais pelas perguntas feitas a ele do que por suas respostas?
O filósofo francês do século XVIII Voltaire disse que “um homem deve ser julgado mais pelas suas perguntas do que por suas respostas”. No século XX, Peter Drucker – considerado por muitos o pai da Administração moderna - afirmava que “o trabalho mais importante e mais difícil não é encontrar a resposta correta, mas fazer a pergunta certa”.
Fazer as perguntas corretas é a grande missão da Engenharia de Prompt, pois seu principal objetivo é criar e otimizar comandos ou perguntas para que modelos de linguagem artificial gerem respostas precisas, relevantes e úteis.
É, portanto, a "arte" de moldar a conversa com a máquina para obter os resultados desejados.
O que você encontrará neste artigo:
- Introdução
- O que são vieses de IA?
- Origem e evolução da Engenharia de Prompt;
- Como fazer um prompt like a boss?
- 1 - Dê instruções claras;
- 2 - Divida uma tarefa complexa em várias tarefas mais simples;
- 3 - Peça para modelo explicar ao invés de simplesmente responder;
- 4 – Utilize exemplos;
- 5 – Conheça e faça uso da Árvore de Pensamentos - "Tree of Thoughts" (ToT);
- O que esperar do futuro da Engenharia de Prompt?
Introdução
A Engenharia de Prompt (chamaremos de EP daqui para frente) é uma disciplina em franca ascensão. Com o crescimento do uso de inteligência artificial, especialmente em processamento de linguagem natural (PLN), surgiu a necessidade de otimizar a maneira como os humanos interagem com esses modelos.
Ela se dedica a estudar as melhores formas de se criar e otimizar comandos ou perguntas — os chamados "prompts" — para interagir de maneira eficaz com modelos de linguagem. Esses modelos são treinados para processar e gerar texto em linguagem natural, mas a qualidade e a precisão das respostas que produzem dependem muito da forma como as instruções são formuladas. Uma pessoa engenheira de prompt foca, portanto, em entender como formular as melhores instruções para que a IA entregue o resultado desejado em diferentes contextos, garantindo que as respostas geradas sejam tão precisas e relevantes quanto possível para o caso específico. Isso envolve considerar diversos fatores, como a clareza, especificidade e estrutura do prompt, além de entender as limitações e o comportamento do modelo de IA, seja na criação de conteúdo, atendimento ao cliente, etc.
Muitas pessoas acreditam que a EP envolve o treinamento de modelos de linguagem. Entretanto, o treinamento de modelos é uma tarefa complexa que envolve a criação, ajuste e otimização dos algoritmos subjacentes, funções que são responsabilidade de engenheiros de machine learning ou cientistas de dados. A Engenharia de Prompt foca em como utilizar o modelo já treinado de maneira eficaz, não em treinar o modelo em si.
A EP também desempenha um papel importante na mitigação de vieses da Inteligência Artificial e na garantia de que os resultados produzidos sejam éticos e alinhados com os objetivos desejados.
O que são vieses de IA?
Viés de IA (viés de aprendizado de máquina ou viés de algoritmo também são outras denominações utilizadas) é como são chamadas as distorções ou preconceitos incorporados nos modelos de inteligência artificial, geralmente originados dos dados com os quais esses modelos foram treinados. Esses vieses podem resultar em respostas que favorecem certas perspectivas, reforçam estereótipos ou discriminam grupos sociais específicos. Eles podem surgir devido a dados de treinamento que não são representativos, contêm preconceitos históricos ou refletem desigualdades sociais. Basicamente, podemos afirmar que as IAs absorvem os mesmos preconceitos presentes na sociedade, e estes podem ser discretamente incorporados na imensa quantidade de dados em que são treinados.
A EP entra em jogo para desempenhar um papel importante na mitigação desses vieses, mesmo que não consiga eliminá-los completamente. Por meio da formulação cuidadosa dos prompts, é possível orientar o modelo a fornecer respostas mais equilibradas e neutras. Por exemplo: ao elaborar um prompt que explicitamente solicita múltiplas perspectivas ou que evite termos que possam desencadear respostas tendenciosas, a Engenharia de Prompt ajuda a direcionar a IA para uma abordagem mais justa e inclusiva.
Além disso, os engenheiros de prompt podem identificar áreas onde o modelo tende a responder com tendenciosidades e desenvolver estratégias específicas para contorná-las, como reformular perguntas ou usar linguagem mais neutra. A Engenharia de Prompt, portanto, atua como uma camada adicional de controle e refinamento, contribuindo para a redução dos impactos negativos dos vieses em aplicações de IA.
Origem e evolução da Engenharia de Prompt
Essa área, como a conhecemos hoje, é um produto da evolução da inteligência artificial (IA) e do processamento de linguagem natural (PLN). Embora não haja uma data exata para seu surgimento, podemos traçar suas raízes até os primórdios da computação e da interação homem-máquina.
As Primeiras Sementes
- Os primórdios da programação: As primeiras linguagens de programação já exigiam que os programadores fornecessem instruções precisas para as máquinas. Essas instruções, por mais simples que fossem, podem ser vistas como os precursores dos prompts modernos.
- Eliza: Criado na década de 1960, o chatbot Eliza foi um dos primeiros programas a simular uma conversa humana. Embora simples, utilizava técnicas de correspondência de padrões para gerar respostas, o que já exigia uma certa habilidade na formulação das perguntas.
A Evolução com a IA
- Sistemas especialistas: Na década de 1970, os sistemas especialistas começaram a utilizar bases de conhecimento e regras para tomar decisões. A interação com esses sistemas também exigia a formulação de perguntas e comandos específicos.
- Redes neurais e aprendizado de máquina: Com o avanço das redes neurais e do aprendizado de máquina, a IA se tornou capaz de aprender com dados e gerar resultados mais complexos. A engenharia de prompt passou a ser crucial para "ensinar" esses modelos a realizar tarefas específicas.
- Modelos de linguagem de grande porte: O surgimento de modelos como GPT-3 elevou a engenharia de prompt a um novo patamar. Esses modelos são capazes de gerar textos altamente coerentes e contextualmente relevantes, desde que sejam fornecidos com prompts adequados.
A engenharia de prompt, como uma disciplina formal, começou a ganhar destaque apenas nos últimos anos, impulsionada pelo crescente interesse em IA e pelo desenvolvimento de modelos de linguagem cada vez mais sofisticados. Com a popularização de ferramentas como o ChatGPT, a EP se tornou acessível a um público mais amplo, e a demanda por profissionais especializados nessa área aumentou consideravelmente.
Tá, mas como fazer um prompt like a boss?
Você deve ter chegado até aqui para saber COMO fazer as melhores perguntas para obter respostas mais apuradas no ChatGPT, Gemini ou Copilot, certo?
Tente imaginar que você está tentando explicar uma receita de bolo complexa para um amigo por telefone. Você precisa ser claro, conciso e dar instruções passo a passo para que ele entenda tudo. O que precisamos fazer agora é quase como isso, mas em vez de um amigo, estamos nos comunicando com modelos de linguagem de grande porte como o GPT-3 ou GPT-4:
1 - Dê instruções claras
Um prompt bem elaborado garante que a máquina entenda exatamente o que você quer. Se possível, forneça contextos relevantes para ajudar o modelo a entender melhor o que você está querendo. Isso pode incluir detalhes sobre o assunto da conversa, personagens ou cenários específicos, como podemos ver nesses dois exemplos:
- Escreva uma descrição de post de conteúdo para minha conta do Instagram que fala sobre [NICHO] para [PÚBLICO]
Exemplo retirado de: https://www.tiagofachini.com.br/10-exemplos-de-uso-do-chat-gpt-para-advogados/
2 - Divida uma tarefa complexa em várias tarefas mais simples
Problemas complexos requerem soluções complexas e às vezes o modelo de IA, assim como nós humanos, tenta num primeiro momento resolvê-los da forma mais rápida e prática possível. Como resolver problemas difíceis necessariamente requer tempo de pensamento, a chance de erros é significativamente maior quando temos “pressa para acabá-lo”. Com a IA acontece basicamente a mesma coisa, pois se você atribuir ao GPT-3 uma tarefa muito complexa para ser executada no tempo que levaria para calcular seu próximo token, ele poderá confabular uma estimativa incorreta.
Até pouco tempo atrás, o ChatGPT na versão gpt-3.5-turbo-instruct respondia à questão abaixo da seguinte forma (errada!):
Pergunta: Um malabarista tem 16 bolas. Metade das bolas são bolas de golfe e metade das bolas de golfe são azuis. Quantas bolas de golfe azuis existem?
Resposta do ChatGPT: Existem 8 bolas de golfe azuis.
Porém, se acrescentássemos um simples “Vamos pensar passo-a-passo” ao final da pergunta, a resposta seria completamente diferente (e, agora, correta):
3 - Peça para modelo explicar ao invés de simplesmente responder
Outra excelente técnica para melhorar a confiabilidade das respostas é fazer com que o modelo raciocine gradualmente sua resposta, em vez de pular imediatamente para o final. Ao “pensar em voz alta”, o modelo pode ter muito mais probabilidade de chegar à resposta correta.
Neste primeiro prompt, foi feita apenas uma pergunta direta, sem mais exigências por parte do usuário:
Agora, com uma pequena e simples alteração na forma da pergunta, o modelo responde de maneira muito mais completa. Como o texto ficou muito grande para caber em uma imagem, transcrevo-o:
Pergunta: Me explique de forma simples o que é softbol
Softbol: Uma versão mais "leve" do beisebol
O softbol é um esporte de equipe muito parecido com o beisebol, mas com algumas diferenças que o tornam um pouco mais acessível e rápido.
Imagine um beisebol adaptado para ser jogado em espaços menores. As regras são bem parecidas: duas equipes se enfrentam em um campo com formato de diamante, tentando marcar pontos batendo em uma bola e correndo pelas bases.
As principais diferenças do softbol em relação ao beisebol são:
- Bola: A bola de softbol é maior e mais macia do que a de beisebol, o que facilita a sua pegada.
- Lançamento: No softbol, o lançador joga a bola por baixo, enquanto no beisebol o lançamento é por cima.
- Campo: O campo de softbol é menor, o que torna o jogo mais dinâmico.
- Duração: Os jogos de softbol costumam ser mais curtos do que os de beisebol.
Por que jogar softbol?
- Divertido e fácil de aprender: As regras são simples e a dinâmica do jogo é muito divertida.
- Esporte para todos: É um esporte que pode ser praticado por pessoas de todas as idades e níveis de habilidade.
- Bom para a saúde: O softbol é uma ótima forma de se exercitar e melhorar a coordenação motora.
Em resumo, o softbol é um esporte emocionante e acessível que combina elementos de baseball e softball. Se você gosta de esportes de equipe e busca uma atividade física divertida, o softbol pode ser uma ótima opção!
Gostaria de saber mais sobre alguma regra específica do softbol ou sobre como começar a praticar esse esporte?
4 – Utilize exemplos
Essa técnica pode ser usada para permitir o aprendizado no contexto, onde fornecemos demonstrações no prompt para direcionar o modelo para um melhor desempenho. As demonstrações servem de condicionamento para exemplos subsequentes onde gostaríamos que o modelo gerasse uma resposta:
5 – Conheça e faça uso da Árvore de Pensamentos - "Tree of Thoughts" (ToT)
Esta última talvez seja um pouco mais complexa que os outros, porém também é incrivelmente eficaz! Ela incentiva a exploração de pensamentos que servem como etapas intermediárias para a resolução de problemas gerais com modelos de linguagem. A técnica permite que um modelo avalie o progresso dos pensamentos intermediários em direção à resolução de um problema por meio de um processo de raciocínio deliberado
Podemos, por exemplo, lançar o seguinte prompt e veremos abordagens bastante diferentes para uma mesma questão:
Imagine que três especialistas diferentes estão respondendo a esta pergunta.
Todos os especialistas escreverão 1 etapa do seu pensamento e compartilharão com o grupo.
Então, todos os especialistas passarão para a próxima etapa, etc.
Se algum especialista perceber que está errado em algum ponto, ele sairá.
A pergunta é... {{PERGUNTA}}"
O que esperar do futuro da Engenharia de Prompt?
A engenharia de prompt é um campo em rápida evolução e é possível que cada vez mais vagas de trabalho sejam abertas para profissionais que dominem a técnica de fazer as perguntas corretas aos melhores modelos. Com o avanço dos modelos de linguagem, podemos esperar que as aplicações se tornem ainda mais sofisticadas e abrangentes. No futuro, a EP pode mudar ainda mais a forma como interagimos com as máquinas, tornando a comunicação mais natural e eficiente.
No futuro, poderemos ver o desenvolvimento de modelos de IA que ajustam automaticamente suas respostas com base em feedback contínuo, tornando a Engenharia de Prompt uma tarefa mais colaborativa entre humanos e máquinas. Esses modelos poderiam aprender a interpretar a intenção do usuário com maior precisão, mesmo quando os prompts são vagos ou ambíguos.
Imagina-se também que a disciplina deve se integrar ainda mais com outras áreas, como a inteligência artificial ética, para desenvolver práticas que minimizem vieses e promovam respostas justas e imparciais. Colaborações com especialistas em linguística, psicologia e design de experiência do usuário (UX) também podem enriquecer a eficácia dos prompts.
À medida que essa área cresce, surgirão novos cursos e especializações focados em Engenharia de Prompt, formando profissionais que dominem tanto a teoria quanto a prática de formular comandos que maximizem o desempenho de modelos de linguagem.
FONTES:
https://cookbook.openai.com/articles/techniques_to_improve_reliability#maieutic-prompting
https://deepgram.com/learn/tree-of-thoughts-prompting
https://github.com/dave1010/tree-of-thought-prompting
https://arxiv.org/abs/2205.11916