Saltar al contenido
Método

Cite-or-refuse: por qué una respuesta regulada debe poder rehusarse.

Una respuesta sin fuente no es un producto: es un pasivo. El contrato que obliga a un copiloto regulatorio a citar el documento o abstenerse.

Cerberus

En un sistema regulado, la pregunta no es si el modelo entiende el corpus. La pregunta es si lo que devuelve puede sostenerse frente a un fiscalizador, un abogado o un auditor que abrirá el documento citado en otra pestaña.

Ese cambio de criterio —de la fluidez a la verificabilidad— redefine el producto. Una respuesta sin fuente no es una función incompleta: es un pasivo. Alguien va a actuar sobre ella.

El problema: el RAG que alucina

La recuperación aumentada reduce la alucinación, no la elimina. El patrón habitual encadena tres pasos: se recuperan fragmentos por similitud, se pegan en el contexto y el generador compone una respuesta. El resultado suele ser correcto en tono e incorrecto en detalle: una cifra desplazada, un artículo de una norma que no existe, una obligación atribuida al organismo equivocado.

El fallo es silencioso porque el formato de salida es el de una respuesta válida. No hay excepción, no hay error 500, no hay log. Solo un párrafo bien escrito que un analista copiará en un memo. En un dominio donde la respuesta correcta tiene consecuencias legales, ese es el peor modo de fallo posible: el sistema no se equivoca a la vista de nadie.

El contrato

Cite-or-refuse es una regla de negocio, no una instrucción de prompt. Toda afirmación de la respuesta debe mapearse a un fragmento que exista en el corpus al momento de responder: identificador de documento, versión, offsets, fecha de ingesta. Si una afirmación no logra ese mapeo, se elimina. Si al eliminarla la respuesta deja de contestar la pregunta, no se responde.

La abstención tampoco es un texto genérico. Devuelve motivo: qué se buscó, qué se recuperó, qué afirmación no pudo verificarse. Un «no encontré información» sin traza es indistinguible de un fallo de índice.

Hay una consecuencia de diseño que conviene explicitar: la abstención es una salida de primera clase, con su propio esquema y sus propias pruebas. No es el camino de excepción; es el camino que el sistema debe poder recorrer sin degradarse.

El pipeline

En Cerberus Compliance el recorrido completo tiene cuatro etapas antes de emitir una línea:

  1. Enrutado. Un supervisor clasifica la consulta y la deriva a uno de los seis agentes (KYB, financiero, legal, protección de datos, monitoreo y uno de síntesis). Cada agente tiene un subconjunto de las 46 herramientas y un alcance declarado.
  2. Recuperación híbrida. Búsqueda densa y léxica en paralelo sobre el warehouse de 120 tablas, con fusión por rango recíproco. La vía léxica sostiene los identificadores exactos —números de norma, RUT, códigos— que el embedding diluye.
  3. Rerank en GPU. El conjunto fusionado se reordena con un modelo de reranking que corre en la misma GPU del servicio. El top final es corto y acotado: el contexto de 1M tokens no sustituye la selección, solo evita truncar.
  4. Verificación. Cada oración candidata se contrasta contra los fragmentos seleccionados. Sin respaldo textual, la oración cae. Lo que sobrevive se publica con su cita; el resto se declara como no cubierto.

La API /v1 expone 116 operaciones sobre el mismo warehouse, y varias devuelven la traza de recuperación junto con el dato. La cita no es un adorno de interfaz: es parte del contrato de respuesta.

answer = verify(retrieve(q), corpus)
# si verify no cubre una afirmación: se elimina
# si la pregunta queda sin cobertura: se abstiene con motivo

Qué se mide

Dos métricas gobiernan el sistema, y ninguna es «satisfacción del usuario».

Cobertura de citas: proporción de afirmaciones emitidas que tienen un fragmento verificado. Si baja de 1,0 en el conjunto de evaluación, hay una fuga entre recuperación y generación.

Abstención correcta: de las consultas que caen fuera del corpus, cuántas se rehúsan sin inventar. Se mide contra un conjunto adversarial construido a mano: preguntas sobre normas derogadas, sobre jurisdicciones que no cubrimos, sobre cifras que no ingerimos.

Conviene medir además la abstención falsa: preguntas que sí están en el corpus y el sistema rechaza. Un sistema que se rehúsa siempre tendría abstención correcta perfecta y sería inútil. Las dos tasas se leen juntas o no se leen.

Qué no afirma

Esta nota no afirma que el sistema entregue asesoría legal. Cita fuentes y las hace accesibles; no interpreta vinculantemente ni sustituye a un abogado. La cobertura está acotada por el corpus: si un documento no fue ingestado, no existe para el verificador, y la respuesta correcta es decirlo.

La distinción importa. Un producto que promete veredictos jurídicos necesita otra conversación. Uno que promete localizar la fuente exacta y admitir cuándo no la tiene puede auditarte: cada respuesta queda registrada con su traza, y esa traza se puede revisar sin pedirle permiso al modelo.

  • cite-or-refuse
  • RAG
  • compliance