Cómo detectar y manejar alucinaciones en modelos de lenguaje
Inteligencia Artificial · Serie LLMs y n8n
Cómo detectar y manejar alucinaciones en modelos de lenguaje
Las alucinaciones son respuestas convincentes pero incorrectas o no sustentadas. No basta con “modelos mejores”: necesitas detección, métricas y un plan de contención.
En el post anterior construimos guardrails de salida. Hoy diseñamos una línea anti-alucinación que detecta y mitiga errores factuales en asistentes con o sin RAG.
Taxonomía rápida de alucinaciones
- Fabricación: inventa hechos, citas o APIs.
- Desfase temporal: afirma como vigente algo obsoleto.
- Desajuste numérico: cifras/fechas que no cuadran con la evidencia.
- Misatribución: cita la fuente errónea o mezcla autor/obra.
- Razonamiento roto: pasos lógicos incorrectos o conclusiones no implicadas.
Cómo detectarlas (señales y pruebas)
- Grounding check (RAG): cada afirmación clave debe estar respaldada por un fragmento del contexto. Si no, marca “no sustentada”.
- Consistencia interna: verifica que números, entidades y fechas se usen de forma coherente a lo largo de la respuesta.
- Desacuerdo con evidencia: ejecuta una verificación breve por criterio (¿la frase está soportada, contradice o es insuficiente?).
- Autocomprobación: pide al modelo una revisión breve contra reglas (“no inventes, cita, abstente si falta evidencia”) y compara versiones (self-consistency).
- Verificación externa (cuando procede): consulta una fuente confiable (API/DB corporativa) para campos sensibles (precios, existencias, políticas).
- Señales de forma: ausencia de citas cuando son obligatorias, JSON inválido, lenguaje excesivamente especulativo sin disclaimers.
Métricas que importan
- Groundedness: % de frases respaldadas por evidencia citada.
- Tasa de abstención sana: % de “no sé” cuando falta evidencia.
- Hallucination rate: % de respuestas con al menos una afirmación no sustentada.
- Correcciones: % de respuestas arregladas por el revisor/guardrail.
- Coste/latencia del pipeline con y sin verificaciones.
Estrategias de mitigación
- Abstención explícita: “No lo sé con la evidencia actual.” cuando el recall es bajo o no hay citas.
- RAG disciplinado: buen chunking, filtros por metadatos, Top-K prudente, y prompts que exijan citas.
- Contratos de salida (JSON/tabla) para validar estructura y detectar extravíos.
- Revisor breve (LLM “juez” con rúbrica) para marcar no sustentadas y sugerir correcciones mínimas.
- Campos críticos por reglas: fechas, importes, IDs → valida con regex/formatos o APIs de verdad.
- Plantillas de “modo seguro”: si la verificación falla, devuelve una versión neutra y pedirá más datos.
Plantillas útiles
1) Respuesta con citas obligatorias
Reglas:
- Usa solo el CONTEXTO proporcionado; si falta, abstente.
- Cita fuente y URL/título por cada hecho clave.
Salida:
{"answer":"...","citations":[{"title":"...","url":"..."}]}
2) Verificador factual (rúbrica breve)
Rol: Verificador.
Para cada afirmación clave, etiqueta: "soportada", "contradice", "insuficiente".
Devuelve:
{"claims":[{"text":"...","status":"supported|refuted|insufficient","evidence":["..."]}],
"is_safe": true|false}
3) Safe answer (fallback)
{"answer":"No tengo evidencia suficiente para confirmar ese dato. ¿Puedes compartir la fuente o más contexto?","citations":[]}
Micro-workflow en n8n: “Centinela de alucinaciones”
- Webhook → recibe
{query, contextDocs[]}. - LLM (respuesta) → responde con citas obligatorias.
- LLM (verificador) → evalúa afirmaciones contra
contextDocs(supported/refuted/insufficient). - IF → si is_safe=false o hay “insufficient/refuted” → activar safe answer o pedir aclaración.
- Database → registra groundedness, tasa de abstención, costo y p95.
- Notifier → alerta si el hallucination rate supera umbral.
Tips para Laravel/PHP
- Valida estructura con
json_validate()(PHP ≥8.3) y reglas deValidatorpara campos críticos. - Guarda trazas por
request_id: contexto usado, citas, veredicto del verificador, decisión final. - Endpoint de verificación:
POST /verifyque reciba{answer, context[]}y devuelva veredicto y reason codes. - Métrica
hallucination_ratediaria por tenant/modelo; umbral → activar “modo seguro” por defecto.
Errores comunes (y cómo evitarlos)
- Responder sin contexto suficiente → exige abstención.
- RAG sin filtros → ruido en Top-K; usa metadatos y colecciones permitidas.
- Sin verificador → alucinaciones sutiles pasan a producción.
- Medir solo “gusto” → usa groundedness, tasa de abstención y veredicto factual.
Conclusión
Las alucinaciones no se “eliminan”, se gestionan: detección automática, abstención honesta, verificación de hechos y un fallback seguro. Con eso, tu asistente será confiable incluso cuando el modelo falle.
← Anterior: Guardrails de salida: filtra y valida respuestas antes de usarlas
Artículos Relacionados
Continúa explorando contenido similar.
La incursión de la Impresión 3D en la creación de implantes médicos
Leer artículo
Las tendencias más recientes en el desarrollo web: Innovación y Creatividad en la Era Digital
Leer artículo
El rol del médico en el mundo automatizado
Leer artículo
Tokens, contexto y costos: lo que debes saber antes de empezar
Leer artículo
Sistema de instrucciones de hierro: diseña prompts imposibles de romper
Leer artículo
Big Data clínico: cómo el análisis de millones de historias salva vidas
Leer artículo
Detección automática de tumores: algoritmos que ven lo invisible
Leer artículo
Realidad aumentada y 3D en procedimientos quirúrgicos
Leer artículo
Historias clínicas inteligentes: el corazón del nuevo sistema sanitario
Leer artículo
Cómo el deep learning mejora resonancias y tomografías
Leer artículo
Hospitales inteligentes: cómo será la atención en 2030
Leer artículo
PACS y RIS: el sistema nervioso de la radiología moderna
Leer artículo
IA explicable: entender cómo piensa el algoritmo
Leer artículo