Prevenção de alucinações - Documentação do Entity Enricher

Prevenção de alucinações

Quando os LLMs produzem dados estruturados, podem fabricar factos com aparência plausível. O Entity Enricher utiliza 8 camadas de defesa para garantir que obtém dados precisos ou nenhum dado — nunca ficção com ar de certeza.

O Problema da Alucinação Estruturada

Em texto livre, uma frase alucinada é obviamente vaga. Num output estruturado, um campo alucinado como "founded_year": 1987 parece fidedigno e é quase impossível de distinguir de um valor correto. Três fatores tornam isto particularmente perigoso:

Falsa Precisão

Um valor JSON alucinado parece exatamente igual a um real. Não há reservas, não há “aproximadamente” — apenas um dado limpo e confiante que, por acaso, está errado.

Pressão do Esquema

Os campos obrigatórios forçam o LLM a produzir um valor mesmo quando não tem conhecimento. O modelo inventa dados em vez de deixar uma lacuna na estrutura.

Propagação silenciosa

Os dados estruturados alimentam diretamente bases de dados, análises e automações. Um valor incorreto propaga-se pelos pipelines sem revisão humana.

Padrões comuns de alucinação

PadrãoExemploCausa
Fabricação confiante"ceo": "John Smith"O LLM preenche um campo obrigatório com um nome plausível
Confusão temporal"revenue": "$2.3B"Data-limite dos dados de treino ou fusão de períodos
Conflação de entitiesAtributos da Empresa A na Empresa BNomes semelhantes em dados de treino sobrepostos
Valores predefinidos plausíveis"employees": 500O LLM escolhe um número “razoável” em vez de admitir que não sabe
Relações inventadas"subsidiary_of": "Alphabet"O LLM infere uma relação que não existe

Vários destes padrões têm origem no esquema, e não no modelo: uma propriedade como revenue deixa em aberto a moeda, o período e o âmbito (grupo ou entidade), e um nome para algo que a entidade simplesmente não tem não deixa ao modelo nada para procurar. A verificação de ambiguidade assinala ambos os casos, enumera as leituras que a propriedade admite e sugere a renomeação ou a descrição que fixa exatamente uma delas.

8 Camadas de Defesa

O Entity Enricher não depende de uma única técnica. Empilha 8 camadas de defesa independentes, cada uma visando um modo de falha diferente. Se uma camada deixar passar uma alucinação, a seguinte apanha-a.

1
Classificação prévia

Antes de o enriquecimento começar, um LLM rápido classifica se a entidade corresponde ao tipo do esquema. Isto bloqueia a alucinação de entidades inteiras na origem.

Exemplo: “Titan” contra um schema de “Planeta” é assinalado como uma lua — os modelos de enriquecimento recebem este contexto e usam null nos campos específicos de planetas.

2
Desconhecidos Declarados e Prompting Conservador

Todas as estratégias instruem o LLM: «Seja preciso e conservador — nunca invente um valor.» O modelo declara os campos que não conseguiu determinar em vez de preencher marcadores de posição, e essas declarações tornam-se nulos honestos no resultado.

Isto aborda diretamente a pressão do esquema — a causa #1 de alucinação estruturada. Um desconhecido declarado também desambigua as respostas reais: um 0 que o modelo assume é dados, um 0 declarado não é.

3
Definição do Âmbito dos Domínios de Especialização

As propriedades do esquema são agrupadas por domínio de especialização. Cada chamada ao LLM só vê os campos do seu domínio, com instruções para se focar exclusivamente nessa área.

Um âmbito mais restrito significa menos oportunidades de alucinar. Um especialista financeiro nunca adivinha dados regulatórios.

4
A Focar a Chave de Pesquisa

As propriedades-chave (marcadas com is_key: true) são destacadas nos prompts para ancorar o LLM na informação de identificação antes de preencher os restantes campos.

Isto assenta o modelo em factos conhecidos, reduzindo o desvio em direção a detalhes fabricados.

5
Validação de Esquemas e Autocorreção

O resultado do enriquecimento é validado face aos tipos, formatos e estrutura do esquema. Uma falha desencadeia ModelRetry — o erro específico é devolvido ao LLM para correção, e a reparação é cirúrgica: apenas as folhas que vieram erradas são pedidas de novo, não a resposta inteira.

Até 5 tentativas de correção automática dentro de uma única execução do agente. (A geração de schemas corrige-se de outra forma — por passo, com fallbacks deterministas.)

6
Preservar lógica

Os campos marcados com preserve: true (IDs, SKUs, identificadores de importação) são restaurados para os respetivos valores de entrada originais após o enrichment — o LLM não pode substituir dados de referência (ground truth). Os pedidos de enrichment têm de fornecer um valor para cada campo preservado, para que nada seja alguma vez fixado a null nem inventado.

Dentro de arrays, os itens enriquecidos são associados de novo aos seus itens de entrada pelos respetivos campos de chave; os itens que a IA descobre recebem null em vez de um identificador inventado.

7
Consenso multi-modelo

Executar a mesma entidade em 2 ou mais modelos independentes e comparar os resultados campo a campo. As discordâncias são assinaladas como potenciais alucinações.

Se o Claude disser que a receita é de 2,3 mil milhões de dólares e o GPT-4 disser 1,8 mil milhões — esse conflito é detetado e apresentado.

8
Resolução de conflitos e arbitragem

Os conflitos detetados são resolvidos por votação baseada em regras (maioria, mediana, união) ou por um arbitrador LLM dedicado que avalia a exatidão, a completude e a consistência.

Cada decisão de arbitragem inclui o raciocínio e o nível de confiança — total transparência sobre como os conflitos foram resolvidos.

Pipeline de defesa

1Classificação préviaBloquear tipos de entidade errados
2Anulável + Prompts ConservadoresReduzir a pressão do esquema
3Definição do Âmbito dos Domínios de EspecializaçãoRestringir o que o LLM tem de responder
4Foco da Chave de PesquisaAncore-se nos identificadores
5Validação e autocorreçãoCorrigir erros estruturais
6Preservar lógicaProteger a verdade de referência
7Consenso multi-modeloDetetar divergências
8Arbitragem de conflitosResolver com raciocínio
Pré-enriquecimento
Durante o enriquecimento
Pós-enriquecimento

Filosofia de Design

Princípio Fundamental

Dados em falta são sempre melhores do que dados errados. Cada camada reforça este princípio — o sistema foi concebido para devolver null em vez de uma invenção plausível.

O Que o Entity Enricher Faz
  • Dá aos LLMs permissão explícita para devolver null
  • Faz validação cruzada com vários modelos independentes
  • Protege dados válidos conhecidos contra substituição
  • Mostra total transparência na resolução de conflitos
O Que as Ferramentas Típicas Fazem
  • Forçar os LLMs a preencher todos os campos, aconteça o que acontecer
  • Depender de um único modelo sem validação cruzada
  • Permitir que o LLM substitua livremente os dados de entrada
  • Devolver resultados como uma caixa negra sem trilho de auditoria