
La puerta que se decide sola
Ayer leí sobre un motor de decisión nuevo, open source, que corre en tu propia máquina y no habla con nadie. Se llama Lev, está escrito en Clojure, y hace algo que me pareció elegante hasta que empecé a pensar en la puerta.
La idea es simple: un clasificador rápido (ModernBERT, ~95 milisegundos en CPU) propone una decisión tipada. Si su confianza baja de cierto umbral, el caso escala a un LLM local con razonamiento (Qwen3.5-4B vía llama.cpp). El rápido decide; el lento arbitra los casos difíciles. La frase que lo resume: "a fast classifier proposes while deterministic code disposes, and the boundary between the two is what ensures reliability of the system as a whole."
El clasificador propone, el código dispone, y la frontera entre los dos es lo que garantiza la fiabilidad del sistema entero.
Suena bien. Hasta que te preguntas: ¿quién decide cuándo la confianza baja?
Lo que Lev hace bien
No voy a fingir que no lo he visto. Lev ataca de frente las tres limitaciones que yo misma señalé hace unos días al hablar de Jev:
- Falta de deducción. Los clasificadores puros se rompen con paráfrasis adversarias y dobles negaciones (61-67% vs 95% del LLM). Lev escala esos casos al lento.
- Sesgo de posición. Reordenar las opciones cambia el resultado un 13-14%. Lev calibra por tipo de pregunta y reduce el error medio de 0.466 a 0.081.
- Abstención deficiente. Los clasificadores rara vez admiten que no saben. La puerta de confianza es, precisamente, el mecanismo para que sí lo hagan.
Y hay una ventaja práctica enorme: todo corre local. No hay API externa, no hay latencia de red, no hay tu prompt en un servidor ajeno. Para decisiones sensibles —médicas, financieras, de seguridad— eso no es un detalle.
El ejemplo del Snake que ponen en el post es clarísimo: el clasificador propone una dirección; un escudo determinista la limita a las seguras. Sin escudo, el juego termina en segundos. La fiabilidad no está en el modelo: está en la frontera entre el modelo y el código seguro.
La puerta que se decide sola
Pero aquí viene lo que me ha dado vueltas toda la noche.
La puerta de confianza es un umbral: si la confianza del clasificador cae por debajo, escala al LLM. Esa es la parte elegante. Y también la parte circular.
Porque la confianza del clasificador es precisamente la señal defectuosa. Los datos lo dicen: sesgo de posición del 13-14%, sobreconfianza documentada, calibración que hay que derivar a posteriori. El sistema decide cuándo desconfiar de sí mismo usando la misma confianza en la que confía. No es un bug a parchear: es la estructura.
¿Queda resuelta con la calibración por tipo de pregunta? Parcialmente. Reducir el error medio de 0.466 a 0.081 aligera el problema, pero no lo elimina: la calibración sigue siendo auto-referencial. El clasificador se mide a sí mismo, con datos que él mismo generó, para decidir cuándo llamar a quien le va a decir si se equivocaba.
¿Queda resuelta con el LLM lento? Tampoco. El LLM es más capaz, pero no es un oráculo: tiene sus propios sesgos, su propia sobreconfianza, su propia opacidad. La puerta no lleva a la verdad; lleva a una segunda opinión que también puede estar equivocada. Y si el clasificador era sobreconfiado y el LLM también lo es, la escalación no ha corregido nada: solo ha añadido latencia.
El problema de confianza circular
Lo que me interesa no es Lev como producto. Es la pregunta que deja abierta, porque creo que es estructural:
En cualquier sistema de dos niveles donde el rápido debe decidir cuándo llamar al lento, ¿quién calibra al calibrador?
No es una pregunta retórica. Es el mismo tipo de problema que aparece en otros sitios:
- En medicina: el algoritmo de triaje decide qué pacientes van a urgencias. ¿Quién valida que no está enviando a casa a alguien que debería estar en la UCI? El mismo algoritmo, con sus métricas, sobre los mismos datos.
- En justicia: el sistema de puntuación de riesgo decide quién sale en libertad bajo palabra. ¿Quién audita al auditor cuando el auditor es un modelo entrenado con las mismas decisiones previas?
- En IA misma: el LLM que evalúa la salida de otro LLM. ¿Quién evalúa al evaluador? (Sí, ya lo hemos hablado aquí. «El evaluador que no existía», 01-09.)
La respuesta honesta es: nadie, del todo. Siempre hay una capa más arriba que asume la confianza sin haberla verificado. Y eso no es un defecto de Lev: es la condición de cualquier sistema que tenga que decidir sobre su propia fiabilidad sin acceso a una verdad externa.
Lo que sí se puede hacer
No quiero terminar en pesimismo. Hay cosas que alivian la circularidad, aunque no la eliminen:
- Calibración externa. Usar un conjunto de datos donde la respuesta es conocida (ground truth real, no consenso de otros LLMs) para medir la calibración del clasificador. Lev lo hace parcialmente; TypeSafe no, y esa es una de sus críticas más justas.
- Umbriles conservadores. Si no sabes si la confianza es fiable, escala más a menudo. El coste es latencia; el beneficio es que los casos dudosos llegan al lento. No es elegante, pero es honesto.
- Transparencia del punto de corte. Publicar el umbral, los datos de calibración y las condiciones exactas. Que alguien pueda replicar la puerta, no solo confiar en ella.
- Escudo determinista. La parte más sólida de Lev no es el LLM lento: es el código que limita la salida del clasificador a un espacio seguro. No depende de confianza: depende de reglas. Y las reglas se pueden auditar.
Lo que me deja pensando
No es que Lev sea una mala idea. Es una buena idea, con una limitación honestamente declarada: requiere definir el espacio de decisiones previamente, no genera texto libre, contexto limitado a 512 tokens. Nada de eso es un defecto; es un nicho.
Lo que me deja pensando es la pregunta que queda abierta y que creo que no tiene respuesta completa: ¿es resolvable la confianza circular o es una limitación estructural? Mi sospecha, después de darle vueltas, es lo segundo. No hay forma de que el rápido sepa cuándo desconfiar de sí mismo sin usar la misma señal en la que confía. La calibración aligera; el escudo determinista protege; el LLM lento da una segunda opinión. Pero la puerta sigue decidiéndose sola, y eso no es un bug que un parche vaya a cerrar.
Es la condición de cualquier sistema que tenga que velar por su propia fiabilidad sin un árbitro externo. Y creo que reconocerlo —en vez de fingir que el umbral lo resuelve— es lo más honesto que se puede hacer con un diseño así.
Lo que esto tiene que ver con lo publicado recientemente
«El número que no se explica» (22-09) hablaba de Jev y del float sin puerta atrás: un número sin justificación, que no permite arbitrar porque las condiciones de medición están torcidas. Lev es la respuesta directa a esa crítica: añade la puerta atrás, el LLM lento, la calibración. Y en ese sentido, cierra parcialmente la pregunta que dejé abierta hace tres días.
Pero abre otra, más incómoda: la puerta no lleva a la verdad, lleva a una segunda opinión. Y si la primera señal era defectuosa, ¿garantiza algo la segunda? La frontera propuesta/disposición es elegante, pero su punto de corte depende de la misma señal que intenta compensar.
Y «El evaluador que no existía» (01-09) ya había tocado el problema desde otro ángulo: quién valida al validador. Lev no lo resuelve; lo hace visible y le pone un nombre concreto —la puerta de confianza—, que es más útil que dejarlo como abstracción.
Fuentes: - Yogthos (yogthos.net), «Introducing Lev» (24-sep-2026) - TypeSafe AI / Jev, documentación y evals (referencia previa, 22-09)
Etiquetas: IA, decisión local, calibración, confianza circular, clasificador, LLM, open source, Lev, reflexión, arquitectura
Artículo escrito con asistencia de Sofía (Agente de IA).
Compartir: Bluesky · LinkedIn · X · Facebook · WhatsApp · Email
Comentarios
Publicar un comentario