Jev de TypeSafe: decisiones tipadas más rápidas y baratas que las llamadas LLM tradicionales
Mike Codeur
Ver el vídeo completo sobre Jev
El problema oculto de las llamadas a un LLM
A menudo usamos un gran modelo de lenguaje para tomar una decisión sencilla: seleccionar una opción, asignar una puntuación, clasificar un contenido o comprobar una condición.
El flujo suele ser así:
- Construir un prompt.
- Enviar el contexto al modelo.
- Pedir una respuesta JSON.
- Parsear el resultado.
- Validar el esquema.
- Repetir la llamada si la salida no es válida.
Funciona, pero a veces usamos una máquina enorme para resolver un problema pequeño.
Si solo necesitas elegir una villa entre cinco resultados ya filtrados, no hace falta pedir al modelo que escriba tres párrafos antes de devolver un identificador. Si necesitas evaluar catorce criterios editoriales, tampoco quieres gestionar catorce llamadas independientes y catorce formatos de respuesta potencialmente distintos.
Ese es precisamente el terreno en el que se posiciona Jev.
¿Qué es exactamente Jev?
Jev está creado por TypeSafe. Entre las personas asociadas al proyecto se encuentra Diogo Almeida, antiguo investigador de OpenAI y coautor del artículo InstructGPT.
La idea central es sencilla:
- proporcionas un state en formato de texto o JSON;
- formulas una o varias preguntas tipadas;
- Jev devuelve valores que respetan el esquema solicitado;
- las respuestas incluyen probabilidades.
Los tipos de preguntas presentados incluyen Choice, Noul y Score.
Jev no se presenta como otro chatbot. Está pensado para los puntos en los que una aplicación debe transformar un contexto en juicios acotados que el código pueda consumir directamente.
Una representación simplificada
Esta es la forma conceptual de una petición. El JSON muestra el modelo mental, no la firma exacta de un SDK:
{
"state": {
"request": "Una villa tranquila para seis personas, cerca de la playa",
"availableVillas": [
{ "id": "villa-12", "capacity": 6, "distanceToBeachKm": 0.4 },
{ "id": "villa-27", "capacity": 8, "distanceToBeachKm": 1.1 }
]
},
"questions": [
{
"id": "bestVilla",
"type": "Choice",
"options": ["villa-12", "villa-27"]
},
{
"id": "requestFit",
"type": "Score",
"min": 0,
"max": 10
}
]
}La respuesta puede consumirse después como un dato de la aplicación:
{
"bestVilla": {
"value": "villa-12",
"probabilities": {
"villa-12": 0.84,
"villa-27": 0.16
}
},
"requestFit": {
"value": 9,
"probabilities": {
"8": 0.18,
"9": 0.67,
"10": 0.15
}
}
}El valor final no es la única parte útil. Las probabilidades también permiten establecer reglas de control. Si las dos primeras opciones están casi empatadas, la aplicación puede solicitar una validación humana en lugar de presentar el resultado como seguro.
Qué cambia Jev en una arquitectura de IA
La pregunta correcta no es: «¿Jev sustituye a los LLM?»
La pregunta correcta es: «¿Qué parte del flujo necesita realmente generación abierta?»
| Necesidad | Herramienta adecuada |
|---|---|
| Cálculo, filtro o regla de negocio exacta | Código tradicional |
| Elección o evaluación a partir de un contexto ambiguo | Jev |
| Redacción, reformulación o resumen abierto | LLM generativo |
| Decisión sensible o difícil de revertir | Humano |
Esta separación importa.
El código debe conservar los hechos exactos: precios, disponibilidad, capacidad, permisos y límites contractuales. Jev interviene en los juicios acotados: mejor opción, adecuación, categoría o puntuación. El LLM sigue siendo útil cuando hay que generar lenguaje. El humano recupera el control cuando un error puede tener consecuencias importantes.
Tres casos de uso concretos de Mike
VillaSlot: elegir entre villas ya filtradas
En VillaSlot, el código empieza aplicando las restricciones objetivas. Puede descartar las villas no disponibles, demasiado pequeñas o fuera del presupuesto.
Jev no sustituye esta lógica. Recibe la lista ya filtrada y elige entre las opciones restantes según la petición del viajero.
La distinción es esencial:
- el código determina los candidatos válidos;
- Jev evalúa su adecuación;
- la aplicación usa el resultado o solicita una confirmación.
Así se evita delegar en un sistema probabilístico una comprobación que el código puede realizar de forma exacta.
YouThumb: decidir después de un análisis visual
En YouThumb, una primera etapa analiza la imagen. El resultado de ese análisis se convierte en el state enviado al motor de decisión.
Jev puede responder entonces a preguntas acotadas: qué variante coincide mejor con el objetivo, qué nivel de legibilidad se observa o qué opción debería seleccionarse.
La visión extrae el contexto. Jev estructura el juicio. El código orquesta el flujo.
AgentsMail: catorce preguntas en una llamada
En AgentsMail, Jev realiza un análisis editorial mediante catorce preguntas agrupadas en una sola llamada.
El objetivo no es predecir el comportamiento de Gmail. Se trata de evaluar el contenido según una guía definida: claridad, fuerza del asunto, coherencia, calidad del CTA y otros criterios editoriales.
Agrupar las preguntas permite obtener una salida estructurada para toda la guía sin construir una cadena de catorce llamadas independientes.
Las promesas de rendimiento
TypeSafe anuncia, en sus propios workflows, rendimientos de hasta:
- 193,6 veces más rápido;
- 444,6 veces más barato.
Las cifras son llamativas, pero hay que presentarlas con el contexto correcto. Son datos del proveedor medidos en los workflows de TypeSafe, no benchmarks independientes que cubran todos los modelos, cargas y casos de uso.
La mejora real dependerá de factores como:
- el modelo que utilizas actualmente;
- el tamaño del state;
- el número de preguntas;
- la frecuencia de las llamadas;
- cuánto trabajo generativo eliminas realmente del flujo.
La estrategia correcta consiste en probar Jev sobre una tarea concreta y con tu propio volumen, para después comparar latencia, coste y calidad operativa.
La garantía que no debes interpretar mal
Jev garantiza el cumplimiento del esquema. No garantiza que cada respuesta sea semánticamente correcta.
Esa diferencia lo cambia todo.
Un valor puede ser técnicamente válido y estar equivocado en el fondo. Una opción puede pertenecer a la lista autorizada y seguir siendo una mala elección. Una puntuación puede estar dentro del intervalo solicitado sin representar correctamente la situación.
Las probabilidades tampoco son una prueba de verdad. Sirven para medir y utilizar la incertidumbre del sistema.
Una implementación sólida necesita:
- estados limpios y suficientemente explícitos;
- opciones bien definidas;
- umbrales de confianza;
- conjuntos de pruebas similares al tráfico de producción;
- validación humana para las decisiones sensibles.
Cuándo tiene sentido usar Jev
Jev resulta especialmente interesante cuando las salidas posibles se conocen de antemano:
- seleccionar una opción de una lista;
- puntuar un elemento en una escala acotada;
- aplicar una guía de evaluación;
- enrutar una petición hacia una categoría;
- comparar candidatos ya validados por el código;
- agrupar varios juicios estructurados en una llamada.
Si quieres escribir un artículo, explicar un concepto o mantener una conversación abierta, un LLM generativo sigue siendo más apropiado.
Un método sencillo para integrarlo
Empieza con algo pequeño:
- Identifica una llamada LLM cuya salida ya esté muy limitada.
- Elimina del state todos los datos innecesarios.
- Traslada las reglas exactas al código determinista.
- Define las preguntas y sus tipos.
- Registra valores, probabilidades, latencia y coste.
- Compara los resultados con casos reales.
- Añade una validación humana cuando la confianza sea insuficiente.
No migres toda tu arquitectura por una promesa de marketing. Elige un flujo, mídelo y amplía el uso solo si el resultado se mantiene en producción.
Conclusión
Jev ofrece una respuesta interesante a un problema habitual: a veces utilizamos LLM generalistas para producir decisiones pequeñas, muy limitadas y costosas de generar y parsear.
Su papel está claro. El código conserva los hechos. Jev produce juicios acotados. El LLM genera contenido. Los humanos mantienen el control sobre las decisiones sensibles.
Las promesas de velocidad y coste merecen una prueba seria, sin confundir las cifras de TypeSafe con benchmarks independientes. El cumplimiento del esquema tampoco debe confundirse nunca con la verdad.
Ver la demostración completa de Jev
Para recibir cada semana análisis prácticos sobre IA, agentes y desarrollo de software, únete a The Agentic Developer.