Ingeniería de IA

Por qué diseñé mi herramienta de IA para que se niegue a inventar datos

El anti-alucinación no es una feature del producto. Es el producto.
Cuando construyes una herramienta que genera informes para decisiones de inversión, el error más caro no es que falte un dato. Es que la herramienta invente uno con total confianza. Se lo he visto hacer a modelos de lenguaje muchas veces: si le preguntas "¿cuál es el nivel de madurez tecnológica de esta startup?" y el texto fuente no lo dice, un LLM sin restricciones tiende a rellenar el hueco con algo plausible en vez de decir "no lo sé". Para un informe de due diligence, eso es peor que no tener el dato — es tener un dato falso con apariencia de verificado. Así que en DD-Copilot puse una regla no negociable, a nivel de código, no solo de prompt: cada afirmación tiene que venir acompañada de una cita textual, y esa cita se verifica automáticamente contra el texto fuente original antes de aceptarla en el informe.
  1. El modelo extrae una afirmación y la cita que dice haber usado como fuente.
  2. Un validador independiente (citation_check.py, con rapidfuzz) comprueba si esa cita aparece literalmente — con cierta tolerancia a variaciones menores de mayúsculas o espacios — en el texto original.
  3. Si la cita no aparece, el dato se descarta por completo. El informe no dice "esto podría ser cierto" — dice explícitamente "Not mentioned in the source".
Esto convierte algo que suena a "detalle de implementación" en la garantía central del producto: la sección "Qué no dice la startup" del informe es tan valiosa como la de "Qué dice" — porque un analista de riesgo necesita saber exactamente qué preguntas hacer en la siguiente llamada con el fundador, no una lista inflada de datos que suenan bien pero no se pueden verificar.