Fundamentos

Boas práticas de engenharia de prompts

Dez boas práticas de engenharia de prompts para escrever melhores prompts de IA e obter respostas mais confiáveis, cada uma com um exemplo de antes e depois.

Traduzido do original em inglês. Código, prompts e saídas de modelos são mantidos em inglês.

Estas dez práticas valem para todos os modelos e tarefas. Nenhuma depende de um truque que a próxima versão de um modelo possa quebrar. Cada uma vem com um breve antes e depois para você ver a mudança na página.

1. Coloque a tarefa primeiro

Comece com uma frase no imperativo. Tudo o que vem depois é lido como apoio a essa tarefa.

  • Antes: I have a spreadsheet of expenses from last year.
  • Depois: Categorize the expenses below into travel, software, and office.

2. Seja específico sobre escopo, público e tamanho

Palavras vagas entregam decisões ao modelo. Troque-as pelos valores reais.

  • Antes: Write a short post about our new feature for users.
  • Depois: Write a 120-word announcement of scheduled exports for existing admins who already use manual exports.

3. Use números para os tamanhos

“Alguns”, “breve” e “detalhado” significam coisas diferentes a cada execução. Um número e uma unidade tornam o tamanho previsível.

  • Antes: Give me some ideas.
  • Depois: Give me 5 ideas, one sentence each.

4. Diga o que fazer, não apenas o que evitar

Uma lista de proibições nomeia tudo o que você não quer e nada do que quer. Associe cada “não faça” ao comportamento que você deseja no lugar.

  • Antes: Don't be too formal. Don't use jargon.
  • Depois: Write in a conversational tone, using words a new customer would know.

5. Especifique o formato de saída

Indique a estrutura e, para saída lida por máquina, o esquema exato. Acrescente “retorne apenas o JSON” quando nada mais deve aparecer. Mais em prompts de saída estruturada.

6. Separe as instruções da entrada

Envolva documentos, mensagens de usuários e variáveis em delimitadores claros, como tags no estilo XML. O modelo passa a distinguir dados de instruções, e é menos provável que uma frase dentro dos dados seja seguida como comando.

Summarize the email in the tags below in 2 sentences.

<email>
{{email_body}}
</email>

7. Dê exemplos para julgamentos subjetivos

Quando o “bom” é mais fácil de mostrar do que de definir, inclua dois ou três exemplos. Faça-os variados, para que o modelo aprenda o padrão e não uma característica superficial. Veja o few-shot prompting.

8. Estruture prompts longos

Passado mais ou menos um parágrafo, use seções: Tarefa, Contexto, Requisitos, Formato de saída, Entrada. Os títulos tornam um prompt mais fácil de seguir para um modelo e muito mais fácil de editar com segurança para uma pessoa.

9. Remova o que não muda a resposta

Saudações, cortesias e instruções repetidas acrescentam tokens sem acrescentar informação. A repetição pode até atrapalhar: quando duas frases quase idênticas diferem um pouco, o modelo precisa decidir qual delas você quis dizer.

  • Antes: Hi! Could you please make sure to really focus on accuracy? Please make sure to focus on accuracy.
  • Depois: Prioritize accuracy over completeness.

10. Teste com entradas reais e guarde os resultados

Um prompt está pronto quando foi executado com entradas representativas e as falhas são compreendidas. Guarde essas entradas como um conjunto de testes e execute-as de novo após cada edição. Veja a avaliação de prompts.

Como melhorar as respostas da IA quando um prompt rende menos que o esperado

Percorra as causas em ordem de probabilidade:

Sintoma Causa provável Correção
Resposta diferente a cada execução Um tamanho ou formato não especificado Acrescente números e um formato de saída
Resposta genérica Contexto ausente Acrescente público, domínio e restrições
Ignora uma instrução Conflito ou enterrada em um parágrafo longo Remova o conflito, mova-a para uma lista
Tom errado Tom descrito de forma vaga Mostre um exemplo do tom
Inventa coisas Pediram fatos que não lhe foram dados Forneça o texto-fonte e exija citações
Segue texto da entrada Entrada sem delimitação Envolva a entrada em tags

Verifique isso automaticamente

Várias dessas práticas podem ser verificadas sem executar um modelo. O analisador de prompts do PromptFlowEngine sinaliza objetivo ausente, linguagem vaga, tamanhos não quantificados, restrições apenas negativas, formato de saída ausente, variáveis sem delimitação e enchimento, e liga cada achado a uma página de referência com um exemplo corrigido. O otimizador de prompts aplica por você as práticas 8 e 9 e verifica que nenhum requisito foi perdido.

Em seguida, leia os erros comuns de engenharia de prompts que essas práticas buscam evitar.