Juliana Assalti
Voltar para o blog
2 min de leitura

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.