Este es el complemento técnico de la introducción al Asesor Paralegal. La introducción explica qué hace la herramienta y por qué es gratuita; este artículo está dirigido a quienes construyen estos sistemas y quieren entender las decisiones que hay debajo.
La versión breve: en una IA especializada y de alto riesgo, lo difícil no es el modelo, sino la disciplina que lo rodea. Un chatbot genérico que suene como un abogado es fácil de crear. Uno en el que usted pueda confiar para una cuestión de cumplimiento normativo, no. Casi cada decisión que sigue está al servicio de esa diferencia.
Las restricciones que lo condicionaron todo
Antes de cualquier arquitectura, el problema fijó las reglas:
- Las respuestas erróneas salen caras. Esto afecta al cumplimiento normativo y al Estado de derecho. Una alucinación segura de sí misma no es un fallo, es una responsabilidad legal.
- La ley cambia. El marco jurídico humanitario de Ucrania se ha ido enmendando de forma continua desde febrero de 2022. El corpus es un objetivo en movimiento.
- Dos idiomas. Los textos de origen están en ucraniano; muchos usuarios trabajan en inglés.
- Usuarios no expertos. Coordinadores, no abogados.
- Tiene que ser verificable. Los usuarios deben poder comprobar lo que se les dice.
- Tiene que ser barato y duradero. Es una herramienta pública y gratuita, así que un coste desbocado o la fragilidad la matarían.
La arquitectura de un vistazo
INGEST SERVE
official legislation user question
→ extract & normalize → embed the query
→ chunk → retrieve across 3 corpora (law-first)
→ embed (Gemini) → reason over sources (tool agent)
→ vector store (Qdrant) → answer + cited sources
▲ │
└── incremental updates └── same-origin proxy → chat UI
La pila tecnológica es deliberadamente aburrida: Google Gemini para embeddings y generación, Qdrant como almacén de vectores, una capa de orquestación low-code para el grafo de servicio y una fina capa web de mismo origen. Lo aburrido es una virtud: el valor está en las decisiones, no en la novedad.
Las decisiones que importan
Recuperación, no ajuste fino
El corpus cambia cada semana. Ajustar finamente un modelo sobre la legislación implicaría reentrenarlo cada vez que se enmienda una ley, y aun así difuminaría la línea entre «el modelo aprendió esto» y «el modelo está adivinando». La generación aumentada por recuperación (Retrieval-Augmented Generation) mantiene el conocimiento en un almacén que se puede actualizar en minutos e inspeccionar directamente, y hace que la citación sea natural: el modelo responde a partir de pasajes que acaba de recuperar. En un dominio donde la procedencia lo es todo, el RAG no es un atajo, es la arquitectura correcta.
Embeddings: primero la calidad y el idioma
El corpus se migró al modelo de embeddings de Gemini con su dimensionalidad completa. Lo impulsaron dos razones. Primera, la calidad multilingüe: el mismo modelo tiene que situar un texto legal ucraniano y una pregunta en inglés cerca el uno del otro en el espacio vectorial. Segunda, la asimetría entre consulta y documento: las preguntas y los pasajes jurídicos se codifican con tipos de tarea distintos, de modo que una pregunta corta recupere bien un texto largo y denso. Estos son los detalles que en silencio determinan si la recuperación funciona siquiera.
Fragmentación dimensionada a la ley, no a un valor por defecto
El texto jurídico tiene unidades naturales: artículos y secciones. Si se fragmenta demasiado pequeño (un hábito heredado de modelos de embeddings antiguos y más pequeños), se despedaza un artículo en fragmentos que pierden cada uno el hilo. El tamaño de fragmento aquí está ajustado para que la mayoría de las disposiciones individuales queden enteras, encajando holgadamente dentro del presupuesto de entrada del modelo de embeddings. La fragmentación es poco vistosa y una de las decisiones de mayor impacto en cualquier sistema RAG.
Tres corpus, la ley primero
No todas las fuentes tienen la misma autoridad, y mezclarlas resultaría engañoso. La base de conocimiento se divide en tres:
- Legislación primaria: el texto legal con autoridad.
- Un conjunto humanitario curado: disposiciones seleccionadas a mano para las operaciones de ONG, enriquecidas con metadatos de relevancia.
- Análisis secundario: comentario experto que revisa la ley.
El sistema encabeza siempre con la ley primaria y trata el análisis como comentario claramente etiquetado, marcado con su fecha. Codificar la jerarquía de autoridad en la capa de recuperación —en lugar de confiar en que el modelo la infiera— es lo que impide que «la opinión de un experto» se sirva como «la ley».
Un agente con herramientas, no una cadena de un solo recuperador
La primera construcción evidente es un recuperador que alimenta un único prompt. No puede servir tres corpus con papeles distintos. Por eso el grafo de servicio es un agente que usa herramientas: el modelo dispone de una herramienta de recuperación separada por corpus y decide cuál consultar, empezando siempre por la ley primaria. La contrapartida es honesta: varias llamadas al modelo por pregunta en lugar de una, es decir, unos pocos segundos más de latencia. A cambio se obtiene la separación de las fuentes, un comportamiento que antepone la ley y la capacidad de decir «las fuentes no cubren esto» en vez de forzar una respuesta. Para este dominio, ese intercambio merece la pena.
Metadatos, fechas y ordenación
Cada fragmento lleva metadatos estructurados: área del derecho, fecha de promulgación/enmienda y (para el conjunto curado) una puntuación de relevancia operativa. Las fechas se normalizan a una forma ordenable para que el almacén pueda hacer consultas de rango reales —«solo leyes desde X»— en lugar de comparar cadenas de texto. Ordenar por relevancia operativa significa que el corpus refleja la experiencia de terreno, y no solo lo primero que encontró el rastreador.
Las citas como salida de primera clase
Cada respuesta devuelve las fuentes concretas que la respaldan —título, fecha, enlace—, presentadas como tarjetas numeradas, con el análisis distinguido visualmente del texto legal. Esto no es decoración. En un dominio sensible a la confianza, la verificabilidad es el producto; una cita que el usuario puede abrir vale más que cualquier cantidad de fraseo seguro de sí mismo.
Salvaguardas, por diseño
Tres familias de salvaguardas, todas especificadas en lugar de dadas por supuestas:
- Anclaje. El asistente responde a partir del texto recuperado y tiene la instrucción de decir cuándo el material no cubre una pregunta, nunca de inventar una ley, un artículo o una fecha.
- Humildad. Las respuestas de consecuencia derivan al usuario a un abogado cualificado. Es una primera parada, no un sustituto.
- Límites. Sigue siendo un asistente jurídico: no se deja llevar fuera de tema y no revela sus propias interioridades. Las salvaguardas que no se pueden enunciar con precisión son salvaguardas que en realidad no se tienen.
Servicio y acceso
La capa web nunca ve una clave de API: las peticiones se enrutan por proxy de mismo origen, con la credencial inyectada en el servidor. El acceso se moldea entonces mediante controles por capas: una comprobación de origen para impedir que otros sitios incrusten la herramienta, más una limitación de tasa como techo de uso justo y de coste. El principio que conviene enunciar: una comprobación de origen es un control de ámbito del navegador, así que se trata como una capa entre varias, no como autenticación. Defensa en profundidad, adecuada a una demo pública y gratuita.
Coste y durabilidad
Una herramienta gratuita tiene que seguir siendo gratuita. Eso significa un modelo de generación de coste eficiente, respuestas en streaming para que la interfaz se sienta ágil incluso mientras el agente trabaja, y un techo de gasto para que un pico de tráfico no se convierta en una factura sorpresa. Mantener el corpus al día se resuelve con actualizaciones incrementales y, cuando cambia el propio modelo de embeddings, con una reconstrucción sin tiempo de inactividad en una colección nueva antes de conmutar, además de controles de calidad en la extracción para que los documentos mal formados nunca lleguen al almacén.
Contrapartidas honestas
Ningún sistema está terminado, y pretender lo contrario es una señal de alarma. Algunas cosas que señalaría abiertamente: el diseño multillamada del agente intercambia latencia por calidad; la calidad de la traducción de los títulos de las citas es buena, pero no sustituye a una lectura nativa del texto legal; y un marco de evaluación offline en condiciones —que mida la precisión de la recuperación y la fidelidad de las respuestas frente a un conjunto de preguntas etiquetadas— es la siguiente inversión natural para un sistema como este.
Por qué escribir esto
Las herramientas de aquí son productos básicos; cualquiera puede conectarlas. Lo que hace fiable a un producto de IA de dominio es el criterio: saber que la fragmentación importa más que la elección del modelo, que la jerarquía de autoridad corresponde a la capa de recuperación, que la verificabilidad vence a la fluidez y que las salvaguardas hay que especificarlas, no darlas por supuestas. Ese criterio viene de haber vivido el problema, no solo de haber leído sobre él.
Ese es exactamente el tipo de trabajo que hago con las organizaciones: tomar un problema operativo real y construir un producto de IA lo bastante preciso, verificable y duradero como para poder confiar en él. Si eso encaja con su equipo, hablemos.
