Apêndice E: Padrões de Prompt
Este apêndice apresenta templates e padrões de prompts testados e eficazes para diferentes casos de uso. Use como ponto de partida e adapte para suas necessidades específicas.
Estrutura Básica de Prompts
Template Geral
[CONTEXTO DO SISTEMA]
Você é um [PAPEL]. Sua especialidade é [DOMÍNIO].
[INSTRUÇÕES]
Tarefa: [DESCRIÇÃO CLARA]
Requisitos:
- [REQUISITO 1]
- [REQUISITO 2]
[EXEMPLOS - OPCIONAL]
Exemplo 1:
Input: [ENTRADA]
Output: [SAÍDA]
[INPUT DO USUÁRIO]
Input: [ENTRADA ATUAL]
[FORMATO DE SAÍDA]
Output: [ESTRUTURA ESPERADA]
Padrões por Categoria
1. Zero-Shot Prompts
Classificação de Texto
Classifique o sentimento do seguinte texto em: POSITIVO, NEGATIVO, ou NEUTRO.
Responda apenas com a categoria.
Texto: "{texto}"
Categoria:
Extração de Informação
Extraia as seguintes informações do texto:
- Nome completo
- Email
- Telefone
- Empresa
Se ausente, retorne "N/A".
Texto: "{texto}"
JSON:
{
"nome": "",
"email": "",
"telefone": "",
"empresa": ""
}
2. Few-Shot Prompts
Geração de Títulos
Gere título atraente baseado no conteúdo.
Exemplo 1:
Conteúdo: "Exploramos técnicas de otimização SQL..."
Título: "5 Técnicas de Otimização SQL para Bancos Massivos"
Exemplo 2:
Conteúdo: "ML transformou detecção de fraude..."
Título: "Como ML Revolucionou Detecção de Fraudes"
Exemplo 3:
Conteúdo: "{seu_conteudo}"
Título:
3. Chain-of-Thought (CoT)
CoT Básico
Resolva passo a passo. Mostre seu raciocínio.
Problema: {problema}
Vamos pensar passo a passo:
1.
CoT com Verificação
Resolva com raciocínio passo a passo. Ao final, verifique.
Problema: {problema}
Raciocínio:
1. [Passo]
2. [Passo]
Resposta preliminar: [X]
Verificação:
- Correto? [Sim/Não]
- Se não, erro: [Explicação]
- Resposta corrigida: [Y]
Resposta final:
4. ReAct (Reasoning + Acting)
Use ferramentas disponíveis alternando entre raciocínio e ação.
Ferramentas:
- search(query): Busca internet
- calculator(expr): Calcula
- wikipedia(topic): Busca Wikipedia
Formato:
Thought: [Raciocínio]
Action: [Ferramenta]
Observation: [Resultado]
... (repetir)
Answer: [Resposta final]
Pergunta: {pergunta}
Thought:
5. Structured Outputs
JSON Schema
Extraia informações no formato JSON exato:
Schema:
{
"produto": {
"nome": "string",
"preco": "number",
"categoria": "string"
},
"avaliacao": {
"nota": "number (1-5)",
"comentario": "string"
}
}
Texto: "{texto}"
JSON:
6. Role-Playing
Expert em Domínio
Você é professor de física com 20 anos de experiência.
Conhecido por explicações claras com analogias.
Explique para iniciante: "{conceito}"
Deve:
- Usar analogia concreta
- Evitar jargão
- Incluir exemplo prático
- Terminar com pergunta de verificação
Boas Práticas
Faça
- Seja específico: “Liste 3 vantagens” > “Fale sobre vantagens”
- Use exemplos: Few-shot melhora consistência
- Defina formato: JSON, Markdown, etc.
- Adicione contexto: Por que importa
- Itere: Teste e refine
Evite
- Ambiguidade: “Descreva um pouco” → Quanto?
- Suposições: Não assuma contexto
- Prompts longos: >2000 tokens raramente ajuda
- Múltiplas tarefas: Uma tarefa clara
- Imprecisão: “Tipo”, “meio que”
Debugging de Prompts
Saída Inconsistente
Solução: Adicione especificidade
[ANTES] "Resuma o texto"
[DEPOIS] "Resuma em 3 frases. Máximo 20 palavras cada."
Modelo Inventa Informações
Solução: Restrinja fonte
[ADICIONE] "Baseie APENAS no texto fornecido.
Se ausente, diga 'Não mencionado'."
Formato Não Respeitado
Solução: Mostre exemplo
Entrada: "..."
Saída esperada: {"campo": "valor"}
Agora:
Entrada: "{sua_entrada}"
Saída:
Templates por Framework
LangChain
from langchain.prompts import PromptTemplate
template = """Você é {role}. Tarefa: {task}.
Contexto: {context}
Pergunta: {question}
Resposta:"""
prompt = PromptTemplate(
input_variables=["role", "task", "context", "question"],
template=template
)OpenAI API
messages = [
{
"role": "system",
"content": "Especialista em {domain}"
},
{
"role": "user",
"content": "{task}: {input}"
}
]Última atualização: 2025-01-07
Padrões: 15+ templates testados