📋 Por que Estruturar?
Estruturar prompts e especialmente eficaz com modelos nao-reasoning. Mas mesmo reasoning models como Claude 3.7 Sonnet se beneficiam de XML tags e formatacao clara. A estrutura ajuda o modelo a entender onde cada informacao esta e como ela deve ser processada.
💡 Conceito Principal
Um prompt bem estruturado e como um formulario preenchido: cada campo esta claramente identificado e o modelo sabe exatamente onde encontrar cada informacao.
- • Headers: Identificam secoes do prompt
- • XML Tags: Demarcam conteudo especifico
- • Listas: Organizam multiplos itens
- • Separadores: Dividem contextos diferentes
📊 Quando e Mais Importante
- Modelos nao-reasoning: GPT-4o, Claude 3.5 sem extended thinking
- Tarefas complexas: Multiplas instrucoes ou contextos
- Outputs estruturados: Quando voce precisa de JSON, tabelas, etc.
- Prompts reutilizaveis: Templates que serao usados multiplas vezes
🏷️ XML Tags
XML tags sao uma forma poderosa de demarcar conteudo no prompt. Claude especialmente se beneficia desse formato, mas funciona bem em todos os modelos.
🎯 Estrutura de XML Tags
<context>
Informacoes de background aqui...
</context>
<task>
O que voce quer que o modelo faca...
</task>
<format>
Como o output deve ser formatado...
</format>
Tags comuns: <context>, <task>, <instructions>, <examples>, <format>, <constraints>
✓ Boas Praticas
- ✓ Use nomes descritivos para as tags
- ✓ Seja consistente com abertura/fechamento
- ✓ Agrupe informacoes relacionadas
✗ Evitar
- ✗ Tags genericas demais (<info>, <data>)
- ✗ Aninhamento excessivo (muitos niveis)
- ✗ Misturar estilos diferentes no mesmo prompt
📝 Headers e Secoes
Headers funcionam como titulos de capitulos em um livro. Eles ajudam o modelo a navegar pelo prompt e entender a hierarquia das informacoes.
🎯 Exemplo de Estrutura com Headers
# ROLE
Voce e um consultor financeiro experiente.
# CONTEXT
O cliente tem R$10.000 para investir com perfil moderado.
# TASK
Crie um plano de investimento diversificado.
# OUTPUT FORMAT
- Lista de ativos recomendados
- Percentual de alocacao para cada
- Justificativa em 1-2 frases
💡 Dica Importante
Use CAPS LOCK nos headers para destaca-los visualmente. Isso ajuda tanto voce (ao revisar o prompt) quanto o modelo (ao processar). Alguns preferem usar markdown (#, ##) enquanto outros preferem === ou ---. O importante e ser consistente.
📊 Pedindo Outputs Estruturados
Uma das aplicacoes mais uteis da estruturacao e pedir que o modelo retorne dados em formatos especificos como JSON, tabelas ou listas formatadas.
| Formato | Quando Usar | Exemplo de Instrucao |
|---|---|---|
| JSON | APIs, automacoes, integracao | Output em JSON valido |
| Markdown | Documentacao, README | Formate em markdown |
| Tabela | Comparacoes, dados tabulares | Crie uma tabela com colunas X, Y, Z |
| Lista numerada | Passos, prioridades | Liste em ordem de prioridade |
🔧 OpenAI Structured Outputs
OpenAI tem uma feature especifica chamada Structured Outputs na API que garante JSON valido. Muito util para aplicacoes que precisam parsear a resposta programaticamente. Claude tambem suporta isso atraves do tool use.
🔄 Reasoning vs Non-Reasoning
A necessidade de estruturacao varia dependendo do tipo de modelo que voce esta usando. Reasoning models precisam de menos estrutura, mas ainda se beneficiam dela.
Non-Reasoning Models
GPT-4o, Claude 3.5 Sonnet (sem extended thinking)
- • Alta necessidade de estruturacao
- • XML tags fazem grande diferenca
- • Headers ajudam muito na navegacao
- • Instrucoes explicitas sao essenciais
Reasoning Models
O3, Claude 3.7 Sonnet (extended thinking)
- • Menor necessidade, mas ainda util
- • Conseguem inferir estrutura do contexto
- • Claude 3.7 ainda se beneficia de XML
- • Bom para outputs complexos
💡 Regra Pratica
Na duvida, estruture. O overhead de adicionar headers e tags e minimo, e os beneficios em clareza e consistencia compensam. So simplifique se estiver otimizando para custo/latencia E ja validou que o modelo entende o prompt sem estrutura.
🔧 Exercicio Pratico
Vamos transformar um prompt desestruturado em um prompt bem estruturado.
❌ Prompt Desestruturado (ANTES)
Escreva um email para meu chefe pedindo ferias. Quero tirar 2 semanas em marco. Meu nome e Joao e meu chefe e Maria. O tom deve ser profissional mas amigavel. Mencione que vou deixar tudo organizado antes de sair.
✓ Prompt Estruturado (DEPOIS)
<task>
Escreva um email profissional solicitando ferias
</task>
<context>
- Remetente: Joao
- Destinatario: Maria (gerente)
- Periodo: 2 semanas em marco
</context>
<requirements>
- Tom: profissional mas amigavel
- Mencionar: preparacao antes da saida
- Tamanho: 3-4 paragrafos
</requirements>
📝 Seu Desafio
Tarefa: Pegue um prompt que voce usa no dia-a-dia e reestruture usando:
- XML tags para separar secoes
- Headers claros para cada parte
- Formato de output especificado
- Constraints ou regras explicitas
Meta: Reduzir ambiguidade e aumentar consistencia dos resultados.
📋 Resumo do Modulo
Proximo Modulo:
1.5 - Temperature e Top P: controle de criatividade e determinismo