Construcción de un Harness con Jev

@sydneyrunkle
INGLÉS18 sept 2026
420K
2.1K
210
49
3.9K

TL;DR

Este artículo explica cómo integrar Jev, un modelo rápido de System One de TypeSafe AI, en agentes LangChain. Detalla las capacidades de Jev para la toma de decisiones estructurada, el enrutamiento de modelos y las salvaguardas de seguridad para optimizar el rendimiento y el costo de los agentes.

Los agentes funcionan en un bucle: un LLM decide qué hacer, una herramienta se ejecuta, un modelo evalúa los resultados y luego continúa en ese bucle hasta que la tarea se completa.

Inicialmente, era difícil integrar agentes y LLMs en aplicaciones de software, las cuales dependen de datos estructurados e interfaces predecibles. Surgieron dos primitivas que facilitaron enormemente este proceso:

  • Tool calling permite a los modelos realizar solicitudes estructuradas y recibir resultados estructurados.
  • Salidas estructuradas permiten a los modelos devolver resultados estructurados.

Pero incluso con estas funcionalidades implementadas, el bucle del agente sigue siendo lento y costoso: cada decisión requiere otra llamada al modelo.

Entra Jev. Jev es un nuevo modelo lanzado por TypeSafe AI. La empresa informa de una inferencia hasta 200x más rápida y un costo 400x menor en comparación con LLMs equivalentes en tareas de clasificación.

https://x.com/CompleteSkeptic/status/2099925682726002904

Esta publicación cubre cómo funciona Jev, dónde encaja en el bucle del agente y cómo usarlo con LangChain.

Todo sobre Jev

Jev no es realmente un LLM tradicional; no genera texto. Es lo que el equipo de TypeSafe AI llama un modelo System One:

📖 Los modelos System One son una clase de modelos de IA diseñados para tomar decisiones rápidas y estructuradas que el software puede usar directamente. Un modelo System One evalúa un

estado y devuelve respuestas tipadas y probabilidades.

Se entrena utilizando aprendizaje por refuerzo para decisiones calibradas (RLCD). Tu código usa esos resultados para guiar lo que hace el agente a continuación, sin necesidad de una llamada completa a un chat LLM para cada decisión.

Para invocar un modelo Jev, le envías un estado (el contexto) y preguntas sobre ese estado. Aquí tienes una versión de una sola pregunta del ejemplo de ticket de soporte en su documentación:

json
1{
2 "model": "jev-latest",
3 "state": "Hola, he estado intentando conectar mi cuenta de Stripe durante 3 días y sigue fallando. Estoy perdiendo ventas. Por favor, ayuda urgente.",
4 "questions": {
5 "is_urgent": {
6 "type": "noul",
7 "instructions": "El mensaje transmite urgencia o sensibilidad temporal"
8 }
9 }
10}

El ejemplo de la documentación da esta respuesta de urgencia, mostrada aquí sin el resto de la respuesta:

json
1{
2 "is_urgent": {
3 "type": "noul",
4 "noul": 0.999
5 }
6}

Eso es una probabilidad del 99.9% de que el mensaje sea urgente, lo cual tu aplicación puede usar para priorizar el ticket.

Hay tres tipos de preguntas compatibles:

Sydney Runkle - inline image
  • Choice: Elige entre un conjunto de opciones. Devuelve una probabilidad para cada opción y una puntuación de confianza general.
  • Score: Califica una entrada contra niveles ordenados, como bajo, medio y alto. Devuelve una puntuación continua, la distribución subyacente y un valor de confianza.
  • Noul: Responde a una pregunta de sí o no. Devuelve la probabilidad de que una afirmación sea verdadera.

Una característica clave aquí es que puedes hacer múltiples preguntas sobre el mismo estado en una sola solicitud.

💡 Los modelos System One evalúan todas las preguntas de una solicitud en paralelo. Agregar preguntas apenas cambia el tiempo de respuesta y solo cuesta los tokens de las preguntas adicionales, que son baratos.

Para ver un ejemplo de cómo hacer múltiples preguntas sobre un ticket de soporte, consulta la Guía de inicio rápido de TypeSafe.

En resumen, a diferencia de los LLMs tradicionales, ¡Jev no está limitado ni por la generación de texto ni por la toma de decisiones secuencial!

Cómo usar Jev con LangChain

El modelo agnóstico de proveedor de LangChain es ideal para soportar Jev junto con miles de otras integraciones y proveedores de modelos.

La integración de LangChain expone Jev a través de TypeSafeClassifier. Pasas tu estado y preguntas a .invoke(), y obtienes resultados de clasificación en lugar de una respuesta de chat.

Instala langchain-typesafe y configura tu TYPESAFE_API_KEY, luego haz una llamada:

python
1from langchain_typesafe import Noul, TypeSafeClassifier
2
3classifier = TypeSafeClassifier()
4
5response = classifier.invoke(
6 state=(
7 "The deploy failed twice and customers are seeing 500s. "
8 "Can someone look now?"
9 ),
10 questions={
11 "urgent": Noul(
12 instructions="Does this need attention right now?"
13 ),
14 },
15)
16
17urgency = response.nouls["urgent"].noul

El estado puede ser texto, datos estructurados o mensajes de LangChain. Esto hace que sea sencillo llamar a Jev desde un nodo o un hook de middleware usando el contexto que tu agente ya tiene.

¡Puedes integrar esto en middleware o herramientas personalizadas!

Casos de uso

Jev no es un reemplazo directo para un LLM. No genera texto, pero puede manejar tareas de clasificación para las que hoy usamos comúnmente LLMs, sin la misma latencia y costo. Esto lo convierte en un complemento prometedor para el modelo que impulsa tu agente: usa un LLM para razonamiento abierto y generación, y Jev para decisiones rápidas y estructuradas en el camino.

Enrutamiento de modelos

Una búsqueda simple no necesita el mismo modelo que una tarea de depuración difícil. El middleware de enrutamiento de modelos permite que Jev evalúe la solicitud y elija un modelo basado en criterios definidos por ti, siendo rápido y económico para tareas sencillas, y más capaz para las complejas.

python
1from langchain.agents import create_agent
2from langchain_typesafe.experimental.middleware import (
3 ModelChoice,
4 ModelRouterMiddleware,
5)
6
7router = ModelRouterMiddleware(
8 choices={
9 "fast": ModelChoice(
10 model="openai:luna",
11 criteria="Direct lookups, extraction, and localized changes.",
12 ),
13 "powerful": ModelChoice(
14 model="openai:sol",
15 criteria="Architecture and high-stakes decisions.",
16 ),
17 },
18 instructions="Choose the least costly model that can complete the task.",
19)
20
21agent = create_agent("openai:gpt-5.6-luna", middleware=[router])

El router selecciona un modelo a partir del último mensaje del usuario y lo utiliza durante toda la ejecución. Las probabilidades y la confianza también permanecen disponibles en el estado del agente.

Modo automático

Los agentes siguen siendo inherentemente poco confiables. Un agente puede recibir instrucciones incorrectas (ya sea naturalmente o de un atacante suficientemente motivado) que pueden persuadirlo para tomar acciones que no queríamos que tomara.

Entornos de codificación como claude, codex y cursor han lanzado alguna forma de clasificar acciones peligrosas antes de que se tomen, lo cual ha ayudado lentamente a generar confianza en los agentes. Hasta ahora, este paso de clasificación estaba bloqueado en las partes de código cerrado del entorno.

Ahora que existe un modelo clasificador barato y de alto rendimiento, podemos adoptar el mismo patrón para todos los agentes.

python
1from langchain.agents import create_agent
2from langchain_typesafe.experimental.middleware import (
3 AutoModeMiddleware,
4)
5
6guardrail = AutoModeMiddleware(tools=["bash"])
7
8agent = create_agent("openai:gpt-5.6-luna", middleware=[guardrail])

AutoModeMiddleware usa Jev para verificar las llamadas a herramientas en busca de decisiones riesgosas que puedan tomar, y bloquea las llamadas antes de que se ejecute la herramienta.

¡Comienza!

Estamos bastante emocionados con Jev y las posibilidades que trae consigo. Algunos proyectos geniales que ya hemos visto: Kyle Jeong de Browserbase está impulsando agentes de uso de navegador por fracciones de centavo, Jarrod Watts construyó un agente de trading en vivo, y Ryan Vogel está haciendo triage de correos electrónicos a gran escala.

A estas alturas, salen nuevos modelos cada semana, pero este tuvo una respuesta bastante desproporcionada. Estamos ansiosos por ver qué construyes con LangChain y Jev.

Háganos saber qué opinan en el foro, etiquétennos en X y compartan lo que están construyendo, o participen en los issues de LangChain!

Agradecimientos

Gracias a @huntlovell, @hwchase, @ccurme, @veryboldbagel y Nathan Drenzer por su cuidadosa revisión y contribuciones.

Guardar con un clic

Lee artículos virales en profundidad con IA en YouMind

Guarda la fuente, haz preguntas concretas, resume el argumento y convierte un artículo viral en notas reutilizables en un único espacio de trabajo con IA.

Explora YouMind
Para creadores

Convierte tu Markdown en un artículo de 𝕏 impecable

Cuando publicas tus propios textos largos, dar formato en 𝕏 a imágenes, tablas y bloques de código es un fastidio. YouMind convierte un borrador completo en Markdown en un artículo de 𝕏 impecable y listo para publicar.

Prueba Markdown a 𝕏

Más patrones por descifrar

Artículos virales recientes

Explorar más artículos virales