Jev es un modelo de IA que, cuando introduces un texto, devuelve una elección, una puntuación o la probabilidad de Sí/No. No genera texto. Está pensado para usos en los que dentro de una aplicación se repiten juicios como el de derivar consultas. El precio es de 0,042 $ por cada millón de tokens de entrada, y la salida es gratuita.
Índice
- 1. ¿Qué es Jev?
- 2. Diferencias entre Choice, Score y Noul
- 3. La garantía del tipo y la precisión del juicio son cosas distintas
- 4. Un ejemplo: derivar consultas de soporte
- 5. Tareas que no encajan y debilidades conocidas
- 6. Cómo leer el precio, los límites de entrada y la velocidad
- 7. Qué comprobar al probarlo
- FAQ
1. ¿Qué es Jev?
TypeSafe anunció el acceso anticipado a Jev el 15 de septiembre de 2026. En lugar de un chat que devuelve explicaciones largas, está pensado para juicios dentro de una aplicación, como decidir «a qué equipo debe ir esto» o «cuánto se ajusta esto a los criterios».
Su rasgo principal es que la forma de los valores devueltos está fijada. Sin embargo, una respuesta con el formato correcto puede seguir siendo un juicio erróneo. Si lees la frase «sin alucinaciones» del anuncio como si significara que acierta con cualquier contenido, lo usarás mal.
TypeSafe llama a Jev «System One model». Según el anuncio, el nombre es propio de la empresa y procede de la distinción que hace Daniel Kahneman en el libro Pensar rápido, pensar despacio entre el «Sistema 1», rápido e intuitivo, y el «Sistema 2», lento y deliberado. No es una calificación de rendimiento unificada para la IA en su conjunto. La explicación oficial de System One lo describe como un modelo que entiende lenguaje natural y devuelve juicios tipados que el software puede usar directamente.
El nombre Jev rinde homenaje al economista William Stanley Jevons. Expresa la idea de que, a medida que baja el coste de la inteligencia, sus usos crecen en órdenes de magnitud, como ocurre con la paradoja de Jevons, en la que las mejoras de eficiencia aumentan la demanda en lugar de reducirla (¿Acabará la IA con los empleos de cuello blanco?).
- state
- Lo que se juzga. Texto o datos en formato JSON. Incluye el cuerpo de la consulta, los elementos que eligió el usuario, información de contexto para la clasificación, etc.
- questions
- Qué hay que decidir. Una pregunta como «¿a qué equipo debe ir esto?», junto con los candidatos y los criterios de juicio.
Como las opciones de salida se fijan de antemano, no hace falta un paso que extraiga un nombre de categoría de un texto como «probablemente sea el equipo técnico». Por otro lado, no sirve para producir textos largos como respuestas, código o razonamientos extensos. Si lo combinas con una IA generativa, el reparto es este: Jev determina a dónde debe ir el trabajo, y el modelo generativo solo se llama cuando hace falta texto.
¿En qué se diferencia de pedirle a un LLM que responda en JSON?
Recibir las respuestas en JSON no es exclusivo de Jev. Claude, por ejemplo, tiene salidas estructuradas que restringen la salida a un JSON Schema. Si ya implementas la clasificación con un modelo generativo, no tienes por qué sustituirlo solo porque «el formato esté fijado».
Jev se especializa en devolver elecciones, valoraciones graduadas y juicios binarios junto con sus probabilidades. Si después del juicio necesitas explicaciones o respuestas, usa un modelo generativo. Si necesitas elegir candidatos a partir de un texto de forma repetida, Jev también es un candidato que conviene comparar. Si necesitas cálculos exactos de importes o fechas, usa código convencional. Así se reparte el trabajo. Lo práctico es comparar precisión, tiempo de espera y coste con la misma entrada y los mismos criterios antes de elegir.
2. Diferencias entre Choice, Score y Noul
La explicación oficial de Primitives divide los tipos de pregunta en tres. Incluso las preguntas parecidas se eligen según la salida que quieras obtener.
Choice: elegir un candidato
Prepara candidatos sin orden, como «Facturación», «Técnico» y «Otros», y elige uno.
Los números de selecciones, probabilidades y recuentos de este artículo son ejemplos ilustrativos.
Incluye «Otros» o «Información insuficiente para decidir» para cubrir entradas que no encajen. Si los candidatos son demasiado estrechos, la clasificación puede ser válida en cuanto a forma pero no ajustarse a la realidad.
Score: medir en una escala
Describe una escala ordenada de 2 a 10 niveles. El valor devuelto es un promedio ponderado según la probabilidad de cada nivel, por lo que puede ser decimal.
Ejemplo de cálculo con 3 niveles: suponiendo probabilidades de 10 %, 40 % y 50 %
No hay información
0 × 0,1 = 0
Se entiende en parte
1 × 0,4 = 0,4
Los pasos para reproducirlo están completos
2 × 0,5 = 1,0
= 1,4
Entre «se entiende en parte» y «los pasos para reproducirlo están completos». Léelo como un valor en la escala definida de 0 a 2, no como una tasa de acierto.
Fuente del método de cálculo: TypeSafe «Primitives» y «API reference».
Es correcto usar el valor de Score para decidir si se ha superado un umbral. Sin embargo, la documentación oficial advierte que no conviene interpolar entre niveles para deducir hacia atrás un número del tipo «1,4, así que la cantidad real es de tanto». Los niveles de Jev 1.13 tienen una calibración numérica débil (debilidades conocidas de Jev 1.13).
Noul: probabilidad de Sí
Aclara la condición, por ejemplo: «¿El texto indica que el servicio no está disponible actualmente?».
Con 0,5, Sí y No son igual de probables
No significa «gravedad media». Para medir la gravedad, usa un Score con niveles definidos.
- Dónde escribir la condición
- Indícala explícitamente en
instructions. La clave que identifica la pregunta no se pasa al razonamiento del modelo, así que no intentes transmitir la intención solo con el nombre de la pregunta. - Campo de confidence
- Choice y Score lo tienen, pero Noul no tiene un campo independiente.
3. La garantía del tipo y la precisión del juicio son cosas distintas
La garantía de tipo que destaca el anuncio de TypeSafe significa que la salida se restringe a los candidatos o rangos de valores definidos. Si divides las consultas entre facturación y soporte técnico, no inventará como texto libre un nombre de departamento que no hayas especificado. Sin embargo, si elige el equipo correcto es otra cuestión.
Según la explicación oficial, el confidence de Choice y Score es un estadístico que resume en un único número de 0 a 1 lo concentrada que está la distribución de probabilidad. Es la métrica predeterminada. Si no se adapta a tu uso, puedes calcular tú mismo otra métrica a partir de las probabilities que se devuelven junto con él.
- Los candidatos están igualados
- La confidence será baja.
- Concentrado en un candidato
- La confidence será alta.
No lo leas como «0,9, así que este caso concreto tiene un 90 % de probabilidad de ser correcto». La calibración de probabilidades es una propiedad que se evalúa sobre muchas predicciones en conjunto. No indica si un caso individual es correcto.
En la práctica, escribes código que se ramifica según la confidence. La página oficial de Confidence muestra la siguiente ramificación, después de que los usuarios elijan su solicitud entre «Consultar saldo», «Aprobar retiro pendiente» o «Soporte» (extracto; los comentarios son traducción del autor).
if confidence < 0.5:
# De verdad hay duda. No hay que adivinar
route_to_human(user_message)
elif action.choice == "check_balance":
# Impacto bajo. Mostrar otra pantalla se puede deshacer
show_balance(account_id)
elif action.choice == "approve_transfer":
if confidence > 0.9:
# Impacto alto y confianza alta. Confirmar y después ejecutar
confirm_then_execute(account_id)
else:
# Impacto alto, confianza media. Comprobar antes
ask_user_to_confirm(account_id)
El límite inferior de 0,5 sirve para detectar los casos en los que el modelo ha indicado que de verdad duda. Además, una operación irreversible, como aprobar un retiro, exige un umbral más alto que una operación de solo lectura. Fíjate en que, incluso por encima de 0,9, el código no ejecuta de inmediato, sino que pide confirmación. Una confidence alta no sustituye al permiso para ejecutar.
0,5 y 0,9 son ejemplos, no valores recomendados de forma general. La documentación oficial también indica que los valores adecuados dependen del campo y del rendimiento del modelo para tu uso. Recomienda empezar con umbrales conservadores y ajustarlos con tus propios datos.
4. Un ejemplo: derivar consultas de soporte
Por ejemplo, consideremos una consulta que dice «Pulso el botón de descargar mi factura y no responde». Si la envías a facturación porque aparece la palabra «factura», pasarás por alto el fallo de la pantalla. Si dejas que Jev haga el juicio, explícale los límites de cada equipo y después haz que elija un candidato.
Siguiendo la Quick start oficial y la referencia de la API, la solicitud tiene esta forma. Obtén una clave de API y envía el JSON a POST https://api.typesafe.ai/v1/systemone.
{
"model": "jev-1.13.0",
"state": "Pulso el botón de descargar mi factura y no responde.",
"questions": {
"team": {
"type": "choice",
"instructions": "Elige el candidato de equipo que corresponda a la petición principal del mensaje.",
"criteria": {
"billing": "Consultas sobre el importe facturado, el método de pago o los cobros duplicados.",
"technical": "Operaciones en pantalla, errores o funciones que no funcionan.",
"review": "Hay varias peticiones mezcladas o falta información para decidir quién debe atenderla."
}
},
"service_unavailable": {
"type": "noul",
"instructions": "¿El mensaje informa de que una pantalla o función no está disponible actualmente?"
}
}
}
Envío y tratamiento de la respuesta
Obtén una clave de API desde la consola y define Authorization: Bearer <API_KEY> y Content-Type: application/json en las cabeceras HTTP. Gestiona la clave mediante variables de entorno o similares en el servidor, y no la incrustes en HTML públicos ni en repositorios.
Para comprobar primero la conectividad, puedes pegar tal cual el ejemplo de curl de la Quick start oficial y ejecutarlo. Pon la clave en la variable de entorno TYPESAFE_API_KEY y ejecútalo. Este ejemplo usa Noul para preguntar si una consulta en inglés expresa urgencia.
curl -X POST https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"state": "Hola, llevo 3 días intentando conectar mi cuenta de Stripe y la integración sigue fallando. Estoy perdiendo ventas. Por favor, ayuda cuanto antes.",
"model": "jev-latest",
"questions": {
"urgency": {
"type": "noul",
"instructions": "¿Este mensaje expresa urgencia?"
}
}
}
EOF
Para enviar el ejemplo en español anterior, sustituye el JSON que va entre <<'EOF' y EOF por ese JSON. Cuando lo llames desde código, o hagas que un agente que te ayuda con el desarrollo lea la especificación, la documentación oficial ofrece los siguientes puntos de entrada.
- Llamada desde Python:
pip install typesafe-sdk(Python 3.10 o superior). El cliente del SDK lee la variable de entornoTYPESAFE_API_KEYy, por defecto, llama ajev-latest. - Desarrollo con Claude Code:
claude plugin marketplace add typesafe-ai/skillsy despuésclaude plugin install typesafe@typesafe-ai. Se instala una skill oficial que pasa a un agente de programación los tres tipos de pregunta y los patrones de diseño (Agent skill).
Volviendo al ejemplo en español, los campos que hay que leer y su uso se muestran en la figura y la tabla siguientes. Con Choice se obtiene el candidato de equipo y con Noul se comprueba si hay un aviso de que una función no está disponible.
| Campo a leer | Valor de ejemplo / significado | Qué hacer con él en tu aplicación |
|---|---|---|
team.choice | technical (equipo técnico) | Mostrar el candidato de equipo |
team.probabilities | {"technical": 0.80, "billing": 0.15, "review": 0.05} | Comprobar si el juicio se reparte entre los candidatos |
team.confidence | Concentración calculada a partir de la distribución de probabilidad | Compararla con la condición que hayas definido según tus propios datos de evaluación |
service_unavailable.noul | 0,85 (valorado como aviso de no disponibilidad) | No confundirlo con la gravedad; usarlo como elemento a confirmar |
Cada campo está bajo answers. Prepara también un destino de revisión pendiente para los casos en que los candidatos estén igualados, falte información o no se pueda obtener la respuesta. Base de los tipos: TypeSafe «API reference».
- 401 y 422: corrige la configuración o la entrada
- 401 indica una clave ausente o no válida; 422, un fallo en la validación del formato de la entrada. Corrige la configuración o el mensaje y vuelve a enviar.
- 429 y 529: espera y reintenta
- No repitas en ráfaga; aumenta gradualmente el tiempo de espera. El SDK oficial hace este reintento automáticamente por defecto.
Los errores HTTP son distintos de una confidence baja. No los trates como valores de respuesta. La base es la referencia de la API mencionada antes.
Al principio basta con no cambiar el enrutamiento existente y simplemente poner junto a los candidatos de Jev el equipo que eligió una persona. Comprueba si un problema técnico sigue derivándose bien aunque contenga la palabra «factura», si los mensajes con varias peticiones pueden enviarse a revisión y si evita sacar conclusiones cuando falta información. Cuando encuentres un error, añádelo como caso fallido y revisa si las descripciones de los candidatos se solapan.
Si lo integras en un agente de IA, separa «el modelo que juzga», «las herramientas que ejecutan» y «las condiciones en las que se permite ejecutar», y mantén los cálculos de importes y las comprobaciones de permisos en el código. Así es más fácil rastrear dónde se produjo un error cuando hay un juicio equivocado.
La documentación oficial de TypeSafe incluye además ejemplos de implementación de barreras de protección para aplicaciones LLM, selección de documentos recuperados con RAG, reordenación de resultados de búsqueda y verificación de citas. Incluso si lo usas para barreras de protección o para seleccionar documentos, sigue presente la debilidad de las «entradas que inducen la respuesta», tratada en el siguiente apartado. (El enfoque de detenerse tanto en la entrada como en la salida se explica en ¿Qué son los guardrails de IA?).
5. Tareas que no encajan y debilidades conocidas
TypeSafe publica las debilidades conocidas de Jev 1.13. No des por hecho que es preciso solo porque se dedique al juicio. Divide el trabajo de la siguiente manera.
| Condición con la que tiene dificultades | Problema posible | Solución de diseño |
|---|---|---|
| Contar y calcular | Confunde recuentos de caracteres, de elementos o cifras exactas | Calcula con un analizador o con código convencional |
| Comparar fechas | Los juicios sobre el orden o sobre si algo cae dentro de un periodo se vuelven inestables | Extrae los elementos necesarios y compáralos como tipos de fecha |
| Doble negación y preguntas indirectas | Se deja llevar por la redacción superficial más que por la intención | Escribe la condición directamente y separa los juicios múltiples |
| Entradas con mucha información irrelevante | La información innecesaria interfiere en el juicio | Busca y extrae primero, y pasa solo los elementos necesarios |
| Entradas que inducen la respuesta | Se ve afectado por instrucciones dentro del texto o por frases que afirman cómo debería clasificarse a sí mismo | Evalúa también con casos fallidos que incluyan entradas inductoras y gestiona los permisos de ejecución por separado |
| Discrepancia entre instructions y criteria | Si la pregunta y los criterios piden cosas distintas, puede haber confusión (por ejemplo, asignar el significado de «no» a true en Noul reduce la precisión) | Escribe los criterios como una extensión de la pregunta y alinea su dirección |
| Generación de texto libre | No es adecuado para respuestas, explicaciones o generación de código | Usa plantillas o un modelo generativo |
Además, las probabilidades de Sí/No preguntadas por separado no tienen por qué cumplir una relación matemática. Aunque preguntes la misma condición y su negación con Noul distintos, la suma no tiene por qué ser 1, y no puedes tratar las probabilidades de Choice y las de Noul con el mismo umbral. Cuando cambies la forma de una pregunta, evalúa de nuevo en lugar de reutilizar los valores ajustados antes.
Puntos que comprobar al usar español
6. Cómo leer el precio, los límites de entrada y la velocidad
A fecha del 21 de septiembre de 2026, la página Models de TypeSafe indicaba que el modelo actual era jev-1.13.0. El 14 de octubre de 2026 también se publicó jev-1.14.0 (el precio y la longitud de contexto son los mismos). En la comprobación del 19 de octubre, el alias jev-latest (estable) apuntaba a la 1.13, y jev-preview a la 1.14. Los alias cambian cuando sale una nueva versión, así que si quieres resultados estables, indica un ID con versión. El precio es de 0,042 $ por cada millón de tokens de entrada, y los tokens de salida son gratuitos. No es una tarifa fija por consulta: varía según el número de tokens de entrada, que incluye state y questions. Como orientación de escala, el ejemplo de respuesta de la Quick start oficial (una consulta en inglés de tres frases con tres preguntas) muestra un usage.input_tokens de unos cientos de tokens. Además, en el anuncio, TypeSafe escribe que por ahora no puede demostrar que este precio no esté subvencionado y que solo a largo plazo se verá si es sostenible. Espera que los precios bajen en lugar de subir.
El doble límite: 64k y 32k
Condición 1: la solicitud completa
64k tokens como máximo
Condición 2: state + la pregunta más larga
32k tokens como máximo
Hay que cumplir ambas. Esto no significa que puedas meter directamente en state un documento de 64k. Este es el valor predeterminado. Si añades la cabecera de solicitud TypeSafe-Danger-Zone-Long-Context: true, ambos límites suben a 262k tokens. El precio es el mismo, pero, según explica la documentación oficial, es más lento y menos preciso.
La entrada es solo texto. No se pueden pasar directamente imágenes, audio ni vídeo, así que hay que convertirlos previamente en texto o en datos estructurados mediante otro proceso.
Los límites de frecuencia pueden cambiar
Los límites de frecuencia se fijan por organización. El de la tuya se consulta en la consola para desarrolladores (a fecha de la página Models del 19 de octubre de 2026; antes se publicaban cifras fijas). Las unidades son tokens por segundo y solicitudes por segundo. Si se supera cualquiera de las dos, se devuelve 429 Too Many Requests. El SDK oficial reintenta con backoff de forma predeterminada, y si la respuesta incluye la cabecera retry-after, sigue su indicación. Si llamas directamente a la API HTTP, escribe tú mismo la lógica de reintento que aumente el tiempo de espera, tal como se indicó antes.
La documentación oficial señala que, como la demanda es muy grande, los límites se ajustan dinámicamente y pueden cambiar sin previo aviso. Los límites más altos están disponibles con contratos personalizados o empresariales. Si tu diseño envía grandes volúmenes de texto de una vez, comprueba los valores al empezar y decide de antemano cómo esperar cuando alcances un límite.
Compara la velocidad y el coste con la misma tarea
En su anuncio, TypeSafe indica que el tiempo desde la solicitud hasta el resultado es de 70 ms a 500 ms. Sin embargo, las evaluaciones públicas de la empresa se ejecutaron principalmente desde portátiles de la empresa situados en la costa oeste de EE. UU., donde está la base del servicio.
Frente a los modelos generativos, cita la cifra de «193,6 veces más rápido y 444,6 veces más barato». Procede de una evaluación de flujos de trabajo creada por la propia empresa, y la propia TypeSafe considera que probablemente esté en el extremo alto de las mejoras que realmente se pueden conseguir. Afirma que los flujos de evaluación no se eligieron para favorecer a su propio modelo y que no están incluidos en los datos de entrenamiento, pero también señala que, al haber sido creados por miembros de su propio equipo de capacidades de modelo, es posible que haya sesgo. Lee ambas cifras como datos del propio proveedor y compáralas con tu trabajo, teniendo en cuenta lo siguiente.
- Los resultados cambian cuando cambian las condiciones: compáralos con la misma distancia de red, la misma longitud de entrada, el mismo número de preguntas y la misma configuración del modelo de comparación.
- No sirven como multiplicador frente al chat habitual: la comparación oficial incluye un procesamiento para extraer una distribución de probabilidad de un modelo generativo.
Qué comparar en la práctica
- Coste: precio unitario de la API + esfuerzo operativo
- Incluye la proporción de preprocesamiento, reintentos y esperas de revisión. Aunque la clasificación sea barata, si aumenta la revisión humana, el esfuerzo total no baja.
- Velocidad: media + solicitudes lentas
- Comprueba que el trabajo no se detiene en horas de congestión ni cuando las respuestas son lentas.
7. Qué comprobar al probarlo
Empieza con el Playground para comprobar si los criterios de tus preguntas se entienden. La Quick start oficial incluye los pasos para obtener una clave de API y llamarla. Como está en acceso anticipado, primero comprueba tus permisos de uso después de iniciar sesión.
① Introduce el mensaje
Si tienes acceso, escribe el texto de la consulta en el Playground.
② Define los candidatos
Define con Choice los candidatos de equipo y sus límites.
③ Cambia la redacción y compara
Observa los cambios en los candidatos y en las probabilidades. Se puede probar antes de preparar el entorno de ejecución.
Cuatro puntos clave de la evaluación
Prepara las respuestas correctas y los límites.
Además de ejemplos en los que una persona decidió el equipo, incluye varias peticiones, textos muy cortos, negaciones y frases que inducen. Al usar datos reales, confirma que el contenido puede enviarse a servicios externos.
Fija los criterios de la pregunta.
Escribe qué se considera cada candidato y define las condiciones para derivar a «Otros». Comprueba también con ejemplos distintos de los que usaste para ajustar los criterios.
Mira juntos la precisión y la proporción enviada a revisión.
Cuenta cuántos casos se procesaron automáticamente en cada umbral y cuántos de ellos fueron juicios erróneos. Indica también el volumen en espera de revisión, para que la precisión por sí sola no parezca mejor de lo que es.
Registra el modelo y las preguntas.
Guarda el ID del modelo, el tipo de entrada, la versión de las preguntas, las respuestas y el tiempo de procesamiento, y compara antes y después de los cambios.
1 cuadrado = 1 caso.
Tasa de procesamiento automático
80 %
80 casos ÷ 100 en total
Tasa de error entre los automáticos
5 %
4 mal clasificados ÷ 80 automáticos
Enviados a una persona
20 casos
100 en total − 80 automáticos
Mira las tres cifras juntas. Con solo 100 casos no se demuestra la precisión en producción.
Si lo aplicas a tu trabajo
- Aplicar repetidamente un juicio con candidatos fijos a grandes volúmenes de texto
- Considera Jev como candidato de comparación. Evalúa su precisión con tus propias entradas, criterios e idioma.
- Redactar textos como respuestas, explicaciones o código
- Usa un modelo generativo o plantillas.
- Calcular importes o fechas con exactitud
- Procesa con código convencional.
Premisa de este artículo: se basa en el anuncio de TypeSafe y en la documentación oficial (comprobados el 21 de septiembre de 2026, con la actualización confirmada el 19 de octubre). El autor no ejecutó la API y no midió la precisión en español ni los tiempos de espera reales.
FAQ
P. ¿Puede Jev mantener una conversación como ChatGPT?
R. No es un modelo que genere respuestas libres. Introduces texto y recibes juicios en la forma que definiste con Choice, Score o Noul. Si necesitas textos de respuesta o de explicación, combínalo con un modelo generativo o con plantillas.
P. Si no tiene «alucinaciones», ¿no se equivocará?
R. Restringir la salida a un tipo o a unos candidatos y juzgar bien el contenido son cosas distintas. La documentación oficial también recoge debilidades como los cálculos, las fechas, las entradas con mucha información irrelevante y los textos que inducen la respuesta. Tienes que medir la precisión con tus propios datos.
P. ¿El 0,5 de Noul significa «moderado»?
R. Significa que Sí y No se evalúan con una probabilidad similar. No es un valor que represente un punto medio de gravedad o de calidad. Para medir el grado, la opción adecuada es un Score con niveles explicados.
P. ¿Se puede usar en español?
R. La documentación oficial indica que procesa otros idiomas además del inglés, incluidas las escrituras CJK, pero explica que el inglés es el idioma principal de entrenamiento y que, por ahora, es el que da mejor precisión. Verifícalo con datos de evaluación en español antes de usarlo en trabajo.
P. ¿Sirve también para juzgar imágenes o audio?
R. La entrada del modelo actual es solo texto, así que no se pueden pasar directamente imágenes ni audio. Si tu diseño pasa caracteres o datos estructurados obtenidos mediante otro proceso, evalúa también los errores de ese preprocesamiento.