MÓDULO 3.4 · Trilha 3 · Modelo, custo e orquestração

🔍 O revisor imparcial

Um subagente que nunca construiu o resultado não tem viés de autoria. Ele julga o produto pelo que é — não pelo esforço que custou. Separar quem constrói de quem valida é o maior unlock de qualidade em sistemas com subagentes.

7
Tópicos
~30
Minutos
Médio
Nível
Padrão
Tipo

Imagine pedir para o mesmo engenheiro que escreveu o código revisá-lo. Ele sabe o que quis dizer, então lê o que imaginou escrever — não o que escreveu de fato. O mesmo acontece com um LLM: se ele construiu o resultado numa sessão, carrega o raciocínio daquela sessão. Um segundo agente, com contexto fresco, enxerga o que o primeiro normalizou ou ignorou. Esse é o princípio do revisor imparcial.

🏗️ Builder contexto acumulado raciocínio acumulado Resultado código / plano / pesquisa 🔍 Reviewer contexto fresco sem viés de autoria ↓ veredito objetivo viés: "funciona, eu sei como" visão: "isto realmente funciona?"

↑ Builder acumula contexto (e viés). Reviewer começa limpo — julga o produto, não o esforço.

Conteúdo detalhado

1

🧠 Contexto fresco = sem viés

Um agente que construiu algo internalizou o raciocínio que levou ao resultado. Quando pedimos para ele revisar, ele não lê o resultado com olhos novos — ele lê com os olhos de quem já sabe a intenção. Gaps ficam invisíveis porque foram preenchidos mentalmente durante a construção. Um segundo agente não tem esse contexto: ele vê apenas o artefato final.

💡 O efeito do "conhecimento maldito"

Em psicologia cognitiva, o curse of knowledge é a dificuldade de imaginar não saber algo que você já sabe. Um builder com muita informação acumulada sofre exatamente isso: não consegue mais ver o resultado como um estranho veria. O revisor, começando do zero, é esse estranho.

  • Builder — conhece o caminho; pode não ver que a chegada é confusa.
  • Reviewer — só vê a chegada; reporta o que está faltando sem desculpas.
  • Contexto fresco — a propriedade mais valiosa do revisor. Não tente "passar contexto" extra para ele antes.

✓ Revisor eficaz

  • Recebe só o artefato final
  • Não sabe como o builder chegou lá
  • Aplica critérios explícitos de qualidade
  • Reporta falhas sem "dar o benefício da dúvida"

✗ Anti-padrão

  • Pedir ao builder que "releia o que fez"
  • Dar ao revisor todo o histórico da conversa
  • Pedir revisão no mesmo turno que a construção
  • Instruir o revisor a "entender o contexto antes"
O que é:

A propriedade de iniciar uma avaliação sem o raciocínio que produziu o artefato avaliado — eliminando o viés de autoria.

Por que aprender:

Sem entender esse princípio, o desenvolvedor tenta economizar chamadas usando o mesmo agente para construir e revisar — e obtém o pior dos dois mundos.

Conceitos-chave:

viés de autoria · curse of knowledge · contexto como ativo (e como passivo) · separação de papéis.

2

⚖️ Julga o resultado, não o processo

O revisor não sabe — e não precisa saber — quantas iterações o builder fez, quais alternativas considerou, ou que pressão de tempo existia. Ele recebe o artefato e aplica critérios objetivos: o código compila? os testes passam? o plano tem premissas verificáveis? Isso elimina o efeito esforço: a tendência de julgar um resultado como bom porque o processo foi trabalhoso.

1

Builder entrega o artefato

Código, plano, resumo de pesquisa — qualquer saída que possa ser julgada.

2

Revisor recebe só o artefato + critérios

Sem histórico, sem "contexto do porquê". Apenas: "avalie isto com estes critérios".

3

Veredito separado do esforço

O revisor não sabe se o builder sofreu. Isso é uma feature, não um bug.

📊 O efeito prático

Em code review humano, estudos mostram que revisores que sabem "quantas horas" foram gastas tendem a aprovar código com mais falhas — o esforço percebido infla a avaliação. Separar builder de reviewer elimina essa variável.

Para LLMs, o efeito é ainda mais direto: um modelo que construiu algo em 50 turnos de raciocínio tem um viés de consistência interna — tende a validar o que produziu.

O que é:

A regra de ouro do revisor: avaliar o artefato pelos seus méritos, independentemente do processo que o gerou.

Por que aprender:

Sem essa clareza, os critérios de revisão se misturam com a história de como foi feito — e o veredito perde objetividade.

Conceitos-chave:

efeito esforço · critérios explícitos · veredito orientado a artefato · separação processo / produto.

3

✍️ Quem constrói escreve, quem valida verifica

Este é o princípio dos quatro olhos transposto para subagentes. O builder tem permissão de escrever, criar, modificar. O revisor tem permissão de ler, analisar, reportar — nunca de editar diretamente. Essa separação de ferramentas no frontmatter do agente é o que garante que o revisor não "consertar enquanto revisa" e encobrir os problemas encontrados.

🏗️
Builder
Read · Edit · Write · Bash
🔍
Reviewer
Read · Grep · Glob
🚫
Não misturar
Edit no revisor
📋
Saída
relatório, nunca diff

💡 Por que bloquear Edit no revisor

Se o revisor pode editar, ele tende a "resolver enquanto revisa" — o problema some do relatório final, mas o fix introduzido não foi revisado por ninguém. A separação tools=Read força o revisor a reportar; quem decide se e como consertar é o orquestrador.

O que é:

A divisão formal de permissões de ferramentas entre o agente que produz e o agente que avalia.

Por que aprender:

Ferramentas no frontmatter são a única barreira confiável — não instruções de texto que o modelo pode ignorar sob pressão.

Conceitos-chave:

princípio dos quatro olhos · tools=Read · relatório vs. diff · separação de permissões.

4

💻 Aplicar a código

O code-reviewer é o caso mais claro. O agente builder escreve o diff; o code-reviewer recebe o diff e aplica critérios de correção, segurança e cobertura de testes — sem saber quantas versões o builder descartou. A saída é um relatório de achados, não uma reescrita.

O que o code-reviewer checa

Correção
  • • bugs lógicos
  • • edge cases ignorados
  • • tratamento de erro ausente
Segurança
  • • inputs não sanitizados
  • • secrets em código
  • • SQL/command injection
Testes
  • • cobertura de happy path
  • • testes de caso negativo
  • • mocks ausentes
O que é:

Usar um agente revisor especializado para avaliar código produzido por outro agente, com critérios explícitos de qualidade.

Por que aprender:

Código gerado por LLM tem padrões de erro específicos (tratamento silencioso de exceções, mocks que nunca falham) que o mesmo modelo tende a repetir e não detectar na autoprodução.

Conceitos-chave:

code-reviewer · diff como input · relatório de achados · critérios de correção / segurança / testes.

5

📋 Aplicar a plano — o plan-roaster

Um plano de implementação tem um problema diferente do código: ele é internamente coerente por construção. Quem planejou eliminou as contradições no processo — mas pode ter inserido premissas falsas ou deixado perguntas sem resposta. O plan-roaster é um revisor que recebe o plano e faz exatamente as perguntas incômodas que o autor não quis se fazer.

🎯

Premissas explícitas?

"Este plano assume que X está disponível. Se não estiver, a fase 2 falha."

⏱️

Estimativas verificáveis?

"'2 dias' para migrar o banco — com base em quê? Tamanho da tabela? Downtime tolerado?"

🚨

Riscos sem mitigação?

"A task 3 depende da task 7, mas a task 7 tem dependência externa não controlada."

🔄

Rollback definido?

"Se a fase 2 falhar na metade, há como reverter sem impacto no prod?"

O que é:

Um agente revisor especializado em questionar planos, não em aprová-los — seu papel é encontrar lacunas antes de elas virarem problemas de execução.

Por que aprender:

Planos gerados por LLM são fluentes e coerentes na forma, o que esconde premissas ocultas. Um revisor externo força a explicitação dessas premissas.

Conceitos-chave:

plan-roaster · premissas ocultas · perguntas incômodas · coerência interna vs. correção externa.

6

🔬 Aplicar a pesquisa

Pesquisa feita por subagente sofre de viés de confirmação acelerado: o agente busca fontes e, à medida que acumula evidências, tende a reforçar a hipótese que emergiu cedo. Um revisor de pesquisa não questiona se o texto é bonito — questiona se as afirmações são verificáveis e se existem contradições nas fontes que o builder pode ter minimizado.

A

Afirmações têm fonte?

Cada claim deve ser rastreável. "LLMs alcançam 95% de precisão" — em qual benchmark, qual data?

B

Contradições suprimidas?

Existem fontes que contradizem a conclusão? O resumo as menciona ou as ignorou?

C

Escopo correto?

A pesquisa responde à pergunta original ou deriva para um tema relacionado mas diferente?

O que é:

Revisão de pesquisa focada em verificabilidade, cobertura de contradições e aderência ao escopo — não em estilo ou fluência.

Por que aprender:

Pesquisa de subagente é persuasiva pela qualidade do texto; só um revisor com critérios objetivos detecta quando a persuasão está cobrindo lacunas factuais.

Conceitos-chave:

viés de confirmação · verificabilidade de claims · contradições suprimidas · aderência ao escopo.

7

🚀 O maior unlock de qualidade

Adicionar um revisor imparcial ao final de qualquer pipeline de subagentes é a mudança de maior impacto por menor custo. Um agente Haiku como revisor — que custa fração do builder — pode detectar erros que o modelo mais caro não detectaria em si mesmo. A assimetria é brutal: revisar é mais barato que construir, mas tem valor de seguro sobre todo o trabalho anterior.

A equação do revisor

10%
do custo do builder
100%
do output revisado

Um revisor Haiku sobre um pipeline Opus revisa tudo por centavos. Se pegar um único bug crítico ou premissa falsa em um plano, pagou todo o curso.

✓ Sempre revisar quando

  • O resultado vai para produção
  • O plano envolve decisões irreversíveis
  • A pesquisa embasará uma decisão estratégica
  • O pipeline tem mais de 2 subagentes

○ Opcional quando

  • É um rascunho descartável
  • Você vai revisar manualmente de qualquer forma
  • O output é só para referência interna
O que é:

O padrão de adicionar sistematicamente um revisor de baixo custo ao final de pipelines para detectar falhas antes da entrega.

Por que aprender:

É a mudança com maior ROI em qualquer sistema de subagentes — detecta erros que o builder nunca encontraria em si mesmo, por fração do custo.

Conceitos-chave:

assimetria custo/valor · revisor de baixo custo · valor de seguro · padrão de qualidade sistêmica.

📄

Exemplo real: code-reviewer e plan-roaster

Dois arquivos .md que implementam o padrão do revisor imparcial. Note como ambos usam tools: Read, Grep, Glob — sem permissão de escrita — e instruem explicitamente a reportar, não consertar.

.claude/agents/code-reviewer.md revisor de código
---
name: code-reviewer
description: Revisa o diff atual em busca de bugs,
  falhas de segurança e testes ausentes. Use após
  qualquer mudança de código — especialmente antes
  de commitar.
tools: Read, Grep, Glob     # apenas leitura
model: haiku               # custo baixo, revisão precisa
---

You are an impartial senior code reviewer.
You have no knowledge of how this code was written.

Steps:
1. Run git diff HEAD to see the current changes.
2. Read each changed file completely.
3. Check for: correctness bugs, security issues,
   missing tests, and unhandled edge cases.

Output: A numbered list of findings, severity
(critical/major/minor), and the exact line.

Rules:
- Do NOT edit, fix, or rewrite anything.
- Report only — the orchestrator decides what to fix.
- If nothing is wrong, say so explicitly.
.claude/agents/plan-roaster.md revisor de planos
---
name: plan-roaster
description: Questiona planos de implementação com
  ceticismo construtivo. Use SEMPRE antes de aprovar
  qualquer plano técnico ou de produto.
tools: Read                 # só lê o plano
model: sonnet              # precisa raciocinar sobre premissas
---

You are a skeptical senior engineer who has seen
many plans fail. You know nothing about how this
plan was created.

For each plan section, ask:
1. What hidden assumptions does this make?
2. What is the single most likely failure point?
3. Is there a missing dependency or external risk?
4. Is the rollback defined if this fails mid-way?

Output: A structured critique. For each issue,
state: what is assumed, why it might not hold,
and what question the author should answer.

Rules:
- Do NOT rewrite or "improve" the plan.
- Be adversarial but constructive.
- Prioritize: what will actually fail first?
⌨️

Prompts prontos (copie e cole)

Três prompts para acionar o padrão do revisor imparcial no seu trabalho real. O segundo é o mais poderoso: pede explicitamente a perspectiva de um engenheiro externo.

Prompt 1 — revisar código após build aciona code-reviewer
Use o code-reviewer para revisar o que acabei de fazer.
Não quero que ele edite nada — só um relatório de
achados com severidade (crítico / maior / menor).
Prompt 2 — revisão adversarial o mais poderoso
Abra um subagente com contexto fresco e peça para ele
revisar criticamente este resultado como um engenheiro
externo que nunca viu o projeto. Ele deve apontar o
que parece errado, incompleto ou arriscado — sem levar
em conta o esforço que custou.
Prompt 3 — roast do plano antes de aprovar qualquer plano
Use o plan-roaster neste plano. Quero as 3 premissas
mais perigosas que estão implícitas e a pergunta
que eu precisaria responder antes de aprovar cada fase.
🖥️

Tela simulada: builder + revisor em sequência

É assim que o padrão aparece no terminal: o builder termina e devolve um diff; em seguida o code-reviewer entra com contexto zero, lê o diff e emite o relatório. Note que o contexto do maestro permanece baixo durante todo o processo.

claude code · pipeline builder → revisor ⏱ 01:12
▶ fase 1 — builder
● builder (Opus)
✓ pronto
→ gerou 243 linhas de código, 2 arquivos modificados
▶ fase 2 — revisor (contexto fresco)
● code-reviewer (Haiku)
rodando…
→ lendo diff · verificando edge cases · checando injeção
▶ relatório de achados (prévia)
[CRÍTICO] linha 47 — input não sanitizado antes de query SQL
[MAIOR] linha 88 — exceção silenciosa: catch vazio sem log
[MENOR] linha 112 — variável `tmp` usada mas não inicializada em branch else
builder não detectou nenhum destes · revisor encontrou os 3
maestro · Sonnet
seu contexto
9%

↑ Recriação ilustrativa do terminal. O builder rodou em contexto separado; o revisor iniciou fresco. Maestro usou apenas 9% do contexto.

🎯

Exercício

Escolha um trabalho seu recente — um pedaço de código, um plano, ou um resumo — e rode um revisor imparcial sobre ele. Use o Prompt 2 desta página. Depois compare: o revisor encontrou algo que você não havia notado?

Como fazer

  1. Abra o Claude Code numa sessão nova.
  2. Cole o artefato (código, plano ou resumo) ou aponte o caminho do arquivo.
  3. Use o Prompt 2: peça revisão com contexto fresco, perspectiva de engenheiro externo.
  4. Leia o relatório e anote: quantos achados são coisas que você "sabia mas não escreveu"?

✅ Critério de verificação — como saber que acertou

O exercício foi bem-sucedido se você conseguir marcar ao menos uma das seguintes:

  • O revisor encontrou algo novo — algo que você não havia detectado na sua própria leitura.
  • O revisor nomeou uma premissa implícita — algo que você sabia mas não havia escrito no artefato.
  • O revisor não encontrou nada crítico — e você consegue explicar por quê (bom sinal de qualidade do artefato).

Variação avançada

Se você já tem o code-reviewer.md ou o plan-roaster.md criados, instrua o maestro a usar o agente nomeado. Compare: o revisor via nome vs. via prompt ad-hoc produz achados mais precisos?

Resumo do módulo

Contexto fresco = sem viés — um revisor que não construiu o resultado não carrega o raciocínio que o gerou; enxerga o artefato como ele é.
Julga o resultado, não o processo — o revisor não sabe do esforço; aplica critérios objetivos ao artefato final.
Separação de ferramentas — builder tem Write/Edit; revisor tem só Read/Grep — o frontmatter é a garantia.
Aplicar a código — code-reviewer detecta bugs, falhas de segurança e gaps de cobertura que o builder normalizou.
Aplicar a planos — plan-roaster questiona premissas ocultas e pontos de falha que a coerência interna do plano escondia.
Aplicar a pesquisa — verifica verificabilidade de claims, contradições suprimidas e aderência ao escopo.
Maior unlock de qualidade — 10% do custo do builder, 100% do output revisado; o ROI mais alto de qualquer adição a um pipeline.

Próximo módulo:

3.5 — Workflows dinâmicos. Quando o orquestrador decide em tempo de execução quais subagentes acionar — e como construir esse roteamento.