
Harness Router
Protocol Lattice · Programación · Productividad
Harness Router elige la siguiente herramienta dentro del harness de un agente que ya tienes montado, con decisiones en caché, enrutamiento Jev y MCTS opcional. La ejecución sigue en tu bucle.

Acerca de Harness Router
What Is Harness Router
Harness Router es un paquete de Python de código abierto pensado para el harness de agentes de IA: toma una sola decisión dentro del bucle, qué herramienta toca ejecutar ahora. Recibe el objetivo, la observación actual, la última acción si la hay y la lista de herramientas disponibles. Devuelve el nombre de una herramienta, una puntuación de confianza y un indicador que avisa si la elección debe volver al planificador.
La división importa. El harness ya se encarga de construir argumentos, comprobar permisos, pedir aprobaciones, reintentar y ejecutar la llamada. Harness Router no toca nada de eso. Se coloca en un punto del ciclo que el anfitrión expone, como un hook de prompt o una devolución de resultado, y aporta una indicación justo cuando toca escoger el paso siguiente. Protocol Lattice lo publica con licencia MIT y la versión actual está marcada como alfa.
Es una pieza pequeña para un problema concreto. La selección de herramientas del agente se complica cuando el catálogo crece, porque varias herramientas parecen razonables ante la misma observación. Un enrutador que nombra una herramienta con su confianza da al harness algo tangible que aceptar o rechazar. No escribe tu código, no lanza tus pruebas ni decide qué significa terminar una tarea.
Conviene leer el benchmark del propio proyecto antes de instalar nada. En la integración con Codex que probaron, el consumo de tokens y el tiempo de ejecución subieron, y la mayoría de las decisiones acabaron en el planificador. El enrutamiento no acelera nada por sí solo, y sus autores lo dicen con claridad.
Getting Started
- Instala la CLI con uv sobre Python 3.11 o superior:
uv tool install --force --with 'mcp>=2,<3' 'git+https://github.com/Protocol-Lattice/harness-router.git@main'. El paquete exponehar,harness-routeryharness-router-mcp. - Exporta
OPENROUTER_API_KEYen el entorno que usará el proceso del harness. El modelo por defecto estypesafe/jev-1.13y, si falta la clave, la llamada devuelve un fallback al planificador. - Ejecuta el instalador de hooks del proveedor que uses y copia los dos adaptadores que deja fuera. Codex y Claude Code necesitan
pre_decision.pyystop.pyen su carpeta de hooks, y el instalador guarda una copia de los ajustes que modifica. - Abre una sesión nueva. El hook de arranque descubre el catálogo, las devoluciones de prompt y resultado calculan una elección por adelantado, y el hook de validación revisa esa decisión sin pedir otra respuesta al modelo.
Información del producto
Un vistazo rápido a los precios, las plataformas compatibles y el rendimiento de Harness Router.
Ideal para
Los usuarios, tareas y casos de uso en los que esta herramienta encaja mejor.
Usuarios
- Quien programa con Codex o Claude Code en tareas largas
- Equipos cuyo registro de herramientas MCP ha pasado de dos docenas
- Quien construye su propio bucle de agente
Tareas
- Elegir entre herramientas de lectura parecidas
- Recuperar el rumbo tras una prueba fallida
- Comparar el enrutamiento con un planificador normal
Casos de uso
- Una sesión de depuración con estados repetidos
- Un catálogo de herramientas que no deja de crecer
- Un primer experimento con enrutamiento de herramientas de IA
Funciones clave
Una decisión de siguiente herramienta con confianza
Cada llamada devuelve el nombre de la herramienta, su categoría, un valor de confianza y un indicador de fallback. El anfitrión compara esa puntuación con dos umbrales: 0,85 para aceptar la elección directamente y 0,60 por debajo del cual la petición vuelve al planificador. Así el harness tiene una regla clara para confiar en el enrutador o ignorarlo.
Tres modos según la confianza que quieras darle
El modo hybrid acepta las elecciones seguras y recurre al planificador cuando hay dudas o un error controlado del proveedor. jev_only acepta todo lo que supere el umbral de fallback y deja que los errores salgan a la superficie. planner_only se salta la llamada al modelo. Puedes cambiar de modo en cada petición sin tocar el código del harness.
Decisiones en caché antes de llamar al modelo
El puente de hooks construye una clave de estado con el objetivo, la observación, la última acción y un catálogo compacto de herramientas. Si el estado coincide, se reutiliza la elección guardada, y la caché por defecto admite 512 entradas por sesión durante 300 segundos. La librería mantiene además una caché menor para elecciones muy seguras con el mismo objetivo y el mismo conjunto de herramientas, que se desactiva con obvious_cache_size=0.
Enrutamiento Jev a través de OpenRouter
Jev es un modelo de decisión, no de conversación. Recibe un estado y una lista cerrada de opciones, y devuelve probabilidades en lugar de texto, lo que encaja con tareas de clasificación como elegir herramienta. El modelo por defecto es typesafe/jev-1.13, al que se llama por OpenRouter con tu propia clave. Cuando el catálogo pasa de 24 herramientas, el enrutador puede escoger primero una categoría y luego una herramienta dentro de ella.
Búsqueda de herramientas con MCTS opcional
La búsqueda Monte Carlo ayuda cuando la mejor primera jugada depende de lo que venga después. Tú aportas un grafo de estados y transiciones previstos, con un presupuesto de simulación entre 1 y 4.096 y una profundidad de hasta 8. La búsqueda trabaja sobre resultados simulados, nunca sobre herramientas reales, y devuelve la primera acción junto a una variación principal. Sin simulador, la elección vuelve al planificador.
Adaptadores para cinco harness
Codex, Claude Code, ohmypi, Antigravity y DeepSeek Harness tienen un adaptador hecho a medida de las devoluciones que expone cada anfitrión. Codex y Claude Code usan hooks de inicio de sesión, prompt, resultado de herramienta y validación previa. ohmypi lee el registro en vivo y cambia el conjunto activo. Antigravity emplea devoluciones de invocación y resultado. Un hook Stop compartido puede pedir otro paso si sigue habiendo una decisión reciente y segura.
Ventajas y desventajas
Ventajas
- Licencia MIT, sin cuenta, suscripción ni servicio alojado dentro del bucle, así que el código completo queda a tu disposición para auditarlo y cambiarlo.
- El fallback es la salida por defecto. Poca confianza, una clave ausente o un error del proveedor devuelven el control al planificador en lugar de forzar una herramienta equivocada.
- Una sola capa de decisión cubre cinco harness, además de la API de Python, la CLI y un servidor MCP, lo que ahorra reescribir el mismo selector para cada anfitrión.
- El benchmark publicado recoge un resultado negativo en una de sus integraciones, algo poco habitual y que hace más creíble el resto de la documentación.
- La caché y el enrutamiento por categorías apuntan a los dos casos donde un enrutador se gana el sitio: estados repetidos y catálogos demasiado grandes.
Desventajas
- En la prueba con Codex, el enrutamiento subió los tokens del modelo principal un 105,9 % y llevó el tiempo medio de 115,8 a 228,9 segundos, con 54 de 58 decisiones cayendo en el planificador. Mide antes de activarlo en un proyecto en marcha.
- Cada llamada envía el objetivo, la observación y las descripciones de herramientas a OpenRouter, y los archivos de sesión guardan ese texto en `.harness-router/`. Las credenciales y los secretos no deberían aparecer en esas entradas.
- El proyecto es alfa, aún no tiene versiones etiquetadas y el instalador de hooks exige copiar a mano los adaptadores de Codex y Claude Code.
- MCTS solo funciona si aportas un simulador sin efectos secundarios. La mayoría de los equipos usará la caché y la ruta de Jev y no llegará a tocar la capa de búsqueda.
Preguntas frecuentes
Elige la siguiente herramienta dentro del bucle de un agente. Le pasas un objetivo, la observación actual y las herramientas disponibles, y devuelve un nombre de herramienta con su confianza o un fallback al planificador. El harness sigue construyendo los argumentos y ejecutando la llamada.
Contenido relacionado
Explora herramientas, habilidades y artículos relacionados con Harness Router.
Alternativas a Harness Router
Base Code
Base44 (Wix) · Programación · ProductividadBase Code es un entorno de desarrollo en la nube compartido de Base44. El equipo describe cambios sobre un repositorio de GitHub en el chat, los ve en una vista previa y los envía como pull requests.
Google EmbeddingGemma 2
Google DeepMind · Escritura · Imagen · ProgramaciónGoogle EmbeddingGemma 2 es un modelo abierto de 740 millones de parámetros que convierte texto, código, imágenes, audio y fotogramas de vídeo en vectores de un mismo espacio de 768 dimensiones, y funciona en móviles y portátiles.
GitGlow
GitGlow · Programación · ProductividadGitGlow es un cliente Git de escritorio que reúne tu código y los cambios de tus agentes de IA en una sola revisión, para que sepas qué va a salir de tu máquina antes de publicarlo.
