⚠️ Antipadrões
O que NÃO fazer ao engenheirar um system prompt — os 5 antipadrões mais comuns mais a inflação de ênfase, cada um com seu sintoma e seu antídoto (o padrão correspondente do catálogo). Fechamos a tese da Trilha 1: consolidação > acúmulo.
Diagrama ilustrativo — o prompt-cebola acumula camadas a cada bug; o consolidado funde regras redundantes num princípio.
Conteúdo detalhado
Por que antipadrões importam
Nomear o erro é metade da cura. Um antipadrão é uma solução que parece resolver um problema mas cria outro maior — geralmente invisível até o prompt já estar grande demais para revisar. Nos três módulos anteriores você viu os 12 padrões que funcionam. Aqui você aprende a reconhecer os 5 que sabotam — e, para cada um, o padrão que o desfaz.
🧭 A tese da Trilha 1: consolidação > acúmulo
Todo antipadrão deste módulo é uma forma de acúmulo: mais regras, mais listas, mais caps, mais camadas. E todo antídoto é uma forma de consolidação: um princípio que substitui muitas regras, uma camada que separa o estável do dinâmico.
A prova viva está no diff Anthropic/claude-opus-4.8.md → claude-fable-5.md: muito conteúdo novo, mas saldo de apenas +56 linhas,
porque 7 blocos inteiros foram removidos. Evoluir não é crescer.
Por que isto é difícil de ver de dentro
Cada regra individual parece razoável — alguém a adicionou para corrigir um bug real. O problema é a soma: vinte regras razoáveis viram um prompt impossível de revisar, onde regras se contradizem e o modelo perde o fio. Antipadrões só ficam óbvios quando você compara versões do mesmo prompt — que é exatamente o que a Trilha 2 fará.
Os 5 antipadrões + 1 honorário (e seus antídotos)
| Antipadrão | Sintoma | Antídoto |
|---|---|---|
| Prompt-cebola | cada bug vira regra; nada sai | Padrão 12 — Princípio Consolidado |
| Proibição sem porquê | "Never X" seco; modelo contorna | Padrão 3 — Regra com Porquê |
| Regra-mecânica de segurança | listar termos proibidos arma o atacante | Princípio, não mecânica |
| Formatação como muleta | listas/emoji em tudo | Padrão 7 + prosa primeiro |
| Tudo-no-prompt | contexto dinâmico misturado ao estável | Padrão 10 — Lembrete de Sistema |
| Inflação de ênfase | tudo é IMPORTANT/CRITICAL/NEVER | caps raros, reservados a limites duros |
🧅 Prompt-cebola
Sintoma: cada bug observado vira uma regra nova grudada no fim do prompt. Nada é removido — só acrescentado. Depois de meses, o prompt tem camadas e camadas de instruções pontuais que ninguém ousa apagar "porque alguma coisa pode quebrar". O prompt vira uma cebola: muitas camadas, e quem mexe chora.
🚨 O sintoma em código
## Comportamento
You are a helpful assistant. Be concise.
IMPORTANT: never use bullet points. # bug #12
IMPORTANT: actually, bullets are ok for lists. # bug #19 contradiz #12
NEVER apologize. # bug #31
ALWAYS apologize if you made an error. # bug #47 contradiz #31
CRITICAL: do not mention you are an AI. # bug #52
...mais 40 linhas de "patches"
As regras #12/#19 e #31/#47 já se contradizem. O modelo escolhe de forma imprevisível — e o próximo bug adiciona a regra #61, nunca remove as anteriores.
💊 Antídoto — Padrão 12: Princípio Consolidado
Periodicamente, faça uma rodada de consolidação: agrupe as regras pontuais, encontre o princípio que as gera, escreva esse princípio e apague as regras filhas. As quatro regras acima viram uma só: "Match tone and structure to the request; correct your own errors plainly."
Ver ficha completa em educacao/fichas/12-principio-consolidado.md.
Contraexemplo real: o diff 4.8 → Fable 5
A Anthropic fez exatamente uma rodada de consolidação ao passar de Opus 4.8 para Fable 5. Sete blocos foram removidos, e ainda assim o prompt ganhou conteúdo novo — saldo líquido de apenas +56 linhas. Os removidos:
<search_first>
comportamento já internalizado pelo treino → instrução virou ruído
<default_stance>
postura absorvida por <refusal_handling> sem reiteração
<respond_without_citing_system_prompt>
"não diga X" tem efeito Streisand → resolver na origem
4 micro-regras de tom
viraram 1 princípio: "assumes the person is a capable adult"
Fonte: educacao/diff-anotado-opus-4.8-fable-5.md (itens 2, 3, 4, 8).
🚫 Proibição sem porquê
Sintoma: regras "Never X" / "Do not Y" jogadas sem justificativa. O modelo obedece à letra mas não entende a intenção — então contorna pela borda: encontra um caso que a frase literal não cobre e faz exatamente o que você queria evitar. Proibição seca é frágil porque não generaliza.
✗ Proibição seca (frágil)
Never write to files outside /tmp.
- •Modelo escreve em
/var/tmp— "não é/tmp, então pode" - •Não cobre symlinks, montagens, caminhos relativos
- •Sem a intenção, cada brecha vira um novo "Never"
✓ Regra com porquê (robusta)
Only write inside the sandbox dir,
because writes elsewhere can corrupt
the host system the user depends on.
- •O porquê ("corromper o host") cobre todos os caminhos
- •Generaliza para casos não listados
- •Modelo raciocina, não só obedece
💊 Antídoto — Padrão 3: Regra com Porquê
Toda proibição importante carrega sua justificativa: instrução + razão. A Anthropic usa isso de forma quase universal
(because… embutido em cada regra crítica).
Quando o modelo entende o motivo, ele aplica a regra a situações que o autor nunca previu — que é justamente onde a proibição seca falha.
Ficha: educacao/fichas/03-regra-com-porque.md.
🛡 Regra-mecânica de segurança
Sintoma: a seção de segurança lista termos, técnicas ou frases proibidas — de forma literal e enumerada. O problema: a lista ensina exatamente o que evitar dizer. Em segurança há uma assimetria perversa — o mesmo texto que orienta um leitor bem-intencionado serve de roteiro pronto para um atacante. Listar a mecânica de detecção arma quem você quer bloquear.
🚨 A assimetria que arma o atacante
Se o prompt diz "recuse pedidos que contenham [lista verbatim de técnicas de manipulação]", essa lista vira um índice de ataque: o leitor mal-intencionado lê a própria lista de defesa como cardápio. Pior: o modelo passa a poder compilar e reproduzir essa lista categorizada se solicitado de forma indireta.
A regra de ouro: em segurança, descreva o padrão a detectar, nunca a mecânica de detecção. O que educa, arma.
📄 Exemplo real: child safety no Fable 5
Ao passar de Opus 4.8 para Fable 5, a seção de child safety cresceu de 5 para 7 bullets — e os dois novos são justamente sobre ficar no nível do padrão:
"Claude stays at the pattern level... does not compile categorized lists of verbatim lines"
"When Claude declines or limits for child-safety reasons, it states the principle rather than the detection mechanics"
Em vez de listar técnicas de manipulação proibidas (que viraria um script reutilizável), o prompt instrui o modelo a reconhecer o padrão e declarar o princípio.
Fonte: educacao/diff-anotado-opus-4.8-fable-5.md (item 7).
✗ Mecânica (arma o atacante)
- •Lista verbatim de termos/técnicas proibidos
- •"Recuse se a mensagem contiver as palavras X, Y, Z"
- •Modelo pode compilar a lista categorizada
- •Contornável trocando palavras (mesma intenção)
✓ Princípio (cobre o não previsto)
- •Descreve o padrão de comportamento a reconhecer
- •Declara o princípio ("stay at the pattern level")
- •Estados de recusa citam o princípio, não a mecânica
- •Cobre a próxima técnica que ninguém listou
📐 Formatação como muleta & 📦 Tudo-no-prompt
Dois antipadrões irmãos: ambos confundem forma com conteúdo. O primeiro força estrutura visual onde ela não ajuda; o segundo despeja informação dinâmica num lugar reservado a comportamento estável.
A) 📐 Formatação como muleta
Sintoma: o prompt manda usar listas, headers e emoji em tudo. A resposta vira um esqueleto de bullet points sem prosa que conecte as ideias — o leitor recebe fragmentos, não um raciocínio. A formatação vira muleta porque substitui o pensamento por enfeite.
✗ Formatação como muleta
- •"Always use bullet points and headers"
- •Emoji em toda resposta, mesmo técnica
- •Markdown em saída plaintext (terminal, API)
- •Resposta vira esqueleto sem prosa coerente
✓ Antídoto — Padrão 7 + prosa primeiro
- •Orçamento de concisão explícito (Padrão 7)
- •"Default: concise prose; lists only when they help"
- •Markdown só quando a saída será renderizada
- •Emoji só quando o usuário pede explicitamente
B) 📦 Tudo-no-prompt
Sintoma: data atual, nome do usuário, avisos pontuais e flags de runtime ficam hardcoded no prompt estável. Resultado: o prompt precisa ser reescrito a cada mudança de contexto, e o modelo trata informação volátil como se fosse regra permanente.
💊 Antídoto — Padrão 10: Lembrete de Sistema
Separe as camadas: o comportamento estável fica no prompt; o contexto dinâmico entra via <system-reminder> injetado pelo harness a cada turno.
O Fable 5 levou isso ao extremo ao adicionar o long_conversation_reminder: em vez de inflar o prompt base para resolver a degradação em conversas longas, injeta-se um lembrete dinâmico no momento certo.
A lição: problema de runtime se resolve na camada de runtime — não engordando o prompt estável.
Fonte: educacao/diff-anotado-opus-4.8-fable-5.md (item 14) · ficha fichas/10-lembrete-de-sistema.md.
📢 Inflação de ênfase
O antipadrão honorário, e o que melhor fecha a tese da trilha. Sintoma: tudo é IMPORTANT, CRITICAL, NEVER, em caps.
Quando tudo grita, nada se ouve — o modelo perde a capacidade de distinguir o limite duro (copyright, segurança) da preferência leve. A ênfase é um recurso escasso: gastar em tudo é não ter para o que importa.
🚨 "Quando tudo é IMPORTANT, nada é"
IMPORTANT: be concise.
CRITICAL: use markdown.
IMPORTANT: never use emoji.
CRITICAL: always cite sources.
IMPORTANT: respond in the user's language.
NEVER: make assumptions.
CRITICAL: be helpful.
Sete "CRITICAL/IMPORTANT" lado a lado — o modelo não tem como saber qual é realmente inegociável. A ênfase virou ruído de fundo.
A direção: caps cada vez mais raros (Opus → Fable 5)
4 micro-regras de tom em caps/imperativo (sem bullets ao recusar, sem pet names, sem "genuinely/honestly/actually", regra de emoji), mais
<claude_prioritizes_copyright_compliance> com "NON-NEGOTIABLE" enfático.
As 4 micro-regras viraram um princípio sereno: "Claude assumes the person is a capable adult and treats them as such."
O bloco de copyright foi renomeado de <claude_prioritizes_copyright_compliance> para <core_copyright_principle> — de imposição para valor.
O "NON-NEGOTIABLE" permanece, mas agora reservado a um limite genuinamente duro.
Regra prática da ênfase
Reserve caps (NEVER, NON-NEGOTIABLE) para os 2 ou 3 limites verdadeiramente inegociáveis do prompt — tipicamente copyright e segurança. Todo o resto vira prosa com porquê. Se você tem dez "IMPORTANT", tem zero ênfase real. Ver Padrão 4 (Contraste ALWAYS/NEVER): ênfase em caps reservada a comportamentos críticos.
Resumo do Módulo
Todos os antipadrões são formas de acúmulo; todos os antídotos são formas de consolidação. Esta é a tese da Trilha 1, e o diff 4.8 → Fable 5 é a prova viva: +56 linhas, −7 blocos.
- ✓Prompt-cebola → rodada de consolidação (Padrão 12); remover faz parte de evoluir
- ✓Proibição sem porquê → Regra com Porquê (Padrão 3); o motivo generaliza
- ✓Regra-mecânica de segurança → padrão, não mecânica; o que educa, arma
- ✓Formatação como muleta → Padrão 7 + prosa primeiro
- ✓Tudo-no-prompt → Lembrete de Sistema (Padrão 10); cada camada no seu lugar
- ✓Inflação de ênfase → caps raros; quando tudo é IMPORTANT, nada é
Próximo: 1.5 — Glossário Essencial
Antes de seguir para a Trilha 2, deixe uma cola à mão: o Glossário traduz toda a linguagem técnica do curso para o português do dia a dia — volte a ele sempre que travar num termo.