Menu

Engenharia de prompt: o que é e como aprender

Engenharia de prompt é a prática de escrever e testar as instruções que você dá a um modelo de IA para que ele produza o resultado de que você precisa. Este guia explica por que ela funciona e mapeia todas as técnicas principais.

Você pode editar cada prompt desta página e depois abri-lo no ChatGPT, no Claude ou em outro app de IA.

Engenharia de prompt (prompt engineering) é a prática de escrever, testar e refinar as instruções que você dá a um modelo de IA para que ele produza o resultado de que você precisa, de forma confiável. Ela cobre o que você coloca em um prompt (a tarefa, o contexto, os exemplos, a entrada) e como você organiza isso (ordem, formato, separadores). O nome soa técnico, mas quase tudo é escrever com cuidado e conferir os resultados.

Esta página é o índice do guia de engenharia de prompt da Coddy. Ela explica por que a prática funciona, liga cada técnica principal à página que a ensina e mostra a diferença entre um prompt improvisado e um prompt bem construído.

Por que a engenharia de prompt funciona

Um modelo de linguagem gera texto prevendo o que vem a seguir, um pequeno pedaço por vez, com base em tudo o que está à frente dele. Ele não tem acesso às suas intenções, ao seu projeto ou às suas conversas anteriores, a não ser que esse texto esteja na entrada. Então o prompt não é um pedido para uma mente que já entende você; é a situação inteira à qual o modelo está respondendo.

Isso tem uma consequência direta. Toda questão que o prompt deixa em aberto, o modelo tende a resolver com a escolha mais típica: a linguagem mais comum, o tamanho mais comum, o público mais comum. Às vezes a escolha típica é o que você queria. Quando não é, a solução é fechar essa questão no prompt. Um bom prompt estreita o leque de respostas plausíveis até que quase tudo o que sobra seja útil.

Mais dois fatos moldam o ofício. As respostas são amostradas, então o mesmo prompt pode produzir respostas diferentes em execuções diferentes; um prompt só é bom se funciona na maioria das vezes, não uma vez. E o modelo trata todo o texto do prompt como potencialmente relevante, então um e-mail colado ou uma frase solta pode ser lido como instrução, a não ser que você o marque claramente como material.

Um prompt improvisado e um prompt bem construído

As duas abas pedem a mesma coisa: separar avaliações de clientes em positivas e negativas. Compare o que cada uma recebe de volta.

Estas avaliações são positivas ou negativas? 1. O app é rápido, mas me deslogou duas vezes hoje. 2. Exatamente o que eu precisava para registrar minhas corridas. 3. O suporte nunca respondeu meu e-mail.
Try it
Example replyReplies vary between models and runs.

Aqui está uma análise:

  1. Misto. O usuário gosta da velocidade, mas está frustrado por ter sido deslogado.
  2. Positivo. O app atende à necessidade de registrar corridas.
  3. Negativo. O usuário está insatisfeito porque o suporte não respondeu.

No geral, o feedback é misto, com uma avaliação positiva, uma negativa e uma mista.

A resposta improvisada faz sentido para uma pessoa ler, mas um programa não consegue usá-la: os rótulos estão misturados com explicações, apareceu uma terceira categoria que a pergunta não oferecia e um resumo foi acrescentado no final. O prompt bem construído define cada rótulo, fixa o formato da saída com um exemplo e envolve as avaliações em tags para que elas tenham menos chance de ser confundidas com instruções. Rodado em mil avaliações, ele gera uma saída que um programa consegue ler de forma muito mais consistente e, quando você precisa de garantia, os recursos de saída estruturada da API e uma etapa de validação no seu código fecham o resto da lacuna.

As técnicas principais

Cada técnica abaixo fecha um tipo diferente de lacuna entre o que você quis dizer e o que o modelo recebeu. A maioria dos prompts reais combina várias.

TécnicaO que fazUse quando
Prompt zero-shotDá uma instrução sem exemplosA tarefa é comum e está bem descrita
Prompt few-shotMostra alguns exemplos de entrada e saídaO formato ou o critério é mais fácil de mostrar do que de descrever
Chain of thoughtPede o raciocínio antes da respostaO problema tem várias etapas, como matemática ou lógica
Prompt de papelDefine de quem é a voz e quais padrões seguirO público e o nível importam
Saída estruturadaFixa a resposta em JSON, tabela ou modeloUm programa ou uma planilha vai ler o resultado
Delimitadores e tags XMLSepara as instruções do material coladoO prompt contém documentos, código ou texto de usuários
Templates de promptTransforma um bom prompt em um modelo com lacunasVocê repete o mesmo tipo de pedido
Encadeamento de promptsDivide um trabalho em etapas que alimentam umas às outrasUm único prompt tenta fazer coisas demais
AutoconsistênciaGera várias respostas e fica com a maioriaUm único caminho de raciocínio não é confiável
Tree of thoughtExplora e avalia várias linhas de raciocínioO problema exige planejamento ou busca
ReActAlterna raciocínio com chamadas de ferramentasO modelo precisa consultar informações ou executar ações
Meta promptingFaz o modelo escrever ou melhorar um promptVocê não sabe como formular um prompt
Engenharia de contextoDesenha tudo o que o modelo vê, não só a instruçãoVocê está criando um app ou agente em torno de um modelo

Se você está começando, comece pelas partes de um único prompt em como escrever um prompt e depois veja prompts few-shot e saída estruturada. Esses três resolvem a maior parte dos problemas do dia a dia.

Um prompt feito para um programa

Prompts escritos dentro de um software rodam milhares de vezes em entradas que ninguém viu ainda, então eles detalham mais do que uma mensagem de chat. O prompt abaixo escreve mensagens de commit a partir de um diff de código. Desligue partes dele para ver do que cada uma protege: sem os exemplos, o estilo se perde, e sem as restrições o modelo pode usar tipos que a sua equipe não usa, como perf ou style.

Mensagem de commit a partir de um diff
Fill in
Parts
Você escreve mensagens de commit do git para uma equipe que segue o formato Conventional Commits.
Escreva uma mensagem de commit para o diff abaixo.
feat(cart): adiciona seletor de quantidade aos itens do carrinho fix(api): retorna 404 em vez de 500 para um id de usuário desconhecido
Primeira linha: tipo(escopo): resumo, com no máximo 60 caracteres, no imperativo. Depois uma linha em branco e até três tópicos explicando por que a mudança foi feita.
Use apenas estes tipos: feat, fix, refactor, docs, test, chore. Se o diff misturar mudanças sem relação entre si, diga isso em vez de escrever uma mensagem.
function validatePassword(password) { - if (password.length > 8) { + if (password.length >= 8) { return null; } return 'Password must be at least 8 characters'; }
Try it
Example replyReplies vary between models and runs.
fix(auth): aceita senhas com exatamente 8 caracteres

- A verificação usava > 8, então uma senha de 8 caracteres era rejeitada
- A regra agora bate com a mensagem de erro, que diz "at least 8"

Como aprender engenharia de prompt

Você aprende rodando prompts e olhando com atenção o que volta. Um caminho prático:

  1. Aprenda as partes de um prompt. Tarefa, contexto, entrada, formato e restrições. A maioria das falhas vem da falta de uma delas.
  2. Escolha uma tarefa real que você repete, como resumir chamados, explicar erros ou rascunhar e-mails, e escreva um prompt para ela.
  3. Separe de cinco a dez entradas de teste, incluindo as difíceis: uma entrada vazia, uma muito longa, uma em outro idioma.
  4. Mude uma coisa por vez e rode todas as entradas de novo. Se você mudar três coisas e a saída melhorar, não vai saber qual mudança ajudou. Iterar em prompts cobre esse ciclo em detalhes.
  5. Acrescente técnicas quando uma falha específica pedir. Exemplos quando o formato se perde, raciocínio passo a passo quando respostas de várias etapas saem erradas, delimitadores quando o texto colado vaza para as instruções.

Os grandes fornecedores de modelos também publicam guias de prompt para os próprios modelos, e vale a pena lê-los, já que cada um descreve ao que aquela família de modelos responde melhor.

Engenheiro de prompt é uma profissão?

Algumas empresas contrataram para o cargo de "engenheiro de prompt", principalmente quando os modelos de chat ficaram amplamente disponíveis. É mais comum que a habilidade faça parte de outro trabalho. Desenvolvedores escrevem prompts para os recursos de IA que criam, equipes de suporte os escrevem para assistentes que atendem clientes, e analistas e redatores os usam todos os dias.

Em equipes que constroem produtos de IA, o trabalho ficou mais amplo. Escolher o que entra na entrada do modelo (documentos recuperados, resultados de ferramentas, histórico da conversa, memória) importa tanto quanto a redação da instrução, e esse trabalho mais amplo costuma ser chamado de engenharia de contexto. Medir se um prompt funciona em muitas entradas, o que normalmente se chama de avaliação, é a outra metade.

O que muda com os modelos mais novos

A engenharia de prompt dos primeiros tempos dependia de truques: frases mágicas, personas elaboradas, repetir uma instrução várias vezes. Os modelos atuais seguem instruções simples muito melhor, e os modelos de raciocínio já trabalham o problema internamente antes de responder, então pedir que pensem passo a passo acrescenta menos do que antes.

O que não mudou é a parte que nunca foi truque. O modelo continua sem saber qual é o seu público, os seus dados, as suas restrições ou como é um bom resultado, a não ser que você diga. Especificar com clareza é a habilidade que dura, e é nela que este guia gasta a maior parte das páginas.

Perguntas frequentes

O que é engenharia de prompt, em palavras simples?

Engenharia de prompt é escrever as instruções para um modelo de IA com cuidado suficiente para que ele dê a resposta de que você precisa, e depois testá-las e ajustá-las até que ele faça isso de forma confiável. Ela cobre o que você diz ao modelo (a tarefa, o contexto e os exemplos) e como você organiza isso (ordem, formato e separadores).

Dá para aprender engenharia de prompt sem saber programar?

Dá. As habilidades principais, declarar a tarefa com clareza, fornecer contexto, dar exemplos e especificar o formato da saída, funcionam todas em um app de chat. Programar passa a ser útil quando você quer rodar um prompt muitas vezes, testá-lo com um conjunto de entradas ou mandar a saída para um programa.

Quanto tempo leva para aprender engenharia de prompt?

O básico leva uma tarde: as partes de um bom prompt e algumas técnicas, como exemplos few-shot e saída estruturada. Conseguir resultados confiáveis em uma tarefa real leva mais tempo, porque isso vem de testar o prompt com muitas entradas e corrigir os casos em que ele falha.

Engenheiro de prompt é uma profissão de verdade?

Algumas empresas contrataram para cargos como "engenheiro de prompt", mas é mais comum a habilidade fazer parte de outra função: desenvolvedores que criam recursos de IA, redatores, analistas e equipes de suporte. Em equipes que constroem produtos de IA, ela se mistura com o trabalho de avaliação e com o desenho de tudo o que o modelo vê, o que hoje costuma ser chamado de engenharia de contexto.

Engenharia de prompt ainda é útil com os modelos mais novos?

Os modelos mais novos precisam de menos truques. Eles seguem instruções simples melhor, e os modelos de raciocínio resolvem problemas sem que alguém mande pensar passo a passo. O que continua útil é a parte que nunca foi truque: declarar a tarefa, dar ao modelo os fatos que ele não tem como saber e definir como é uma boa resposta.

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR