Qué salto introdujo la alucinación: trazabilidad al estilo de los hadices
Por qué los errores de los LLM nacen en el primer salto y cómo una cadena inspirada en el isnad, un registro de narradores y una matriz de decisión dan a las canalizaciones multiagente responsabilidad en cada salto.
¿Quién le dijo eso al modelo?
Supongamos que cinco agentes manejaron una afirmación antes de que te llegara, y resulta que es falsa. ¿Cuál de los cinco la introdujo? ¿Cuál la reformuló en algo un poco distinto? ¿Quién es responsable? En la mayoría de las canalizaciones en producción, la respuesta honesta es que nadie lo sabe.
Un LLM te entrega una respuesta, y la pregunta es de dónde salió. No de qué documento, sino de qué transformación. Cada salida de un modelo es una afirmación sin procedencia. Hay logs, pero un log te dice qué pasó, no si la transmisión merece confianza. Las cadenas multiagente lo empeoran. Una afirmación que sobrevive a cinco traspasos no es más fiable, solo está mejor escondida.
Dónde empiezan de verdad los errores
Se suele suponer que la alucinación se acumula con la profundidad: cadena más larga, más deriva. Un ranking creado para comprobar esa idea (issue #71 en el repositorio del proyecto, con todo subido) encontró otra cosa. Con hechos muy conocidos, la tasa de alucinación fue del 0%. Con hechos posteriores a la fecha de corte del entrenamiento del modelo, quedó entre el 44% y el 56%. Y se mantuvo estable a medida que la cadena se hacía más profunda.
Así que el error no crece por el camino. Nace en el salto 1, en el momento de generar desde la memoria, cuando el modelo busca algo que no tiene. A partir de ahí, el relevo lo copia fielmente y no añade nada. Eso cambia dónde hay que instrumentar. No te hace falta un detector de deriva. Necesitas saber en qué salto se originó la afirmación y si ese narrador tenía algún motivo para hacerla.
Un método de hace 1.400 años
Los eruditos islámicos se enfrentaron al mismo problema con las afirmaciones humanas hace catorce siglos y construyeron toda una disciplina a su alrededor: la crítica del hadiz. Funciona con tres ciclos que se mantienen separados a propósito:
- isnad es la cadena: quién pasó el relato a quién, y en qué orden.
- rijal se ocupa de los narradores: un registro que califica la fiabilidad de cada transmisor según su papel, y esa calificación pierde valor con el tiempo.
- matn es el contenido: ¿contradice la afirmación lo que ya está establecido?
La separación importa porque una cadena impecable puede transportar una afirmación falsa, y una afirmación verdadera puede llegar por una cadena rota. El sistema no las aplasta en un solo número, porque responden a preguntas distintas.
La biblioteca ISNAD traslada cada ciclo a la infraestructura de LLM:
- Cadena (isnad): cada transformación en orden, con hashes de entrada y salida.
- Registro (rijal): fiabilidad de cada narrador por papel, depreciada según su vigencia.
- Calificación: la calidad de la cadena la marca el narrador más débil.
- Crítica del contenido (matn): afirmación frente a evidencia, pensada para conectarse a tu crítico actual.
- Matriz de decisión: el resultado es servir, servir con advertencia, enviar a revisión o poner en cuarentena.
- Corroboración: testigos independientes (tawatur) y detección de errores que comparten.
- Fundamentación: limitada a la cadena, es decir, a lo que esta cadena recuperó realmente.
- Content-madar: toma huellas de los errores compartidos entre fuentes que parecen independientes.
Cada afirmación pasa por una tabla de 4×3, que cruza la calidad de la cadena con el veredicto sobre el contenido, y sale con exactamente una acción: servir, servir con advertencia, enviar a revisión o poner en cuarentena. Es una acción, no una puntuación, y una acción se puede encajar en una canalización.
Se distribuye como biblioteca, API REST y CLI. Funciona junto a LangChain, LlamaIndex, CrewAI, LangGraph y OpenTelemetry en lugar de sustituirlos, así que adoptarla no implica reescribir tu stack.
Lo que no hace
La mayoría de las herramientas de fiabilidad se saltan esta parte, así que vale la pena decirlo claro.
- Califica quién, no si es cierto. Una cadena sahih dice que la transmisión está bien atestiguada. Nunca dice que la afirmación sea verdadera, y ISNAD no finge lo contrario.
- Las calificaciones son ordinales: sahih está por encima de hasan, luego da'if y luego mawdu'. No hay "92,3% de confianza", porque ningún método honesto produce una cifra así. Dos decimales en un valor de confianza son puro adorno.
- Se combina con críticos. ISNAD es la capa de transmisión y, a propósito, no es el juez del contenido.
- Todo está medido, no afirmado. Cada afirmación del README remite a un resultado reproducible y subido al repositorio, con controles negativos impresos al lado.
- Los límites van primero. El arranque en frío es peor por papel, la integridad solo se sostiene dentro de un dominio, la independencia puede descontarse pero nunca demostrarse, y el crítico fija el techo de cobertura. Todo eso está en el README a la vista, no enterrado en una nota al pie.
Qué muestran las mediciones
La toma de huellas con content-madar redujo la tasa de falsos positivos de 0,750 a 0,375, con un recall de tokens de 1,0 y detección de casi coincidencias de 4 de 4. En la evaluación de fundamentación por cadena, la separación entre afirmaciones fundamentadas y sin fundamento se mantuvo con un crítico NLI, y una protección contra la degeneración impide que el crítico haga trampa.
El resultado más incómodo es que el crítico es el techo. Una configuración cruzada más potente, con deepseek-v4-pro juzgando a deepseek-flash y la evidencia ahí mismo en el contexto, aun así se dejó hasta 2 de entre 4 y 5 alucinaciones. Un crítico no sustituye al dictamen, y la documentación de ISNAD lo dice abiertamente en lugar de esperar que no lo compruebes.
A quién le interesa
- Equipos que despliegan canalizaciones multiagente y quieren responsabilidad por salto en lugar de un stack trace.
- Medicina, derecho y finanzas, cualquier ámbito donde un rastro de auditoría importe más que un archivo de log.
- Investigadores que buscan una forma prerregistrada y reproducible de medir la alucinación y la procedencia.
- Cualquiera harto de "confía en nosotros, está bien" que prefiera leer "esto es quién lo avaló y cuánto vale su aval".
Instálala con:
pip install isnad # Python ≥ 3.11, Apache-2.0
npm i isnad # JS verifier — verifies audit records, grading stays in Python
El repositorio está en github.com/alizahidraja/isnad. Contiene una demo de un solo comando, el arnés completo de benchmarks y el documento ARCHITECTURE, que expone el razonamiento, los límites y los problemas aún abiertos. La independencia de las cadenas sigue siendo el mayor.
ISNAD califica la transmisión, no la verdad, que es como funcionaba la fiabilidad antes de que existieran las máquinas, ahora aplicada a ellas.