02-05-02 — Limitações dos LLMs: alucinação, knowledge cutoff, contexto finito e vieses
TL;DR
LLMs têm quatro limitações estruturais que você precisa considerar em toda arquitetura: alucinação (inventam fatos com confiança), knowledge cutoff (não sabem o que aconteceu depois do treinamento), contexto finito (não "lembram" de conversas longas) e vieses (refletem o viés dos dados de treino). Cada uma tem mitigações conhecidas — a questão é saber quando aplicá-las.
1. Alucinação
O modelo gera conteúdo factualmente incorreto com o mesmo tom de confiança de quando está correto. Não é bug — é consequência direta da arquitetura: o modelo foi treinado para gerar sequências plausíveis, não para verificar fatos.
Por que acontece
O modelo não tem acesso à "verdade". Ele tem parâmetros que codificam associações estatísticas entre tokens. Quando questionado sobre algo que não está bem representado no treinamento, ele extrapola — gerando texto que parece certo mas pode ser completamente falso.
Tipos de alucinação
- Factual: datas, nomes, estatísticas inventadas. "O CPF do João é 123.456.789-00." (inventado)
- Referências: citar artigos acadêmicos, leis ou processos que não existem com DOIs plausíveis.
- Raciocínio: erro em cadeia lógica apresentado com confiança total.
- Código: APIs inexistentes, parâmetros errados, imports de bibliotecas que não existem.
Mitigações para alucinação
- RAG (Retrieval-Augmented Generation): forneça os fatos no contexto. O modelo responde com base no documento, não na memória paramétrica.
- Grounding: instrua explicitamente: "Responda apenas com base nos documentos fornecidos. Se não souber, diga 'não encontrado'."
- Structured output: use JSON Schema ou function calling para forçar formato — mais fácil de validar programaticamente.
- Temperature baixa: 0.0–0.2 para tarefas factuais.
- Verificação: pipelines críticos devem cruzar dados do LLM com fontes externas antes de exibir ao usuário.
2. Knowledge cutoff
O modelo só sabe o que estava nos dados de treinamento até a data de corte. Eventos, leis, tecnologias e pessoas posteriores a essa data são desconhecidos.
| Modelo | Knowledge cutoff (aprox.) |
|---|---|
| GPT-4o | Outubro 2023 |
| Claude 3.5 Sonnet | Abril 2024 |
| Gemini 1.5 Pro | Novembro 2023 |
| Llama 3.1 | Dezembro 2023 |
Mitigações para knowledge cutoff
- RAG com fontes atualizadas: indexe documentos recentes e forneça no contexto.
- Web search tools: GPT-4o com browsing, Claude com web tool, Gemini com Search grounding.
- Informar a data atual no system prompt: o modelo pode raciocinar melhor sobre o que sabe ou não sabe.
- Fine-tuning periódico: para domínios com atualização frequente, re-treine com dados novos.
# Boa prática: fornecer data atual no system prompt
from datetime import date
system_prompt = f"""Você é um assistente de pesquisa.
Data atual: {date.today().strftime("%d/%m/%Y")}.
Seu conhecimento tem um cutoff e pode não incluir eventos recentes.
Quando não tiver certeza sobre informações recentes, informe explicitamente.
Baseie-se apenas nos documentos fornecidos para fatos específicos."""
3. Contexto finito (context window)
O modelo só "vê" o que está dentro da janela de contexto atual. Não há memória persistente entre conversas — cada chamada começa do zero.
Tamanhos de contexto atuais
- GPT-4o: 128K tokens (~100K palavras, ~300 páginas)
- Claude 3.5: 200K tokens
- Gemini 1.5 Pro: 1M tokens (experimental)
- Phi-3 Mini: 128K tokens
Mitigações para contexto finito
- Memória externa: salve o histórico da conversa num banco vetorial; recupere apenas os turnos mais relevantes.
- Summarização progressiva: comprima turnos antigos com o próprio LLM para liberar espaço.
- RAG com chunking eficiente: divida documentos em chunks de 500–1000 tokens e recupere apenas os K mais relevantes.
- Sessões independentes: para tarefas que não precisam de histórico, não acumule contexto desnecessariamente.
4. Vieses
LLMs são treinados em dados da internet — que refletem os vieses da humanidade: racial, de gênero, geográfico, político, temporal. O modelo amplifica o que está nos dados.
Tipos de viés relevantes
- Cultural/geográfico: tendência a responder com perspectiva ocidental, anglófona.
- Temporal: sobrerrepresenta eventos recentes do período de treinamento.
- Confirmação: tende a concordar com a perspectiva implícita do prompt.
- Grupo: associações estereotipadas com gênero, etnia, profissão.
Mitigações para vieses
- System prompts explícitos: instrua o modelo a ser neutro, considerar múltiplas perspectivas.
- Avaliação diversa: inclua usuários de diferentes backgrounds nos testes.
- Red-teaming: teste ativamente com prompts que podem expor vieses.
- Content filtering: use ferramentas de moderação como o Azure Content Safety.
import os
from azure.ai.contentsafety import ContentSafetyClient
from azure.ai.contentsafety.models import AnalyzeTextOptions
from azure.core.credentials import AzureKeyCredential
client = ContentSafetyClient(
endpoint=os.environ["CONTENT_SAFETY_ENDPOINT"],
credential=AzureKeyCredential(os.environ["CONTENT_SAFETY_KEY"])
)
# Analisa texto antes de enviar ao LLM (prompt shield)
# ou depois de receber resposta (output moderation)
response = client.analyze_text(
AnalyzeTextOptions(
text="Texto a ser analisado",
categories=["Hate", "Violence", "SelfHarm", "Sexual"],
output_type="FourSeverityLevels"
)
)
for result in response.categories_analysis:
if result.severity >= 2: # 0=safe, 2=low, 4=medium, 6=high
print(f"⚠️ {result.category}: severity {result.severity}")
# Bloquear ou escalar para revisão humana
Resumo: limitações e mitigações
| Limitação | Mitigação principal | Custo/complexidade |
|---|---|---|
| Alucinação | RAG + grounding | Médio |
| Knowledge cutoff | RAG / web search | Baixo-médio |
| Contexto finito | Memória vetorial + summarização | Médio |
| Vieses | Content Safety + red-teaming | Médio-alto |
Como isso se conecta
Fontes
- Lost in the Middle: How Language Models Use Long Contexts — Liu et al., 2023
- Hallucinations in Large Language Models: A Survey
- Microsoft Docs — Azure AI Content Safety
- Siren's Song in the AI Ocean: A Survey on Hallucination in Large Language Models
- Anthropic Research — Measuring Faithfulness in Chain-of-Thought Reasoning