Claude Haiku como revisor: dá para usar o modelo leve para checar a saída de outro modelo?

Claude Haiku como revisor funciona quando o critério é objetivo e verificável: campo presente, aderência a uma instrução explícita, se a resposta cita mesmo o trecho do documento fornecido. Pra garantir JSON válido, a própria Anthropic manda usar Structured Outputs (campo output_format ou tool com strict: true) no lugar de prompt, com validação no SDK. Julgamento de correção é onde a coisa quebra: validadores de ponta aparecem com taxa de verdadeiro negativo abaixo de 25%, e juízes LLM aceitam entradas triviais como se fossem resposta certa, com falso positivo de até 80% em ataques simples
Colocar um modelo barato pra conferir a resposta do modelo caro virou padrão de arquitetura
E no papel faz todo sentido: a camada de verificação roda em TODA chamada, então ela precisa ser rápida e barata, senão você dobra a conta só pra ter uma segunda opinião
Só que tem um detalhe cruel aí
Um revisor ruim não é neutro, ele é pior que revisor nenhum: ele carimba lixo com selo de aprovado e ainda te dá a sensação gostosa de que o pipeline está validado 😀
Então bora separar duas coisas que vivem misturadas nessa conversa: o que um modelo leve checa com critério objetivo, e o que ele simplesmente não tem como julgar
O que um modelo leve consegue checar e o que ele erra
A pergunta certa não é "o Haiku é inteligente o suficiente?"
A pergunta é: o critério dessa checagem é objetivo ou é opinião?
Critério objetivo é aquele que tem resposta verificável olhando pro material: o campo existe ou não existe, a resposta cita o trecho ou não cita, a instrução dizia 3 itens e vieram 3
Critério vago é "a resposta está boa?"
Se liga na divisão:
| Tipo de checagem | Critério é objetivo? | Dá pro Haiku decidir sozinho? | O que usar no lugar |
|---|---|---|---|
| Formato / JSON válido | Sim, é binário | Não precisa de LLM nenhum | Structured Outputs (output_format ou tool com strict: true) |
| Campos obrigatórios preenchidos | Sim, dá pra listar | Parcial: o schema garante presença, o LLM só olha se o conteúdo é vazio ou genérico | Schema pro obrigatório, revisor leve pro "veio preenchido com nada" |
| Aderência à instrução explícita | Sim, se a instrução for checável | Sim, quando você transforma a regra em pergunta de sim ou não | Prompt de revisor com lista fechada de perguntas |
| Ancoragem em citação do documento | Sim, o trecho está lá ou não está | Sim, esse é o melhor caso de uso dele | Pedir citação literal antes do veredito |
| Detecção de alucinação factual | Só quando existe a fonte no contexto | Parcial: sem o documento, ele não tem como saber | Checagem contra material fornecido, não contra memória do modelo |
| Julgamento de qualidade / correção | Não, é subjetivo ou exige raciocínio pesado | Não | Modelo forte, ensemble ou revisão humana |
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Repara na primeira linha, porque ela derruba metade dos revisores que a galera monta por aí
A documentação da Anthropic é explícita: se você precisa que o Claude sempre produza JSON válido conforme um schema específico, use Structured Outputs em vez de técnicas de engenharia de prompt, porque elas oferecem conformidade garantida com o schema
E Structured Outputs está em disponibilidade geral na Claude API, incluindo o Claude Haiku 4.5 (a lista cobre também Claude Mythos Preview, Opus 4.7, Opus 4.6, Sonnet 4.6, Sonnet 4.5 e Opus 4.5)
São dois modos: saída JSON pelo campo output_format, ou uso estrito de ferramenta com strict: true, que garante validação de schema no nome e nos inputs da tool
E tem mais: os SDKs de Python e TypeScript transformam o schema, validam a resposta automaticamente e integram com Pydantic e Zod
O método parse() já te devolve o parsed_output validado
Ou seja: checagem de schema saiu da mão do revisor LLM
Isso é ÓTIMO pro seu bolso, porque sobra pro modelo leve só a parte que é de fato semântica
Quando a revisão por modelo leve compensa (e como montar o prompt do revisor)
A camada barata rende em quatro cenários bem específicos:
- Alto volume de saídas repetitivas, onde o mesmo prompt de sistema roda milhares de vezes e o custo por chamada é o que decide se a arquitetura existe ou não
- Pipelines com schema fixo, onde o formato já está garantido e o revisor só olha conteúdo
- Checagem de ancoragem, o caso mais confortável: você deu um texto, a resposta precisa estar naquele texto, e o revisor confere trecho por trecho
- Triagem, onde o leve não dá o veredito final, ele só separa o que é caso duvidoso e manda pro modelo forte
Esse quarto item é o que mais faz diferença na conta, e é a mesma lógica de escolher o modelo certo por tarefa: quem decide não precisa ser quem filtra
Como montar o prompt do revisor:
A Anthropic tem recomendações públicas pra reduzir alucinação que caem como uma luva na camada de checagem
Primeira: permita explicitamente que o modelo diga que não sabe
Parece bobo, mas revisor sem essa saída inventa um veredito, porque você pediu um veredito
Segunda: em textos longos (acima de 20 mil tokens), peça citações literais do documento ANTES da tarefa
A citação vem primeiro, o julgamento vem depois, apoiado nela
Terceira: use mecanismos de checagem de fatos e citações que ancorem a resposta no material fornecido
Na prática, o critério do revisor tem que virar uma lista fechada de perguntas verificáveis, tipo assim:
Você é um verificador. Não reescreva a resposta, não melhore nada.
Material de referência:
<documento>{{DOCUMENTO}}</documento>
Resposta a verificar:
<resposta>{{RESPOSTA}}</resposta>
Para cada pergunta abaixo, cite primeiro o trecho LITERAL do documento que
sustenta a sua conclusão. Se não existir trecho, responda "NAO_SEI".
1. Toda afirmação numérica da resposta aparece no documento? (sim / nao / NAO_SEI)
2. A resposta ficou dentro do limite de itens pedido na instrução? (sim / nao)
3. Existe alguma afirmação na resposta que NÃO tem apoio no documento?
Liste cada uma.
Veredito: APROVADO apenas se 1=sim, 2=sim e 3 estiver vazio.
Repara no que esse prompt faz: ele não pergunta se a resposta está boa
Ele pergunta coisas que têm resposta checável, e amarra o veredito numa regra mecânica no fim
Tome cuidado com o oposto disso!
Critério vago vira aprovação automática
Se você escreve "avalie se a resposta é útil e precisa", o que você montou não é um revisor, é um gerador de "sim" com custo de API 🙂
Haiku 4.5, Sonnet 5 e Opus 5: custo e velocidade na camada de verificação
O Claude Haiku 4.5 é o modelo pequeno mais recente da família Claude e está disponível para todos os usuários
A conta da camada de verificação começa aqui:
| Modelo | Entrada (por milhão de tokens) | Saída (por milhão de tokens) |
|---|---|---|
| Claude Haiku 4.5 | US$ 1 | US$ 5 |
| Claude Sonnet 5 | US$ 2 | US$ 10 |
| Claude Opus 5 | US$ 5 | US$ 25 |
No caso do Sonnet 5, esse valor foi anunciado como introdutório e virou o preço padrão
Agora os números medidos do Haiku 4.5, que é onde ele brilha de verdade numa camada que roda o tempo todo:
| Métrica do Claude Haiku 4.5 | Valor |
|---|---|
| Velocidade de saída (Artificial Analysis) | 94,7 tokens por segundo, o mais rápido da Anthropic por esse critério |
| Tempo até o primeiro token (Artificial Analysis) | 1,03 segundo, o menor entre os modelos da Anthropic |
| Artificial Analysis Intelligence Index | 24 sem raciocínio, 30 com raciocínio |
| SWE-bench Verified | 73,3% (média de 50 tentativas, sem test-time compute, thinking de 128K, dataset completo de 500 problemas) |
No anúncio do modelo, a Anthropic afirma que o Haiku 4.5 entrega desempenho de código parecido com o do Sonnet 4 por um terço do custo e com mais que o dobro da velocidade
E tem a parte que muda a conta de quem roda revisão em volume: até 90% de economia com prompt caching e 50% com processamento em lote (Batch)
Isso importa MUITO aqui, porque o revisor repete o mesmo prompt de sistema em toda chamada
É literalmente o cenário desenhado pro cache
Se o teu caso ainda está no protótipo e tu só quer comparar saídas na mão antes de plugar API, dá pra testar o Sonnet 5 sem assinar nada e sentir a diferença de julgamento entre os modelos
Veredito: onde o Haiku como revisor quebra e o que fazer antes de confiar nele
Agora a parte que ninguém coloca no post de arquitetura bonitinha
Problema 1: viés de concordância
O estudo Beyond Consensus mede a taxa de verdadeiro negativo (TNR) de validadores de ponta abaixo de 25%
Traduzindo: o validador é ruim justamente em dizer "está errado"
E isso superestima a precisão do gerador, que é exatamente o contrário do que você queria com a camada de revisão
O experimento usou 366 programas incorretos de ensino médio
O ensemble chamado Minority Veto mitiga mais que a votação por maioria, mas a acurácia continua limitada pela TNR baixa dos modelos individuais
Ou seja: juntar vários juízes ruins não fabrica um juiz bom
Problema 2: as master keys
O artigo One Token to Fool LLM-as-a-Judge identifica "master keys": símbolos como : ou . e aberturas genéricas como Thought process: ou Let's solve this problem step by step. que geram recompensa falsa positiva
Ataques simples levam a taxas de falso positivo de até 80%, atingindo modelos de ponta como GPT-o1 e Claude-4
Lê de novo: o juiz aprova um token solto como se fosse resposta correta 😛
Os autores propõem uma mitigação por data augmentation, usando saídas truncadas como exemplos negativos adversariais, o que gerou os Master Reward Models (Master-RMs), robustos a esses ataques
Problema 3: o tamanho do juiz
Depender de modelos menores, apesar de econômico, pode introduzir inconsistências e desalinhamento com julgamentos humanos, além de classificação incorreta de respostas
Obter avaliação confiável de modelos menores, mais rápidos e baratos, é uma fronteira ATIVA de pesquisa, não um problema resolvido
Então o veredito honesto é esse: Claude Haiku como revisor é uma boa peça de engenharia quando você dá pra ele um critério fechado e um material pra ancorar, e é uma armadilha quando você pede julgamento de correção
O que fazer ANTES de confiar nele, na ordem:
- Restrinja o revisor a critério objetivo e ancorado, com lista fechada de perguntas e a saída "NAO_SEI" liberada
- Deixe formato e schema com o Structured Outputs, nunca com o juiz
- Valide o juiz antes de plugar: a recomendação metodológica é reportar resultados de pelo menos DOIS benchmarks, escolhidos pra cobrir o eixo preferência versus correção, em vez de depender da discriminação de um único dataset
- Guarde julgamento de correção pro modelo forte, ensemble ou humano
Um juiz que você nunca mediu não é um guardrail, é decoração
Conclusão
A divisão de trabalho que sobra depois de tudo isso é bem clara
Formato vai pro Structured Outputs, com validação no SDK, sem LLM revisor no meio
Checagem objetiva e ancorada vai pro modelo leve: campo vazio, instrução descumprida, afirmação sem apoio no documento fornecido
Julgamento de correção continua exigindo modelo forte ou revisão humana, e não adianta querer economizar justo aí
O próximo passo prático é chato e é o que separa pipeline sério de pipeline de fé:
- Escreva cada critério do revisor em forma de pergunta verificável (se a resposta pode ser "depende", o critério ainda está vago)
- Monte um conjunto de casos com erros CONHECIDOS, que você mesmo plantou
- Meça quantos desses o revisor reprova, e só depois decida se confia na camada
Se ele aprovar os casos quebrados, você não perdeu tempo, você descobriu antes de produção descobrir por você…
Até o próximo post! =)
Perguntas frequentes
Dá pra usar Claude Haiku 4.5 pra revisar respostas geradas pelo Claude Opus 5?
Dá, mas só quando o critério da checagem é objetivo, tipo ancoragem em citação ou aderência a uma instrução checável. Pra julgamento de qualidade ou correção subjetiva, o Haiku não é a ferramenta certa, porque estudos como o Beyond Consensus mostram taxa de verdadeiro negativo abaixo de 25% em validadores LLM. Nesses casos o caminho é modelo forte, ensemble ou revisão humana.
Quanto custa montar uma camada de revisão com Claude Haiku 4.5 em alto volume?
O Claude Haiku 4.5 sai por US$ 1 por milhão de tokens de entrada e US$ 5 por milhão de tokens de saída na API. Dá pra reduzir ainda mais com prompt caching, que chega a 90% de economia, e com processamento em lote (Batch), que reduz 50% do custo. É essa combinação que torna viável rodar o revisor em toda chamada do pipeline.
Structured Outputs elimina a necessidade de um revisor LLM pra checar JSON?
Sim, pra validação de formato. Structured Outputs está em disponibilidade geral na Claude API, incluindo o Claude Haiku 4.5, e garante conformidade com o schema via output_format ou tool com strict: true. A documentação da Anthropic recomenda usar esse recurso em vez de prompt pra garantir JSON válido, deixando pro revisor leve só a parte semântica do conteúdo.
Modelos pequenos como juiz são confiáveis segundo pesquisa acadêmica?
Não incondicionalmente. O artigo One Token to Fool LLM-as-a-Judge mostra que entradas triviais, como símbolos de pontuação ou aberturas genéricas, geram taxas de falso positivo de até 80% mesmo em modelos de ponta. Depender de modelos menores como juízes pode introduzir inconsistência e desalinhamento com julgamento humano, o que reforça restringir o Haiku a critérios objetivos.
Como validar se um revisor LLM é confiável antes de colocar em produção?
A recomendação metodológica é reportar resultados em pelo menos dois benchmarks que cubram o eixo preferência versus correção, em vez de confiar na discriminação de um único dataset. Isso evita que o revisor pareça bom só porque foi calibrado num tipo específico de erro. Sem essa validação cruzada, o pipeline corre o risco de carimbar aprovação em cima de um critério enviesado.
O Claude Haiku 4.5 é rápido o suficiente pra rodar em toda chamada do pipeline?
Sim, é o ponto forte dele: 94,7 tokens por segundo de velocidade de saída na página viva do Artificial Analysis, o mais rápido entre os modelos da Anthropic por esse critério. O tempo até o primeiro token também é o menor da família, 1,03 segundo. Essa velocidade é o que sustenta usá-lo como camada de triagem em alto volume.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
Como testar se o Haiku dá conta da sua tarefa antes de trocar o modelo
Aprenda a testar o Haiku antes de trocar de modelo: monte casos reais do seu projeto, defina critérios de sucesso e compare custo x precisão com o Sonnet 5.
Onde o Claude Haiku 4.5 tropeça e como escrever o prompt para compensar
Onde o Claude Haiku 4.5 erra e como montar um prompt para Claude Haiku que corrige ambiguidade, contexto implícito e raciocínio longo antes de ir pro Sonnet.
O que significa “ChatGPT network error” e como resolver
O “ChatGPT Network Error” é uma ocorrência frequente na rotina de muitos usuários do ChatGPT. Porém, poucos compreendem seu significado, quando esse erro surge, etc. […]
