Trabalho · IA Aplicada · 2026
Um contrato de confiança para relatórios gerados
Cada afirmação num relatório gerado carrega uma etiqueta calculada em código a partir da proveniência da evidência. O leitor fica a saber de que frase desconfiar, e as etiquetas acabaram por auditar o sistema que as produziu.
1. O problema
Um relatório gerado soa confiante do princípio ao fim. A prosa tem um só registo, e por isso uma afirmação apoiada numa página analisada e uma afirmação que o modelo adivinhou ficam idênticas no ecrã. Um leitor que já foi queimado uma vez descarta o documento inteiro, e num relatório que termina num veredicto de Continuar, Pausar ou Matar sobre o produto de alguém, uma única afirmação errada sem marca chega para o perder.
A solução que entregámos é um contrato: cada afirmação carrega uma de três etiquetas, Verificada, Provável ou Desconhecida, e a etiqueta é calculada em código a partir da origem da afirmação. Ao modelo nunca é pedido que avalie o próprio texto. A autoavaliação falha na mesma direção do texto que classifica, o que a torna decoração.
2. A etiqueta é uma função da proveniência
Cada afirmação sai da síntese com três campos: como foi produzida (observada numa fonte, inferida ou estimada), a confiança do analisador, e se uma fonte de suporte sobreviveu à normalização. A etiqueta deriva desses campos depois da geração, num único sítio, com um teste por cima.
function deriveClaimLabel(claim: Claim): TrustLabel {
if (claim.type === "observed"
&& claim.confidence === "high"
&& claim.hasSupport) return "Verified"
if ((claim.type === "inferred" || claim.type === "estimated")
&& claim.confidence !== "low") return "Likely"
return "Unknown"
}3. Citações verificadas por substring
As etiquetas ordenam as afirmações. Uma segunda verificação prende-as: uma afirmação que cita uma fonte tem de carregar um excerto literal dessa fonte, e depois da geração uma função confirma que o excerto existe no documento com um teste de substring. O teste é deliberadamente primitivo. Uma verificação de alucinação construída sobre outra chamada a um modelo pode alucinar; uma substring, nunca.
A verificação provou o seu valor cedo. Numa ronda de avaliação, um modelo produziu uma resposta fluente e plausível com zero chamadas a ferramentas, a responder de memória sem nada recuperado. Todas as verificações de excerto falharam ao mesmo tempo, e a transcrição mostrou um relatório que leria perfeitamente bem sem citar nada. Resultado plausível, processo errado, apanhado em código.
4. As etiquetas auditaram o próprio sistema
O contrato pagou-se de uma forma que não desenhámos. Numa série de avaliações, 13 de 15 transcrições bem-sucedidas produziram exatamente as mesmas contagens: duas Verificadas, nove Prováveis. Uma análise real tem variância, e contagens idênticas significavam afirmações estruturais. O rasto levou a analisadores que emitiam um bloco fixo de duas afirmações com tipo e confiança predefinidos: as etiquetas descreviam o código, e o código era igual em todas as rondas.
O caso contrário confirmou que as etiquetas seguem a evidência. Um site analisado devolveu pouco conteúdo, e o relatório saiu com zero Verificadas, quatro Prováveis, onze Desconhecidas: a distribuição colapsou para Desconhecida exatamente quando a evidência colapsou. A correção que se seguiu deixou cada analisador emitir uma lista de afirmações de comprimento variável, com tipo, confiança e suporte derivados do que foi de facto observado na página.
5. O que levar daqui
- 1
Etiquetas de confiança pertencem ao código, derivadas da proveniência. Um modelo a avaliar o próprio texto falha com o texto.
- 2
Uma substring é uma primitiva de verificação que nunca alucina. Use-a antes de qualquer coisa mais inteligente.
- 3
A distribuição das etiquetas é um diagnóstico. Contagens idênticas entre rondas significam que o pipeline está a afirmar, e foi a medição que o mostrou.