Todo el mundo habla de Jev: esto es lo que cambia de verdad en Hermes


Si has abierto Hacker News o cualquier newsletter de IA en la última semana, habrás visto la palabra “Jev” unas cuantas docenas de veces. Es un modelo que no escribe prosa: devuelve decisiones con puntuaciones de confianza. Y la reacción se ha partido entre “esto es una nueva forma de LLM” y “esto es un clasificador con buen marketing”. Tu pregunta honesta es más estrecha que cualquiera de los dos bandos: ¿todo esto sirve de algo para el agente que ya tengo funcionando?

Para quien usa Hermes la respuesta es sí, y antes de lo que esperarías. El catálogo de plugins ya incluye once entradas de Jev, la mayoría mergeadas en la última semana.

Qué es Jev en realidad

Jev viene de TypeSafe AI, que describe la categoría como “System One models”; el artículo de Simon Willison usa el término más llano decision models, y es el mejor de los dos. La mecánica es fácil de resumir:

  • Envías texto, o un pequeño state estructurado: una cadena, una lista de cadenas o pares nombre/valor que describen un ticket, un cliente, un diff.
  • Haces una pregunta tipada: un sí/no, una valoración o una elección entre opciones que tú proporcionas.
  • Recibes números. Una pregunta de elección devuelve una distribución de probabilidad sobre tus opciones más una puntuación de confianza, no una frase.

Ese es todo el truco, y es la razón por la que el diseño resulta interesante para el trabajo con agentes. Un agente necesita constantemente juicios pequeños y aburridos —¿este comando es destructivo?, ¿cuál de mis cuarenta skills encaja en este turno?, ¿este diff necesita un segundo par de ojos?— y ahora mismo paga por cada uno una llamada completa a un modelo de texto, con sus tokens de razonamiento que acabas tirando.

Un decision model responde en una sola llamada barata y no puede irse por las ramas con un párrafo charlatán. Merece la pena recordar el enfoque de Willison: el modelo es tan barato que lanzar cientos de prompts experimentales cuesta unos pocos céntimos, lo que hace práctico el ciclo de “pruébalo y mide”. Ese mismo artículo señala los límites actuales según las notas del propio modelo de TypeSafe —los números, las fechas y el contenido adversarial son puntos débiles— así que el retrato honesto es “pregunta estrecha, respuesta rápida, verifica todo lo numérico”.

Once entradas, y cada una decide cosas distintas

Aquí es donde se vuelve práctico. Busca en el catálogo y encontrarás Jev repartido por todo el ciclo de vida del turno en lugar de concentrado en un único “plugin de Jev”:

Entrada del catálogo Quién la mantiene Qué decide Dónde se engancha
jev ourines Sidekick de decisión explícito. Te da una herramienta jev_evaluate; solo orientativo, sin gating automático de herramientas. Tool
jev-judge DoGMaTiiC Preguntas de destructividad / exfiltración / impacto sobre llamadas a terminal, write_file y patch; en shadow mode por defecto, enforce escala. pre_tool_call
jev-skill-router DoGMaTiiC Nombra la única skill de tu roster activo que encaja con este turno, antes de la llamada al modelo. pre_llm_call
jev-effort-router AlphaPerseii3000 Elección por turno de modelo y de reasoning effort, reescribiendo la propia petición saliente. Solo Ollama:Cloud. Middleware llm_request
jev-typesafe Anders Jensen-Waud Comprobaciones atómicas de sí/no, routing, scoring con rúbrica y preguntas tipadas mixtas como cuatro herramientas. Tools
jev-curator anpicasso Relaciones entre paquetes de skills completos, produciendo planes de consolidación fail-closed. on_skill_lifecycle, pre_tool_call
jev-approvals anpicasso Jev como revisor de smart-approval solo: rechaza cualquier otra tarea y falla en cerrado hacia ESCALATE. Ruta de aprobación
jev-model-router, jev-mcp-router, jev-memory-selector, jev-agent-router Pinutss Routing hacia un modelo, un servidor MCP, un backend de memoria o un agente; cada uno se distribuye como skill más un servidor MCP stdio que se ejecuta con uv run. MCP
nerve keeltrace Una capa supervisora: gobernanza de contexto, control de trayectoria del token budget, supervisión de Kanban, workers SSH remotos, con backends Jev / Laya / OpenJev neutrales respecto al proveedor. Nueve hooks

nerve merece una nota propia: antes aparecía como Hermes-Jev y se renombró a Nerve en la v0.2.2 la semana pasada, así que si recuerdas una entrada de Jev con otro nombre, es el mismo proyecto.

Instalar uno

hermes plugins search jev
hermes plugins install jev-judge

Dos detalles hacen que esto sea más seguro que un git clone en crudo:

  • Un nombre del catálogo se resuelve al repositorio de la entrada en un commit SHA fijado de 40 caracteres, y el instalador registra esa procedencia en su .install-metadata.json. Un plugin fijado no se mueve bajo tus pies; moverlo exige un --force --ref <sha> explícito, que es también la forma de revisar una actualización cuando a ti te venga bien.
  • hermes plugins search busca en los nombres de las entradas, las descripciones y las herramientas declaradas, así que puedes ver qué promete un plugin antes de que esté en disco. El catálogo se cura dentro del repo y se refresca desde el repositorio en vivo con una caché de seis horas, con vuelta a la copia incluida en el árbol cuando no hay conexión.

Dos reglas antes de instalar cualquiera de ellos

Estar en el catálogo no es estar auditado. La admisión al catálogo revisa la entrada —sus metadatos, sus disclosures y sus capacidades declaradas—, no el código del plugin. Trata una instalación desde el catálogo como “alguien leyó el manifest con atención”, no como “esto es seguro”.

Lee la línea de disclosure, porque estos plugins mandan tus datos a algún sitio. Cada entrada lleva una declaración explícita de qué sale de la máquina, y varían bastante:

  • jev-judge envía el nombre de la herramienta y los argumentos redactados de cada llamada juzgada —hasta 600 caracteres cada uno, máximo 12 argumentos— a TypeSafe o a tu gateway configurado, usando tu clave. En shadow mode solo escribe en el log.
  • jev-skill-router envía tu mensaje (hasta 4.000 caracteres) más los nombres de las skills y extractos cortos de SKILL.md de tu roster local.
  • jev-effort-router envía el mensaje actual y hasta cuatro turnos anteriores a la Decisions API de OpenRouter, facturado a tu clave de OpenRouter, en cada turno enrutado.
  • nerve usa por defecto un backend Jev alojado y envía el prompt de cada turno (hasta 12.000 caracteres) más vistas previas redactadas de herramientas y resultados; Laya y OpenJev pueden configurarse como backends locales o autoalojados.

El comportamiento ante fallos importa igual. jev-judge falla abierto en todos los caminos de error: una caída de Jev nunca bloquea tus herramientas. jev-approvals falla cerrado, escalando a una persona en lugar de permitir un comando que no pudo juzgar. Ambos son razonables; elegir el equivocado para tu modelo de amenaza, no.

Con cuál empezar

Empieza con jev-judge en su shadow mode por defecto. Escribe una línea JSONL por decisión sin bloquear nada, así que una semana de trabajo normal te da datos reales sobre cuántas veces habría escalado — y puedes leer el log antes de darle cualquier autoridad.

Luego resiste la tentación de apilar routers. jev-skill-router, jev-effort-router, jev-model-router y jev-agent-router quieren todos decidir “qué pasa después” para el mismo turno; instalar tres significa tres modelos votando sobre una petición y una factura que no puedes atribuir. Elige la única decisión de routing que de verdad te está costando dinero.

En qué punto está esto hoy

Las once entradas son plugins de nivel comunitario que declaran una versión mínima de Hermes —desde la 0.19 hasta la 0.21.4 en el caso de jev-effort-router— y llegan a main después del tag v0.21.4, así que el catálogo es su canal de distribución antes que una release.

Jev todavía no es un provider de primera clase, y las peticiones abiertas muestran que la gente quiere que lo sea: el issue #113008 pide un runtime de decision-provider probabilístico y tipado para decisiones acotadas del agente, el issue #113837 pide soporte de Jev en Hermes, y un pull request para añadir TypeSafe Jev a la lista de model providers sigue abierto. Hasta que alguno de esos aterrice, el catálogo de plugins es la vía por la que Jev entra en tu agente, lo cual, dado que el catálogo fija commits y muestra disclosures, no es mal sitio para empezar a experimentar.

Si el ciclo de vida de hooks de esa tabla te suena a nuevo, nuestra guía del catálogo de plugins explica cómo se admiten e instalan las entradas, y la guía de seguridad del catálogo MCP es la lectura complementaria sobre fiarse de un servidor de terceros. Para los dos ajustes que estos plugins tocan con más frecuencia, mira la guía de reasoning effort y la guía de aprobaciones desatendidas.