//Padrão

Cascata de extração: verificar antes de escalar

Um registro pode passar no JSON Schema e continuar errado. A cascata existe porque validar estrutura não é validar conteúdo.

Existe um tipo de erro que assusta mais que resposta fora do formato: o registro que passa em tudo e está errado. O cookbook oficial de extração estruturada traz um caso perfeito. Um modelo pequeno extraiu de uma página um registro com dois campos, válido para o JSON Schema, e um dos valores era uma frase que a página nunca disse — “Registration opens for the fall semester”, inventada com aparência de dado.

Validação de schema não pega isso. Ela checa estrutura; o problema é semântico. A cascata de extração é o desenho que coloca uma verificação semântica barata entre o extrator e o resto do sistema.

Este padrão é leitura nossa. A página oficial de padrões nomeia quatro, e este não é um deles. O desenho vem do cookbook de cascata de extração estruturada, e nós o apresentamos como padrão porque ele se repete — mas o vocabulário é nosso, não da TypeSafe.

Os três degraus

O desenho tem três posições, e o meio é o que importa:

  1. Extrair com um modelo pequeno e barato.
  2. Verificar com perguntas Noul do Jev, uma por campo, cada uma medindo a probabilidade de algo estar errado.
  3. Escalar para um modelo de raciocínio (ou para uma pessoa) somente quando algum sinal dispara. Caso contrário, aceitar a resposta barata.

No experimento, o degrau de baixo é o gpt-5.4-mini, o de cima é o gpt-5.5 rodando com esforço de raciocínio alto, e o verificador é o jev-1.12. Os preços declarados no cookbook, com taxas padrão checadas em 15 de setembro de 2026, explicam por que a conta fecha: US$ 0,75 por milhão de tokens de entrada no mini, US$ 5,00 no modelo de raciocínio (cerca de 7 vezes o mini) e US$ 0,042 no verificador, com saída gratuita.

O verificador é barato o suficiente para rodar em 100% dos itens. O modelo caro roda na fração que foi sinalizada. É essa assimetria que o padrão explora.

O portão

No caso do cookbook, dois sinais dispararam no mesmo campo: description::hallucinated com 0,95 e description::off_target com 0,85, os dois acima do corte de 0,7. O modelo de raciocínio foi acionado, releu a página e devolveu o campo vazio — reconheceu que a página nunca descreveu a data e recusou-se a inventar.

A forma do portão é uma decisão de arquitetura:

  • max, não média. Escala se qualquer campo passar do corte. Uma bandeira vermelha confiante em um campo entre dez não pode ser diluída pela média dos nove corretos.
  • por campo, não pelo registro. O sinal localiza o erro, o que serve tanto para o portão quanto para o diagnóstico depois.
  • errado = verdadeiro. O cookbook orienta escrever cada pergunta de modo que o caso de escalar seja o true, com criteria dizendo o que true e false significam.

O cookbook lista os cinco atributos de um sinal útil: estreito e ancorado na fonte, com o caso ruim como verdadeiro, por campo e agregado com max, independente do extrator e barato, e separador — alto nos erros reais e baixo nos acertos, para que um corte único divida aceitar de escalar.

O que o padrão obriga a arquitetura a ter

Um verificador independente do extrator. O cookbook é explícito: um verificador dedicado pega os pontos cegos do próprio extrator. Pedir ao mesmo modelo para revisar o próprio trabalho não tem a mesma propriedade.

Perguntas estreitas, não um juiz genérico. “Esta extração está boa?” produz nota mole e mal calibrada. “Este valor está ausente da fonte?” produz sinal separável. Escrever essas perguntas é o trabalho real do padrão, e a página critérios que separam trata da mecânica.

Um número de taxa de escalonamento sob observação. O corte governa o custo. Muito baixo e você paga o modelo caro quase sempre; muito alto e a cascata aceita erro. Isso é um parâmetro de produção, medido com dados rotulados.

Registro do sinal junto com o registro final. Guardar qual campo disparou, com que probabilidade, e se houve escalonamento é o que permite auditar a extração depois.

Quando não usar

Quando o modelo barato não é bom o bastante para ser o caso comum. A cascata só economiza se a maioria dos itens passar. Se metade escala, você paga os dois modelos e ainda somou latência.

Quando o verificador custa perto do modelo caro. O cookbook diz isso de outra forma: o verificador tem de ser barato, ou não sobra economia para capturar.

Quando não existe fonte para verificar contra. As perguntas do verificador são comparações entre o valor extraído e o documento. Sem o documento no state, não há o que ancorar, e a pergunta volta a ser opinião.

Quando a latência não admite dois estágios. Cada degrau é uma ida e volta. Em fluxo síncrono com orçamento apertado, a cascata pode ser inviável mesmo sendo mais barata.

Quando o erro é de estrutura, não de conteúdo. Aí o remédio é schema, não verificador semântico. A cascata resolve o problema que o schema deixa passar, não o que ele já resolve.

Por onde continuar

Para a versão passo a passo aplicada a dados, veja as receitas de extrair valores e extrair datas, que mostram por que extração vira escolha entre candidatos em vez de geração. Para entender por que o modelo não deve gerar o valor, leia limites do Jev. O índice está em padrões.

Perguntas frequentes

Este padrão está na documentação oficial de padrões?

Não. A página oficial de padrões nomeia quatro: fan-out especulativo, roteamento por confiança, pontuação composta e roteamento de intenção. A cascata é a nossa leitura do cookbook oficial de extração estruturada, que mostra o desenho aplicado sem chamá-lo de padrão.

Por que não usar JSON Schema ou structured outputs e pronto?

Porque schema pega erro de estrutura, nunca erro de sentido. O exemplo do cookbook é exatamente isso: o modelo pequeno devolveu uma descrição inventada em um registro perfeitamente válido para o schema. O verificador existe para a metade que o schema não cobre.

Por que o portão usa max e não média?

Porque uma bandeira vermelha confiante em um campo não deve ser diluída pela média dos campos corretos. O cookbook escala se qualquer campo passar do corte, que ali é 0,7, e chama isso de portão do tipo max.

Quanto isso economiza?

A TypeSafe publica resultados internos sobre 100 prompts: o modelo de raciocínio sozinho fica em cerca de 0,81 de qualidade a cerca de US$ 0,10 por extração, e a fronteira da cascata fica acima e à esquerda de todos os modelos isolados. A própria empresa avisa que é um retrato histórico e que os custos não foram recalculados na taxa atual do Jev.

Posso usar a cascata sem um modelo caro no topo?

Sim. O terceiro degrau pode ser uma pessoa, uma fila de curadoria ou simplesmente devolver campo vazio. O que define a cascata é o verificador barato no meio, não o executor do topo.

Quer dominar decisões com IA em português? O curso da comunidade está em pré-venda.

Garantir pré-venda por R$ 499,00

Pré-venda: R$ 499,00 · Após o lançamento: R$ 799,00