1 pontos por dpcks666 6 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp

Olá.
Sou o desenvolvedor que apareceu aqui há cerca de 6 meses para apresentar o 'Uhheung', um serviço de participação cidadã que permite visualizar projetos de lei com facilidade e deixar opiniões.

Desta vez, introduzimos uma função de fact-checking com IA para tentar reduzir fake news e discussões improdutivas dentro da comunidade, e quero compartilhar as preocupações e os erros técnicos que enfrentei nesse processo.

No início, abordei isso de forma bem simples. Eu passava o texto-alvo e montava um prompt dizendo: "verifique se este texto é verdadeiro". Mas, quando coloquei isso em produção, começaram a surgir vários problemas inesperados.

A IA tentava fazer fact-checking até de simples 'opiniões' pessoais como se fossem fatos, e acabava chegando a conclusões plausíveis mesmo sem fundamento. Além disso, se o autor editasse o texto depois que o fact-checking terminava, surgia a situação absurda de o resultado não bater mais com o conteúdo.

No fim, descartei toda a estrutura inicial e, hoje, refiz bastante o pipeline, operando da seguinte forma.

1. Separar o que realmente deve ser verificado (opinião vs. fato)

Em vez de verificar o texto inteiro de uma vez, fizemos a IA extrair primeiro apenas as 'alegações factuais' que podem ser verificadas objetivamente. Julgamentos de valor como "essa política é a pior possível" são ignorados, e só frases como "este projeto de lei aumenta os impostos em 20%" viram alvo da checagem.
Para entender o contexto com precisão, a IA não olha apenas para o texto-alvo: o post original, o comentário pai e até as imagens anexadas são agrupados de forma multimodal para fornecer contexto.

2. Fazer a IA responder "não sei"

Esse foi um dos pontos em que mais me concentrei. Para evitar as alucinações típicas de LLMs, quando faltam evidências confiáveis para validação cruzada ou quando a verificação é impossível, controlamos fortemente o prompt para que a IA não force uma conclusão e responda com 'não é possível saber' ou 'julgamento suspenso'.

3. Congelar snapshots do conteúdo original e fornecer fontes com transparência

Para impedir o problema de o autor editar o texto depois, armazenamos exatamente os dados originais (snapshot) do momento em que o fact-checking foi solicitado. Assim, quando outros usuários veem o resultado, conseguem verificar com transparência "com base em qual texto/imagem e em qual momento a verificação foi feita" e "quais fontes foram consultadas".

4. Tratamento de tráfego e recursos

Como esse processo de coletar todo o contexto e validar tudo é pesado, passamos a precisar de gerenciamento de fila dos usuários. Por isso, todas as solicitações são enviadas para uma fila assíncrona usando Redis Cluster + BullMQ, e processadas sequencialmente em workers de background.
Considerando custo e velocidade, usamos o Gemini 3.5 Flash como modelo principal, mas aplicamos uma estrutura de fallback para o Gemini 3.1 Pro quando a taxa de erro sobe ou quando falha um raciocínio mais complexo.
(Para evitar solicitações indiscriminadas, também limitamos o uso: 1 vez por dia grátis, depois com desconto de pontos dentro do app.)

Desafios que ainda estamos resolvendo

Mesmo com uma lógica de defesa montada do nosso jeito, ainda há muitos casos difíceis. Quando as estatísticas usam recortes temporais diferentes, quando falas de políticos envolvem metáforas ou interpretações, ou quando há textos longos que misturam fatos e mentiras de forma sutil, ainda é difícil tratar tudo perfeitamente.

Vocês podem testar diretamente no app Uhheung.
Se alguém tiver dicas de prompts para capturar melhor alucinações nesse tipo de lógica de verificação, ou ideias de UX/UI para fazer os usuários aceitarem melhor resultados ambíguos, fiquem à vontade para aconselhar. Obrigado por lerem até aqui!

Google Play: https://play.google.com/store/apps/details?id=kr.uhheung.app
App Store: https://apps.apple.com/kr/app/%EC%96%B4%ED%9D%A5/id6751951353

Ainda não há comentários.

Ainda não há comentários.