Como a pontuação baseada na entropia pode indicar quando seu modelo está inventando coisas — e onde —, tudo isso no nosso pacote Python, o artefactual.
Observação: este artigo é uma continuação do artigo publicado pelos nossos amigos da Ardian, que detalha AI crucial AI responsável para as instituições financeiras. Não deixe de conferir!
O problema das alucinações
Os grandes modelos de linguagem são surpreendentemente capazes. Eles resumem, traduzem, raciocinam e programam (melhor do que eu). Mas, ao contrário de mim, também ficaram famosos por inventar fatos com uma confiança inquietante.
Na literatura sobre Processamento de Linguagem Natural (PLN), uma “alucinação” é qualquer conteúdo gerado por um modelo que seja factualmente incorreto, sem sentido ou infiel a uma fonte fornecida, embora pareça perfeitamente plausível. As consequências variam de benignas (uma resposta errada em um quiz) a graves (uma citação jurídica inventada, uma dosagem incorreta de medicamento). À medida que as organizações integram LLMs aos sistemas de produção, a questão passa de “este modelo pode gerar texto útil?” para “podemos confiar no que ele acabou de dizer?”.
Vamos considerar um exemplo concreto. Você trabalha em uma instituição financeira e faz a seguinte pergunta ao seu LLM local:
“Qual foi a receita líquida da Emerson Electric em 2023?”

O modelo responde: “A Emerson Electric registrou uma receita líquida de aproximadamente US$ 15,2 bilhões no ano fiscal de 2023.” Parece razoável. Mas será que está certo? Você não tem o relatório anual aberto. Não tem uma referência concreta para comparar. Você só tem o resultado do modelo — e a dúvida.
Este é o contexto em que trabalhamos. Sem oráculo. Sem resposta de referência no momento da inferência. Apenas uma resposta do LLM e os metadados que ele produz durante a geração. O objetivo: quantificar a probabilidade de essa saída ser uma alucinação, a partir de uma única passagem de geração.
Identificar alucinações: é mais difícil do que parece
A abordagem de força bruta
Uma ideia óbvia é fazer a mesma pergunta ao modelo várias vezes e verificar se as respostas são consistentes. Se cinco das seis execuções indicarem “$15,2 bilhões” e uma indicar “$18,7 bilhões”, o consenso já dá uma certa confiança. Esse é o princípio por trás de métodos como o SelfCheckGPT, que medem a consistência entre várias respostas amostradas — uma abordagem do tipo “Monte Carlo” para a detecção de alucinações.
Funciona. Mas apresenta duas desvantagens significativas:
- Custo. Cada geração adicional multiplica seu orçamento de inferência. No caso do SelfCheckGPT com 10 amostras, você paga aproximadamente 10 vezes o custo de computação, além do custo de um modelo de similaridade semântica. Em grande escala, isso se torna proibitivo.
- Granularidade. Os métodos de múltiplas tentativas operam no nível da sequência. Eles indicam que “essa resposta parece pouco confiável”, mas não especificam qual parte da resposta é problemática. Uma resposta pode ter 90% de precisão, mas conter um único número inventado no meio. Você gostaria de saber onde.
Essas limitações nos motivaram a procurar um sinal diferente — um que fosse barato, exigisse apenas uma única operação e funcionasse no nível dos tokens (as partes individuais das palavras que o LLM manipula internamente).
O sinal já está lá
Quando um LLM gera texto, ele não se limita a produzir tokens. A cada etapa, ele calcula uma distribuição de probabilidade sobre todo o seu vocabulário: “dado o prompt e tudo o que já gerei até agora, qual é a probabilidade de cada token possível que virá a seguir?”O token vencedor é selecionado. Os demais são descartados. Mas essas probabilidades (e, mais especificamente, o quanto estão dispersas) contêm informações sobre a confiança interna do modelo.
Se o modelo estiver muito seguro, a maior parte da massa de probabilidade concentra-se em um único token. Se o modelo hesitar, a probabilidade se distribui por vários candidatos. Essa distribuição é exatamente o que a entropia mede.
Entropia: uma breve digressão
A entropia é uma grandeza da teoria da informação que mede a incerteza de uma distribuição de probabilidade. A ideia é simples. Imagine três caixas. Uma delas contém um biscoito. Você precisa adivinhar qual delas.

- Cenário A: Você sabe que o biscoito está na caixa 2. Sua incerteza é zero. Entropia = 0.
- Cenário B: Você não tem ideia. Cada caixa tem uma chance de 1/3. Sua incerteza é máxima. Entropia = log₂(3) ≈ 1,58 bits.
Agora, substitua as caixas por tokens e o biscoito pela próxima palavra “correta”. A cada etapa de geração, um LLM se depara exatamente com essa escolha — só que, em vez de três caixas, ele escolhe entre um vocabulário de mais de 100.000 tokens. Quando o modelo está confiante, um token se destaca e a entropia é baixa. Quando ele hesita, a entropia aumenta.

A distribuição de probabilidade em dois casos diferentes.
A principal conclusão é que uma alta entropia em uma determinada posição do token está associada a uma maior probabilidade de erro nessa posição. O modelo está indicando, por meio de sua distribuição de probabilidade, que não tem certeza do que vem a seguir. Basta prestarmos atenção.
Da entropia às pontuações de alucinação
EPR: Taxa de Produção de Entropia
Nossa primeira métrica, a EPR (Taxa de Produção de Entropia), é direta. Para cada token da sequência gerada, calculamos a entropia das K principais probabilidades de token previstas pelo modelo. Em seguida, calculamos a média ao longo da sequência. Isso resulta em um único número que reflete a hesitação média do modelo em relação à resposta completa.
Esta é uma métrica não supervisionada: não requer rótulos. Em nossos experimentos (publicados na ECIR 2026), o EPR, por si só, alcança pontuações de AUC da curva ROC entre 74 e 81 no TriviaQA em quatro diferentes LLMs. Nada mal para uma métrica que praticamente não custa nada além de uma única passagem de geração.
Mas podemos fazer melhor.
WEPR: Taxa de produção de entropia ponderada
A entropia bruta trata todas as classificações dos tokens de forma igualitária. A contribuição para a entropia do token classificado em primeiro lugar (o mais provável) e do token classificado em décimo lugar é ponderada da mesma forma. Na prática, a forma como a incerteza se distribui pelas classificações contém informações discriminatórias.
O WEPR (EPR ponderado) aprende um conjunto de pesos para reequilibrar essas contribuições. Ele utiliza dois sinais:
- A entropia ponderada média ao longo da sequência — refletindo a hesitação geral.
- A contribuição máxima de entropia por classificação — captando picos de incerteza. Um único momento de grande hesitação pode ser o sinal característico de uma alucinação, mesmo que o restante da sequência tenha sido gerado com segurança.
Essas características são inseridas em uma regressão logística, treinada em um conjunto de dados rotulados. O resultado da função sigmoide é uma probabilidade calibrada:
“Esta resposta tem 86% de probabilidade de conter uma alucinação.”

Além da classificação, o WEPR também gera pontuações por token. Cada token da sequência gerada recebe sua própria probabilidade de alucinação, permitindo identificar exatamente quais partes de uma resposta merecem uma análise mais detalhada. Isso é calculado em tempo real, token por token, à medida que o modelo gera a resposta — sem necessidade de esperar pelo resultado completo.

E quanto aos rótulos?
Um método supervisionado requer anotações. Rotular manualmente milhares de pares de perguntas e respostas é um processo demorado. Por isso, utilizamos uma abordagem que recorre a um LLM como avaliador: um modelo separado compara cada resposta gerada com a resposta correta conhecida e a classifica como correta ou incorreta.
Isso é confiável? Nós validamos o sistema comparando-o com avaliadores humanos. Um grupo de 15 pesquisadores rotulou manualmente mais de 1.300 pares de respostas. A concordância entre o avaliador automatizado e os avaliadores humanos atingiu 95,7%, com um Kappa de Cohen de 0,90. As classificações automatizadas são um indicador confiável do julgamento humano e são suficientemente robustas para treinar um detector de alucinações.
Apresentamos o artefactual: agora é a sua vez de jogar.
Reunimos tudo isso em uma biblioteca Python de código aberto: a artefactual.
A biblioteca vem com pesos de calibração pré-calculados para várias famílias de modelos (Mistral-Small, Falcon-3, Phi-4, Ministral-8B), permitindo que você comece a avaliar os resultados imediatamente, sem precisar executar nenhum pipeline de treinamento. Ela analisa os resultados do vLLM, da API OpenAI Chat Completions e da API OpenAI Responses de forma imediata.
Aqui está a forma mais simples de usar:

As pontuações por token são particularmente úteis para visualização. Cada token da resposta recebe sua própria probabilidade de alucinação, que pode ser representada por um gradiente de cores: verde para resultados confiáveis ou vermelho para resultados incertos. De relance, é possível identificar exatamente quais partes da resposta merecem uma análise mais detalhada.
Em um pipeline RAG
Isso se torna relevante na Geração Aumentada por Recuperação. Imagine um fluxo de trabalho que recupera documentos de uma base de conhecimento e os fornece como contexto a um LLM. Se a recuperação falhar (documentos errados, páginas faltando, contexto incompleto etc.), o modelo tentará preencher as lacunas a partir de sua memória paramétrica, e é aí que as alucinações começam a surgir.
Com o artefactual, você pode adicionar um gate:

Nosso artigo científico em poucas palavras — O que descobrimos
Testamos os modelos EPR e WEPR em quatro LLMs (Mistral-Small-24B, Falcon-3–10B, Phi-4, Ministral-8B) em três tarefas: detecção de alucinações no TriviaQA, generalização para o WebQuestions e detecção de contexto ausente em um ambiente RAG financeiro.
Alguns destaques:
- O WEPR apresenta um desempenho consistentemente superior ao dos métodos existentes. Ele supera tanto o SelfCheckGPT (um método multi-shot que requer 10 vezes mais recursos computacionais) quanto o HalluDetect (um concorrente do tipo single-shot) em quase todas as combinações de modelo e conjunto de dados.
- Não é preciso um grande número de probabilidades logarítmicas. O desempenho estabiliza em torno de K = 8–10 probabilidades logarítmicas acessíveis por token. Mesmo com acesso limitado à API, o sinal está presente.
- Isso se aplica de maneira geral. O WEPR, treinado no TriviaQA, apresenta um bom desempenho no WebQuestions e até mesmo em um corpus financeiro especializado, detectando casos em que um sistema RAG gerou respostas sem contexto suficiente.
- É rápido. A avaliação leva cerca de 80 microssegundos por sequência. Compare isso com os mais de 10 segundos do SelfCheckGPT.
Em nossos experimentos com uma tarefa RAG na área financeira (análise reports anuais 10-K reports conjunto de dados ArGiMi-Ardian), o WEPR atingiu um valor de até 93,6 na curva ROC-AUC na detecção de respostas geradas sem o contexto adequado. Esse é um forte indicador para a ativação de uma segunda etapa de recuperação.
Nota sobre o acesso à probabilidade logarítmica:
Tudo o que foi descrito acima depende de um único fator: o acesso às probabilidades de log em nível de token fornecidas pelo modelo. É isso que nos permite calcular a entropia e, por extensão, os índices de alucinação.
Atualmente, esse acesso não é garantido. A Anthropic não disponibiliza as probabilidades logarítmicas por meio de sua API. A OpenAI as fornece para modelos sem capacidade de raciocínio — é possível solicitar o `top_logprobs` com o GPT-5.4 ou o GPT-5.4-mini, mas somente se o nível de raciocínio for definido como “none”. Por outro lado, o Google permite o acesso a todas as probabilidades logarítmicas por meio de sua API `generate_content`.
Os modelos de peso aberto servidos por meio do vLLM ou de mecanismos de inferência semelhantes oferecem acesso total.
Isso é importante. As probabilidades logarítmicas são um indicador simples e rico em informações. Elas não acarretam nenhum custo adicional (o modelo já as calcula durante a geração) e possibilitam toda uma classe de métodos de quantificação de incerteza — incluindo o nosso. Restringir o acesso a elas leva os usuários a confiar cegamente nos resultados do modelo ou a recorrer a métodos de detecção de múltiplos disparos, que são onerosos.
Se você trabalha com LLMs em produção e se preocupa com a confiabilidade dos resultados, a disponibilidade de probabilidades logarítmicas deve fazer parte dos seus critérios de seleção de modelos. E se você é um fornecedor de modelos: disponibilizar probabilidades logarítmicas é uma das formas mais econômicas de tornar seus modelos mais confiáveis.

BLOG






