El LLM decide, el código ejecuta: determinismo alrededor del modelo
Un agente legal no puede improvisar un cálculo de intereses. Por qué envolvemos cada juicio del modelo en validación determinista, y qué queda fuera del LLM por diseño.
La objeción más razonable que escuchamos de un socio de despacho es esta: «¿y si la IA se equivoca en un cálculo?». La respuesta correcta no es «casi nunca se equivoca». La respuesta correcta es: la IA no calcula. En nuestra arquitectura el modelo de lenguaje tiene prohibido, por diseño, producir cualquier valor que pueda expresarse como una regla.
El reparto de papeles
Usamos el modelo exclusivamente para lo que el código no puede hacer: clasificar documentos ambiguos, extraer campos de texto desestructurado, normalizar nombres con erratas, decidir el tono de una comunicación. Todo lo demás es código determinista:
- El interés legal, el IVA y el principal se calculan con funciones puras, testeadas y versionadas.
- Un DNI o un CIF se valida con una expresión regular y su dígito de control, no preguntándole a un modelo.
- El enrutado de un fichero por tipo o extensión es un
switch, no un prompt. - Los reintentos ante un error de API se deciden por código de estado, no por juicio.
Por qué esta frontera importa más en legal
- Clasificar documentos ambiguos
- Extraer campos de texto libre
- Normalizar nombres con erratas
- Elegir el tono de una comunicación
- Interés legal, IVA y principal
- Validación de DNI / CIF / IBAN
- Enrutado de ficheros por tipo
- Reintentos por código de estado
Un agente que opera sobre expedientes judiciales deja rastro con efecto jurídico. Eso impone dos propiedades que un LLM, por sí solo, no da:
- Reproducibilidad. El mismo expediente con los mismos datos debe producir el mismo cálculo hoy y dentro de un año. Una función determinista lo garantiza; una respuesta muestreada, no.
- Auditabilidad barata. Auditar una función es leerla. Auditar una respuesta de modelo exige registrar entrada, salida, versión y evaluación. Reservamos ese coste para las decisiones que de verdad necesitan juicio.
El modelo como proponente, nunca como autoridad
Cuando el modelo sí interviene — extraer el importe de una factura escaneada, por ejemplo — su salida entra en el sistema como propuesta, no como hecho. Pasa por validadores deterministas (rangos, formatos, coherencia entre campos, cuadre aritmético) y solo se consolida si los pasa todos; si no, cae a una cola de revisión humana con el contexto completo. El agente resultante es menos espectacular en demo y mucho más aburrido en producción. En legal, aburrido es exactamente lo que se quiere.