Capítulo 3: Formatação e Estrutura
🎯 Objetivos de Aprendizagem
Após concluir este capítulo, você será capaz de:
- Utilizar formatação markdown de forma eficaz em prompts
- Criar templates de saída para resultados consistentes
- Especificar estruturas complexas (tabelas, JSON, código)
- Construir frameworks reutilizáveis de prompt
📚 Introdução
O formato da sua saída é tão importante quanto o conteúdo. Uma resposta bem estruturada é mais fácil de ler, usar e processar. Este capítulo ensina como obter exatamente o formato que você precisa.
Markdown em Prompts
Por que usar Markdown?
Modelos de IA entendem e geram markdown muito bem. Usá-lo ajuda a:
- Organizar prompts complexos
- Solicitar formatação específica
- Obter saídas consistentes e legíveis
Elementos Comuns de Markdown
# Títulos para seções
## Subtítulos
### Sub-subtítulos
**Negrito** para ênfase
*Itálico* para termos
`code` para código em linha
- Pontos para listas
1. Listas numeradas
2. Para sequências
> Blocos de citação para citações
| Tabelas | Para | Dados |
|---------|------|-------|
```code blocks```
Solicitando Saída em Markdown
Escreva um resumo de machine learning. Formate usando:
- Títulos H2 para seções principais
- Pontos para conceitos-chave
- Negrito para termos importantes
- Uma tabela de comparação para tipos de ML
Templates de Saída
O que é um Template de Saída?
Uma estrutura predefinida que a IA preenche:
Gere uma avaliação de produto usando este template:
---
Nome do Produto: [nome]
Avaliação: [X/5 estrelas]
Preço Pago: [valor]
Prós:
• [pró 1]
• [pró 2]
• [pró 3]
Contras:
• [contra 1]
• [contra 2]
Resumo: [um parágrafo]
Recomendação: [Comprar/Considerar/Evitar]
---
Benefícios dos Templates
| Benefício | Descrição |
|---|---|
| Consistência | Mesma estrutura sempre |
| Completude | Garante todas as informações |
| Extração fácil | Fácil de extrair dados |
| Profissionalismo | Saída limpa e organizada |
Exemplos de Templates
Template de Ata de Reunião:
Formate a discussão como ata de reunião:
## Reunião: [Título]
**Data:** [Data]
**Participantes:** [Nomes]
### Decisões Principais
1. [Decisão 1]
2. [Decisão 2]
### Ações
| Item | Responsável | Prazo |
|--------|-------------|-----------|
| [Tarefa] | [Pessoa] | [Data] |
### Próximos Passos
- [Próximo passo 1]
- [Próximo passo 2]
Template de Relato de Bug:
Documente este bug usando o template:
**ID do Bug:** AUTO-[número]
**Gravidade:** [Crítico/Alta/Média/Baixa]
**Status:** Aberto
**Descrição:**
[Resumo em uma frase]
**Passos para Reproduzir:**
1. [Passo 1]
2. [Passo 2]
3. [Passo 3]
**Comportamento Esperado:**
[O que deveria acontecer]
**Comportamento Atual:**
[O que acontece em vez disso]
**Ambiente:**
- SO: [Sistema Operacional]
- Navegador: [Navegador + versão]
- Versão do App: [Versão]
Formatos de Dados Estruturados
Saída em JSON
Extraia informações de contato e retorne em JSON:
{
"name": "",
"email": "",
"phone": "",
"company": "",
"role": ""
}
Texto: "Oi, sou Sarah Chen da TechCorp. Sou VP de
Engenharia. Contate-me em sarah.chen@techcorp.com ou
ligue para 555-0123."
Saída:
{
"name": "Sarah Chen",
"email": "sarah.chen@techcorp.com",
"phone": "555-0123",
"company": "TechCorp",
"role": "VP of Engineering"
}
Saída em XML/HTML
Converta estes dados para o formato HTML:
Produto: Mouse sem fio
Preço: R$29,99
Características: Ergonômico, Cliques silenciosos, Bateria de 12 meses
Saída como um card de produto HTML com tags semânticas apropriadas.
Saída em CSV
Converta estes registros de vendas para o formato CSV com cabeçalhos:
"John vendeu 15 unidades do Produto A por R$500 na segunda-feira.
Mary vendeu 20 unidades do Produto B por R$800 na terça-feira.
Bob vendeu 10 unidades do Produto A por R$350 na quarta-feira."
CSV:
Estruturas de Tabela
Solicitação de Tabela Simples
Compare Python, JavaScript e Java em uma tabela com
colunas: Linguagem, Melhor Uso, Curva de Aprendizagem, Mercado de Trabalho.
Solicitação de Tabela Complexa
Crie uma matriz de decisão para escolha de banco de dados:
Linhas: PostgreSQL, MongoDB, Redis, MySQL
Colunas:
- Caso de Uso (melhor aplicação)
- Escalabilidade (nota 1-5)
- Curva de Aprendizagem (Fácil/Média/Difícil)
- Custo (Disponibilidade de plano gratuito)
- Quando Escolher
Adicione uma linha de cabeçalho e notas breves abaixo da tabela.
Especificações de Saída de Código
Solicitação Básica de Código
Escreva uma função Python para calcular fatorial.
Inclua:
- Type hints
- Docstring com exemplos
- Tratamento de erro para números negativos
Solicitação Detalhada de Código
Escreva uma função JavaScript com esta especificação:
Nome da Função: validateEmail
Parâmetros: email (string)
Retorna: { valid: boolean, reason: string }
Requisitos:
- Verificar símbolo @
- Verificar domínio
- Verificar TLD válido
- Retornar motivo específico para qualquer falha
Inclua:
- Comentários JSDoc
- 3 casos de teste como comentários
- Apenas sintaxe ES6+
Estruturas de Resposta em Múltiplas Partes
Seções Sequenciais
Analise esta proposta de negócio em três partes:
PARTE 1: RESUMO EXECUTIVO (2-3 frases)
[Análise aqui]
PARTE 2: FORÇAS E FRAQUEZAS
Forças:
- [Ponto 1]
- [Ponto 2]
Fraquezas:
- [Ponto 1]
- [Ponto 2]
PARTE 3: RECOMENDAÇÕES
[Lista numerada de recomendações]
Detalhamento em Camadas
Explique computação quântica em três níveis:
NÍVEL 1 - PARA UMA CRIANÇA (2 frases):
[Explicação simples]
NÍVEL 2 - PARA UM ESTUDANTE DO ENSINO MÉDIO (1 parágrafo):
[Explicação intermediária]
NÍVEL 3 - PARA UM ESTUDANTE DE CIÊNCIA DA COMPUTAÇÃO (2-3 parágrafos):
[Explicação técnica com terminologia]
Construindo Frameworks Reutilizáveis
Estrutura de Framework
┌─────────────────────────────────────────────────────────────┐
│ REUSABLE PROMPT FRAMEWORK │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ROLE] │
│ You are a {role} with expertise in {domain}. │
│ │
│ [TASK] │
│ Your task is to {action} the following {input_type}. │
│ │
│ [CONTEXT] │
│ Audience: {audience} │
│ Purpose: {purpose} │
│ Constraints: {constraints} │
│ │
│ [INPUT] │
│ {actual_input} │
│ │
│ [OUTPUT FORMAT] │
│ {template_structure} │
│ │
└─────────────────────────────────────────────────────────────┘
Exemplo de Framework: Revisão de Conteúdo
FRAMEWORK DE REVISÃO DE CONTEÚDO
Papel: Você é editor de conteúdo para {publication_type}.
Tarefa: Revise o seguinte {content_type} para
{review_criteria}.
Forneça feedback usando esta estrutura:
## Avaliação Geral
Nota: X/10
Resumo: [1 frase]
## Pontos Fortes
1. [Força com exemplo]
2. [Força com exemplo]
## Pontos a Melhorar
1. [Problema]: [Sugestão específica]
2. [Problema]: [Sugestão específica]
## Versão Editada (se aplicável)
[Conteúdo revisado]
---
Conteúdo para revisão:
{content}
Principais Aprendizados
Summary
- Markdown ajuda a organizar prompts e especificar a formatação da saída
- Templates garantem saídas consistentes e completas
- Solicite dados estruturados (JSON, CSV, tabelas) para uso programático
- Construa frameworks reutilizáveis para tarefas recorrentes
- Estratifique a complexidade quando necessário (simples → detalhado)