Como impedir uma IA de inventar fato num resumo
Um modelo de linguagem preenche lacunas com o que soa plausível. Num resumo de terceiros, isso é desinformação com o seu nome. As travas que mantêm a IA presa à fonte — e por que a que importa não confia no modelo.
Um modelo de linguagem é fluente por construção, não verdadeiro. Diante de uma lacuna, ele preenche com o que soa plausível — um número redondo, um nome conhecido, uma conclusão razoável. Num resumo de conteúdo de terceiros, um fato inventado não é bug: é desinformação publicada com o seu nome em cima.
O princípio que resolve isso é simples de enunciar e difícil de manter sob pressão: o modelo não é fonte de fato. Ele recebe o texto do artigo e só pode reformular o que está ali. Qualquer número, nome, data ou afirmação que não esteja no texto de entrada é considerado erro — e o item é descartado, não corrigido.
Ancoragem estrita na fonte
A primeira trava é no prompt: forneça o texto da fonte, proíba conhecimento externo e mande o modelo relatar apenas o que a fonte diz. Se o texto for vago, o resumo deve ser vago também. E rode com temperatura 0 — criatividade é exatamente o que você não quer aqui.
Mas prompt é pedido, não garantia. O modelo pode obedecer 99 vezes e inventar na centésima. Por isso a segunda trava não confia nele.
Trave o que a IA não deve poder fazer
A checagem mais barata e eficaz é determinística, fora do modelo: todo número com dois ou mais dígitos que aparece no resumo tem que existir no texto da fonte. Sem juízo, sem outra IA — só uma comparação de strings que pega a alucinação mais comum.
// Todo numeral com 2+ dígitos no resumo precisa existir na fonte.
function numerosAncorados(resumo: string, fonte: string): boolean {
const nums = resumo.match(/\d[\d.,]{1,}/g) ?? []
const agulha = fonte.replace(/[.,\s]/g, '')
return nums.every((raw) => {
const n = raw.replace(/[.,]/g, '')
return n.length < 2 || agulha.includes(n)
})
}Não é elegante, e é de propósito: a rede de segurança que importa é a que não depende de o modelo estar de bom humor. Além dela, valem as travas de processo:
- Descarte quando o texto da fonte é insuficiente — um teaser não vira resumo honesto.
- URL da fonte obrigatória: sem origem verificável, o item não existe.
- O item nasce como rascunho e só vai ao ar depois de revisão humana.
O desenho é esse: o modelo rascunha rápido, as travas determinísticas cercam o que ele não pode fazer, e a pessoa aprova. IA como estagiário veloz, não como oráculo — e é essa a diferença entre acelerar o trabalho e terceirizar a credibilidade.