Engenharia de Prompt

Prompting Patterns

Zero-shot, one-shot e few-shot — melhorar qualidade sem trocar de modelo.

Intermediário 30 min 25 pontos Leitura 0%

Nesta aula você vai

  • Aplicar zero-shot, one-shot e few-shot
  • Escolher exemplos que guiam sem confundir
  • Medir melhoria incremental de respostas

Prompting Patterns

Objetivos

  • Aumentar qualidade sem fine-tuning e sem modelo maior
  • Usar exemplos como testes unitários do comportamento desejado

Ensinar pelo exemplo

Imagine contratar um atendente novo. Você pode dar só o manual (zero-shot) ou mostrar três atendimentos reais bem feitos (few-shot). O LLM aprende o padrão da mesma forma — imitando exemplos no prompt.

A vantagem: você não treina modelo nenhum. A desvantagem: exemplos custam tokens. O equilíbrio entre qualidade e preço é o jogo desta aula.

Zero-shot

Só instrução — nenhum exemplo.

Classifique a intenção do usuário em: FAQ | PEDIDO | PRODUTO | OUTRO.
Mensagem: "Qual o prazo de entrega do meu pedido 8842?"
Resposta: uma palavra apenas.

Funciona para tarefas comuns que o modelo já viu milhões de vezes na internet. Falha quando o formato é idiossincrático da sua empresa — labels internos, tom específico, regras de negócio incomuns.

Quando usar: prototipagem rápida, tarefas genéricas, orçamento apertado de tokens.

One-shot

Um exemplo entrada → saída antes da pergunta real.

Exemplo:
Entrada: "Quero saber onde está meu pacote"
Saída: PEDIDO

Agora classifique:
Entrada: "Vocês entregam no interior?"
Saída:

O modelo imita o padrão do exemplo — útil para labels customizados que não existem no "vocabulário padrão" do treinamento.

Diálogo de calibração:

Dev: "Zero-shot classificou 'reembolso' como OUTRO."
Colega: "Adiciona um exemplo com reclamação de pedido → PEDIDO."
Dev: "One-shot resolveu."

Few-shot

2–5 exemplos cobrindo casos limítrofes.

Exemplos:
"Onde está pedido 123?" → PEDIDO
"Horário de funcionamento?" → FAQ
"Tem camiseta P azul?" → PRODUTO
"Oi" → OUTRO
"Política de troca?" → FAQ

Classifique: "Meu pedido atrasou, quero reembolso"

Regra de ouro: exemplos devem ser consistentes — se um FAQ tem pontuação diferente ou formato distinto, o modelo copia a inconsistência.

Escolha exemplos como escolher casos de teste: inclua o óbvio e o ambíguo.

Exercício progressivo

Mesma tarefa — extrair número de pedido de texto livre:

  1. Zero-shot: taxa de acerto ~70% em frases coloquiais
  2. + One-shot com "pedido número 4521" → 4521
  3. + Few-shot com "nº 4521", "#4521", "4521 por favor"
  4. Compare — few-shot costuma subir para >90% sem mudar modelo

Frases que costumam quebrar zero-shot:

"aquele pedido que fiz semana passada, 4521"
"segue o número: 4521"
"4521 — consegue ver?"

Few-shot ensina o modelo a olhar para o número, não para a estrutura da frase.

Custo de few-shot

Exemplos entram em input tokens — 5 exemplos longos × 10.000 usuários/dia = custo real. Para produção:

  • Few-shot curto no system prompt (só casos difíceis)
  • Ou fine-tuning futuro (fora do escopo)
  • Ou classificador pequeno separado (regex + LLM fallback)

Não é "quanto mais exemplos, melhor". É exemplos certos, curtos e mantidos no Git como especificação viva.

Chain-of-thought (bônus leve)

Para raciocínio: "Pense passo a passo antes de responder." — melhora contas e lógica, aumenta tokens. Use só onde necessário (cálculos, regras encadeadas), não em FAQ simples.

Resumo

  • Zero-shot: rápido, barato, tarefas genéricas
  • One/few-shot: ensina formato e domínio específico
  • Exemplos = especificação executável — mantenha no repositório
  • Mais exemplos ≠ sempre melhor — qualidade > quantidade

Com anatomia e padrões no bolso, falta organizar tudo em estrutura profissional — versionada, testável e legível para o time inteiro. É o assunto da próxima aula.