Alucinações: por que seu LLM local inventa e como limiter
Uma alucinação de IA é uma resposta falsa apresentada com a segurança de uma resposta correta: uma data inventada, uma citação que não existe, uma função Python imaginária. Em um LLM local, esse fenômeno é o mesmo que em grandes modelos na nuvem, às vezes mais acentuado com quantizações menores. Este guia explica de onde vêm essas invenções, sem jargões, e depois lista as configurações, os prompts e os mecanismos de proteção concretos para reduzi-las — e principalmente os casos em que nunca se deve confiar na máquina.
#O que é uma alucinação?
O termo “alucinação” designa qualquer afirmação produzida pelo modelo que seja falsa, inventada ou impossível de verificar, mas apresentada como um fato. Não se trata de um bug no sentido computacional: o programa funciona perfeitamente, gerando texto plausível. O problema é que “plausível” e “verdadeiro” não são a mesma coisa.
Na prática, uma alucinação assume várias formas: um número preciso, mas falso (“a população dessa cidade é de 47.312 habitantes”), uma fonte que não existe (“segundo o estudo de Dupont et al., 2019”), uma API ou um comando imaginário (`ollama sync --cloud`), ou ainda uma mistura de elementos reais recombinados de forma errada. O ponto em comum: o tom é sempre confiante.
#Por que o modelo inventa
Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
Um LLM é treinado para uma única tarefa: completar texto de forma estatisticamente plausível. Ele absorveu bilhões de frases e extraiu regularidades delas. Quando você faz uma pergunta, ele não “consulta” uma base de conhecimento: ele gera, palavra após palavra, a sequência mais provável com base na sua pergunta e no seu treinamento.
- Sem memória factual confiável
- Os conhecimentos estão diluídos nos pesos da rede, não armazenados como em uma base de dados. O modelo 'lembra' de uma tendência, não de um fato exato. Os detalhes precisos (datas, números, nomes próprios raramente usados) são os primeiros a se deformarem.
- Treinamento congelado no tempo
- O modelo não conhece nada após a data de corte do treinamento. Questionado sobre um evento recente, não diz « não sei »: ele extrapola com base no que conhece, o que gera invenções.
- O viés de responder
- Um LLM é otimizado para responder, não para ficar em silêncio. Diante de uma pergunta cuja resposta ele não conhece, a continuação mais provável costuma ser uma resposta formulada com confiança, em vez de uma admissão de desconhecimento.
- Efeito da quantização
- Comprimir um modelo em Q4_K_M economiza VRAM, mas reduz ligeiramente a precisão. Em tarefas factuais especializadas, uma quantização agressiva pode aumentar a taxa de invenções em comparação com Q8_0 ou FP16.
- O acaso no sampling
- A cada palavra, o modelo sorteia uma opção entre os candidatos prováveis. Quanto mais « criativo » for esse sorteio (temperatura alta), mais ele pode se desviar para continuações improváveis — portanto, falsas.
Ou seja, a alucinação não é um acidente: é o funcionamento normal de um sistema que gera texto plausível sem acesso à verdade. Não a eliminamos, mas a reduzimos e a controlamos.
#Detectar uma invenção
Antes de corrigir, é preciso saber detectar. Alguns sinais devem colocar você em alerta imediatamente.
- Uma precisão suspeita
- Números precisos até a unidade, datas exatas, porcentagens precisas sobre um assunto de nicho: quanto maior a precisão sem fonte, mais duvidoso.
- Citações e links
- Títulos de artigos, nomes de autores, URLs, números de página, referências legais. Os LLMs inventam fontes que parecem perfeitamente confiáveis. Nenhuma referência produzida por um modelo deve ser considerada real sem verificação.
- Código que 'deveria' existir
- Nomes de funções ou de opções de linha de comando que parecem lógicos, mas que não existem. O modelo completa por analogia com APIs semelhantes.
- Uma resposta que muda
- Faça exatamente a mesma pergunta em uma nova conversa. Se a resposta factual variar de uma vez para outra, o modelo está tentando adivinhar em vez de saber.
#As configurações que limitam as invenções
Os parâmetros de geração controlam o equilíbrio entre criatividade e confiabilidade. Para tudo que diz respeito a fatos, código ou extração de informações, queremos determinismo e cautela.
- temperature
- O principal ajuste. Em 0, o modelo sempre escolhe a palavra mais provável: respostas estáveis e conservadoras. Aumente para 0,7–1,0 para escrita criativa, mas reduza para 0,1–0,3 em tarefas factuais.
- top_p
- Restringe a amostragem aos candidatos cuja probabilidade acumulada atinge um valor definido. Um valor baixo (0,1–0,5) elimina a cauda longa de palavras improváveis, frequentemente responsáveis por desvios.
- top_k
- Limita o número de candidatos considerados em cada etapa. Um top_k baixo (10–20) reduz a margem para o modelo se descontrolar.
- seed
- Fixar uma semente torna a geração reprodutível: com configurações iguais, saída igual. Essencial para testar se uma resposta é estável ou aleatória.
- num_ctx
- Tamanho do contexto. Se o contexto for muito curto, o modelo 'esquece' o início e pode recombinar partes incorretamente. Certifique-se de que seus documentos de referência cabem na janela.
Com o Ollama, esses ajustes são passados dinamicamente na chamada à API ou definidos de forma fixa em um Modelfile. Aqui está um exemplo de chamada cautelosa, voltada a respostas factuais, ao daemon local:
Para tornar esses ajustes permanentes em um modelo, eles são registrados em um Modelfile e uma variante dedicada a tarefas factuais é criada:
#Prompts de cautela
A forma como você formula sua solicitação muda bastante a taxa de invenções. A ideia: permitir explicitamente a ignorância e proibir a invenção.
- Dar o direito de não saber
- « Se você não tiver certeza, responda: Não sei. » Sem essa permissão, o modelo preencherá o vazio com uma invenção.
- Exigir ancoragem
- “Responda apenas com base no texto abaixo. Não utilize nenhum conhecimento externo.” Assim, forçamos o modelo a se limitar ao contexto fornecido.
- Solicitar as fontes no texto
- « Para cada afirmação, cite a frase exata do documento que a justifique. » Se o modelo não encontrar justificativa, a ausência será visível.
- Separar fatos e hipóteses
- « Distinga o que está estabelecido do que é uma suposição sua. » Isso incentiva o modelo a identificar suas próprias incertezas.
- Decompor tarefas complexas
- Uma pergunta dividida em várias etapas explícitas deixa menos espaço para improvisação do que uma pergunta ampla e aberta.
#Fundamentar as respostas em seus próprios documentos
A técnica mais eficaz para combater as alucinações da IA continua sendo o RAG (Retrieval-Augmented Generation): em vez de deixar o modelo recorrer à sua memória difusa, fornecem-se a ele os trechos relevantes dos seus documentos e pede-se que responda com base apenas nesses trechos. O modelo passa do papel de “fonte” para o de “leitor”.
- 01Indexar seus documentosSeus arquivos (PDF, anotações, documentos internos) são divididos em pedaços, transformados em vetores por um modelo de embeddings e armazenados em uma base vetorial.
- 02Localizar os trechos relevantesPara cada pergunta, o sistema busca os trechos semanticamente mais próximos da solicitação e os recupera.
- 03Injetar no contextoOs trechos encontrados são colados no prompt, acompanhados de uma instrução rígida: responder apenas com base nesses trechos.
- 04Gerar com citaçõesO modelo redige a resposta com base nos trechos fornecidos, idealmente citando-os. Se eles não contêm a resposta, deve dizer isso.
Open WebUI, conectado ao daemon Ollama (http://localhost:11434), oferece RAG integrado: você envia documentos e os referencia com `#` durante a conversa. Para necessidades personalizadas, uma base vetorial e um pipeline próprio oferecem mais controle.
#Verificar sistematicamente
Nenhuma técnica torna um LLM 100% confiável. A verificação, portanto, não é uma opção, é uma etapa do fluxo de trabalho. Ela deve ser proporcional ao risco.
- Conferir com uma fonte real
- Toda informação factual destinada a ser utilizada (número, data, citação) deve ser verificada em uma fonte primária. O modelo é apenas um ponto de partida, nunca uma referência.
- Testar o código antes de confiar nele
- Execute o que o modelo produzir. Uma função inexistente gerará um erro imediato. Nunca copie código crítico sem antes executá-lo.
- Comparar duas gerações
- Pergunte novamente com uma semente diferente ou em uma nova sessão. Os pontos estáveis são mais confiáveis; os pontos que variam são suspeitos.
- Usar um segundo modelo
- Fazer outro modelo (ou uma variante maior) revisar a resposta de um modelo revela as inconsistências evidentes.
- Manter o ser humano envolvido
- Para qualquer decisão com consequências (saúde, direito, dinheiro, segurança), a validação final permanece humana. Sem exceção.
#Casos em que nunca se deve confiar
Certas áreas concentram as alucinações mais perigosas. Nessas áreas, trate toda saída do modelo como um rascunho não verificado, considerado falso por padrão até prova em contrário.
- Saúde e medicamentos
- Posologias, interações, diagnósticos. Uma invenção pode ser perigosa. O modelo não é um profissional de saúde.
- Direito e tributação
- Artigos de lei, jurisprudência, obrigações de apresentar declarações. Os LLMs inventam referências jurídicas com um realismo enganoso.
- Números e estatísticas precisas
- Populações, taxas, valores, datas exatas. Os detalhes numéricos são a fraqueza estrutural dos modelos.
- Eventos recentes
- Tudo o que é posterior à data de corte do treinamento. O modelo preencherá as lacunas por extrapolação sem avisar.
- Citações e referências
- Títulos, autores, URLs, números de página. Verificar sistematicamente, sem exceção, antes de qualquer reutilização.
- Pessoas e fatos de nicho
- Biografias de pessoas pouco conhecidas, detalhes obscuros: o modelo recombina fragmentos e inventa o restante.
#Para se aprofundar
Reduzir as alucinações é, sobretudo, combinar as configurações certas com a ancoragem adequada. Estes guias complementam a abordagem:
- Temperatura, top-p, top-k: os parâmetros
- Para dominar em detalhes os parâmetros de amostragem mencionados aqui e ajustar com precisão o equilíbrio entre criatividade e confiabilidade.
- Escolher sua quantização (Q4, Q5, Q8, FP16)
- Para entender o efeito da compressão sobre a precisão factual e decidir quando a confiabilidade é prioridade.
- Dominar os system prompts
- Para se aprofundar nos prompts de cautela e estabelecer como padrão um comportamento que evite inventar informações.
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.