Início / Trilha 1 / Módulo 1.3
🏗️
MÓDULO 1.3 Trilha 1 — Fundamentos

🏗️ Padrões estruturais

No módulo passado você abriu o bilhete e viu as peças. Agora vamos olhar a forma dessas peças: como os profissionais arrumam um system prompt para ele ficar claro, organizado e fácil de manter. São cinco "moldes" que aparecem em quase todo prompt de verdade — e um aviso de quando não usar o mais famoso deles.

📋6 tópicos
~35 min
🎯Básico
🧱Estrutura
o prompt = blocos empilhados um bloco, por dentro <identity> quem é · onde opera · o que sabe <capabilities> o que pode fazer · com quais ferramentas <tone_and_style> como fala · formato das respostas <tool_calling> quando e em que ordem usar cada uma <safety> os limites que não atravessa blocos PLANOS (sem encaixar um dentro do outro) <identity> abre o bloco You are Perplexity Computer. Your goal is to solve as many things on your own as possible. ↑ o conteúdo (a regra de verdade) </identity> fecha o bloco o NOME da tag é a etiqueta é por ele que a IA acha a regra certa

Conteúdo detalhado

1

O Bloco de Identidade: "You are..."

Quase todo system prompt do mundo começa com as mesmas duas palavrinhas: "You are..." ("Você é..."). É a primeira linha, e ela faz um trabalho enorme: ancora quem a IA é antes de qualquer regra. Sem essa âncora, a IA deriva — muda de personalidade no meio do papo, inventa que tem ferramentas que não tem, fala de coisas que não conhece como se conhecesse.

🪪 A ideia em uma frase

O Bloco de Identidade responde três perguntas logo no começo: quem é a IA, onde ela opera e o que ela sabe (até quando vai o conhecimento dela). É a "âncora" que todo o resto do prompt referencia.

Pensa no crachá de um funcionário no primeiro dia: nome, cargo, setor. Em três linhas, todo mundo (e a própria IA) sabe com quem está falando. Nada de biografia — só o essencial pra fixar a autoimagem.

Identidade real, 3 linhas — OpenAI, gpt-5.5-instant.md (linha 1)
You are ChatGPT, a large language model trained by OpenAI, based on GPT 5.5.
Knowledge cutoff: 2025-08
Current date: 2026-06-01

Os três elementos canônicos em três linhas: persona ("You are ChatGPT..."), corte de conhecimento e data de hoje. Limpo, curto, sem enrolação.

Identidade real, com objetivo — Perplexity, perplexity-computer.md (abertura)
You are Perplexity Computer.

Your goal is to solve as many things on your own as possible. Use tools to answer your own questions and explore.

Aqui a identidade vem com o objetivo colado: quem é + o que veio fazer. "Resolva o máximo sozinho" não é regra solta — é a missão que dá sentido a todas as outras instruções.

COM uma boa identidade no topo

  • A IA mantém a mesma persona do começo ao fim
  • Sabe o que pode e o que não pode fazer
  • Não inventa fatos depois da data de corte
  • Curta: 3 a 5 linhas, só quem/onde/quando

SEM identidade (ou enterrada no meio)

  • "Vira" outra IA no meio da conversa
  • Afirma ter ferramentas que não existem
  • Responde sobre eventos que não conhece
  • Inflada com backstory que ninguém usa
🪪
Quem
"You are ChatGPT..."
📍
Onde
"You operate in Cursor"
📅
O que sabe
"Knowledge cutoff:..."
É âncora
não biografia
2

A Declaração de Capacidades: o que ela pode fazer

Logo depois de dizer quem é, um bom prompt diz o que a IA consegue fazer. Parece óbvio, mas é o passo que mais gente esquece — e o resultado é uma IA que se oferece pra gerar uma imagem que ela não sabe gerar, ou que ignora uma ferramenta que ela tinha o tempo todo. A Declaração de Capacidades é a lista de superpoderes da IA, cada um com a regrinha de quando usar.

O que é

Uma seção que lista cada capacidade com três coisas: o que faz, quando usar e a condição/limite ("se o usuário pedir...", "só quando for urgente..."). O segredo é que capacidade sem condição vira bagunça: a IA acaba usando a ferramenta certa na hora errada.

Por que aprender

Porque "dar poderes" não basta — é preciso ensinar quando usá-los. A diferença entre uma IA que tateia e uma que executa direto está aqui. E note: cada capacidade real carrega uma condição embutida, e é isso que evita a IA sair atropelando.

Capacidade + condição na mesma linha — xAI, grok-4.1-beta.md (~linha 11)
If it seems like the user wants an image generated, ask for confirmation, instead of directly generating one.

Veja como a capacidade ("gerar imagem") já vem com o protocolo ("peça confirmação primeiro"). Não é só "você pode gerar imagens" — é quando e como. Isso é uma capacidade bem declarada.

Capacidade como assinatura de função — Google, gemini-2.5-pro-api.md (~linha 18)
def concise_search(query: str, max_num_results: int = 3):
  """Does a search for the query and prints up to the max_num_results results."""

O Google declara capacidades como assinaturas de função: o escopo, os parâmetros e até o valor padrão (max_num_results = 3) ficam inequívocos. Não sobra dúvida do que dá pra fazer.

💡

Identidade ≠ Capacidades (não confunda)

A Identidade diz quem a IA é; a Declaração de Capacidades diz o que ela consegue fazer. Em chat puro, sem ferramentas, essa seção vira "o que eu não posso fazer" — curtinha, mas útil pra IA não prometer o que não entrega.

🧰
O que faz
lista de superpoderes
🎯
Quando usar
o gatilho de cada uma
🚧
A condição
"se o usuário pedir..."
🚫
Sem ferramenta?
liste o que NÃO pode
3

O Compartimento XML: cada assunto na sua gaveta

Imagine um prompt de mil linhas escrito como um textão sem parágrafos. Achar uma regra ali seria um pesadelo. A solução que os labs adotaram é simples e poderosa: colocar cada assunto numa "gaveta" com etiqueta. Essas gavetas são as tags XML — <tone_and_style>, <tool_calling>, <safety> — e elas deixam o prompt navegável. É o diagrama lá do topo: blocos empilhados, cada um com seu nome.

🏷️

1. A tag de abertura — <tone_and_style>

Marca o começo da gaveta e dá o nome dela.

O nome da tag funciona como etiqueta: a IA "puxa" o bloco certo na hora certa. Quando a conversa pede um tom, ela vai direto na gaveta tone.

📦

2. O conteúdo — as regras daquele assunto

Tudo que diz respeito ao tom (e só ao tom) mora aqui dentro.

Nada de misturar: regra de segurança não entra na gaveta do tom. Cada assunto isolado — é isso que deixa o prompt fácil de ler e de mexer.

🔚

3. A tag de fechamento — </tone_and_style>

Fecha a gaveta. A próxima gaveta (outro assunto) começa logo abaixo.

Com início e fim claros, dá pra trocar uma gaveta inteira sem encostar nas outras — e dá pra comparar duas versões do prompt e dizer exatamente "mudou o bloco do tom".

Duas gavetas vizinhas, cada uma com um assunto — Cursor, cursor.md (~linhas 80–93)
<tone_and_formatting>
- Only use emojis if the user explicitly requests it...
</tone_and_formatting>

<tool_calling>
You have tools at your disposal...
</tool_calling>

Para mudar a política de tom, edita-se o primeiro bloco — o resto fica intacto. As tags são planas (uma do lado da outra), não encaixadas uma dentro da outra. Voltamos a essa palavra "plana" no Tópico 6.

🗂️

Por que isso ajuda gente, não só a IA

Um prompt compartimentado vira navegável por uma equipe. Dá pra fazer "code review" de um bloco, comparar versões e dizer "a Anthropic removeu o bloco <search_first>" — uma frase precisa. Sem as gavetas, seria "mudou alguma coisa em algum lugar".

🏷️
Abre
<nome>
📦
Conteúdo
só aquele assunto
🔚
Fecha
</nome>
🧩
Modular
troca uma sem mexer nas outras
4

A Regra por Exemplo: mostrar em vez de descrever

"Formate as citações adequadamente." Adequadamente como? Essa frase admite mil interpretações — e a IA vai escolher uma, provavelmente a errada. O molde que resolve isso é simples: mostre um exemplo em vez de (só) descrever. Um exemplo concreto elimina de uma vez a ambiguidade que três parágrafos de explicação não eliminam.

🎯 Mostrar > descrever

A IA casa padrão muito melhor do que segue especificação verbal. Em vez de explicar um formato em prosa, você cola um exemplo do certo (e, melhor ainda, um par certo × errado). O exemplo carrega a regra — às vezes antes mesmo de a prosa explicá-la.

É a diferença entre dizer "monte o móvel corretamente" e desenhar o móvel montado. O desenho não deixa dúvida.

A regra de citação por exemplo — Perplexity, perplexity-computer.md (<citation_instructions>)
The anchor text must be the source name, publication, or a natural descriptive phrase — never a generic word like "source" or "link", and never a raw URL.

WRONG: "The population grew 5% ([source](https://...))"
RIGHT: "The population grew 5% ([World Bank](https://...))"
RIGHT: "According to [World Bank data](https://...), the population grew 5%"

Repare na engenharia: a regra em prosa ("o texto do link tem que ser o nome da fonte, nunca uma palavra genérica como 'source' ou 'link'") já seria boa — mas vem reforçada por um par WRONG/RIGHT que mostra exatamente o errado e o certo. Impossível interpretar mal.

Formato mostrado em duas linhas — Notion, notion-ai.md (~linhas 121–125)
Example: <database url="URL" inline>Title</database>
Example: <database url="URL" locked>Title</database>

Duas linhas de exemplo substituem um parágrafo inteiro descrevendo atributos. A IA vê o formato e copia o padrão — não a palavra literal.

Exemplo bem usado

  • Mostra o formato e a mecânica
  • Usa par certo × errado (WRONG/RIGHT)
  • É curto — atalho, não enciclopédia
  • Deixa óbvio o que é "preencher aqui"

O perigo: "overfit" ao exemplo

  • A IA copia o exemplo literalmente
  • Trata a lista de exemplos como exaustiva
  • Exemplo tão longo quanto a saída esperada
  • Usar exemplo pra julgamento (engessa)
👀
Mostrar
não só descrever
⚖️
Par certo×errado
WRONG / RIGHT
📐
É pra formato
não pra julgamento
⚠️
Cuidado overfit
não copie ao pé da letra
5

Nomear blocos: o nome já é uma instrução

Aqui vem um detalhe lindo e fácil de perder: o nome que você dá a um bloco também ensina a IA. Não é só uma etiqueta administrativa. Mude o nome — mesmo deixando o conteúdo igual — e a IA passa a se comportar de um jeito diferente. Tem um caso real, da Anthropic, que prova isso de forma quase poética.

Mesma regra, nome diferente — Anthropic, Opus 4.8 → Fable 5
Antes (Opus 4.8) — uma ordem:
<claude_prioritizes_copyright_compliance>
Depois (Fable 5) — um valor:
<core_copyright_principle>

A regra dura por dentro continua a mesma ("Copyright compliance is NON-NEGOTIABLE"). Só o nome do bloco mudou: de compliance ("cumpra as regras") para principle ("respeite a propriedade intelectual").

🧠 Por que isso muda tudo

"Compliance" é uma ordem: a IA obedece nos casos listados, e só neles. "Principle" é um valor: a IA raciocina a partir dele e cobre até os casos que ninguém previu. O nome muda a postura da IA diante de uma situação nova.

Ou seja: o nome do bloco é a primeira linha que a IA lê daquele assunto — e ela já "entra no clima" certo por causa dele. Por isso escolher bons nomes é parte do trabalho, não enfeite.

💡

Nomeie por valor, não por mecânica

Prefira <respects_user_privacy> a <privacy_rules_v2>. O primeiro nome diz por quê e convida a IA a raciocinar; o segundo é só uma gaveta sem alma. Esse princípio volta com força no Módulo 1.6 ("de regra para princípio").

🏷️
O nome ensina
não é só etiqueta
📜
compliance
= ordem (casos fixos)
🧭
principle
= valor (generaliza)
Mesmo conteúdo
comportamento diferente
6

Quando NÃO usar XML (sim, às vezes ele atrapalha)

Depois de tanto elogio às gavetas XML, vem o contrapeso honesto: nem todo prompt precisa delas. Estrutura demais, no lugar errado, vira cerimônia — só atrapalha. Saber quando não usar um molde é tão importante quanto saber usá-lo. Aqui vão os três casos em que o XML sobra.

⚠️ Os três casos em que o XML sobra

  • Prompt curtinho (menos de ~50 linhas). Se cabe numa tela, as tags viram enfeite. Um pedido de uma tarefa só não precisa de gaveta — escreve direto.
  • Quando markdown já resolve. Agentes de código (como o Claude Code) usam # Títulos em markdown no lugar de XML — cumpre o mesmo papel de separar assuntos, e fica mais natural ali.
  • Aninhamento profundo de tags. Os prompts reais mantêm os blocos planos — raramente passam de 2 níveis. Encaixar gaveta dentro de gaveta dentro de gaveta vira labirinto.

XML faz sentido quando...

  • O prompt é longo (muitos assuntos)
  • Vai ser versionado e mantido por um time
  • Você quer comparar versões por bloco (diff)
  • Há políticas que se beneficiam de fronteira clara

XML sobra quando...

  • É uma instrução curta de uma tarefa só
  • Markdown com títulos já organiza bem
  • Você se pegou aninhando 3+ níveis de tags
  • A estrutura tomou mais espaço que o conteúdo
🧰

A regra de bolso

Estrutura existe pra servir a clareza, não o contrário. Se a gaveta deixa o prompt mais fácil de ler e manter, use. Se ela só adiciona ruído, tire. O molde é ferramenta — você manda nele, não o contrário.

📏
Curto?
escreve direto
#
Markdown
resolve em código
🧱
Planos
≤ 2 níveis
🎯
Serve à clareza
senão, tira

📝 Resumo do Módulo

  • O Bloco de Identidade ("You are...") ancora quem/onde/quando logo na 1ª linha
  • A Declaração de Capacidades lista o que a IA pode fazer — cada uma com sua condição
  • O Compartimento XML põe cada assunto numa gaveta nomeada (<tag>), plana e modular
  • A Regra por Exemplo mostra o formato (par WRONG/RIGHT) em vez de só descrever
  • O nome do bloco também é instrução: compliance (ordem) vs principle (valor)
  • Nem todo prompt precisa de XML — em texto curto ou código, ele vira cerimônia

➡️ Próximo Módulo

1.4 — 🎚️ Padrões comportamentais. Você já tem a forma dos blocos. Agora vamos ao conteúdo: como escrever as regras dentro deles — com porquê, com contraste always/never, com orçamento de concisão — pra a IA não só obedecer, mas entender.