Engenharia de Prompt
Prompting Patterns
Zero-shot, one-shot e few-shot — melhorar qualidade sem trocar de modelo.
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:
- Zero-shot: taxa de acerto ~70% em frases coloquiais
- + One-shot com "pedido número 4521" →
4521 - + Few-shot com "nº 4521", "#4521", "4521 por favor"
- 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.