¿Qué es un agent harness? Todo en el agente que no es el modelo
Un agent harness es todo el código alrededor de un modelo de IA que lo convierte en agente: el loop, las herramientas, el contexto y los controles. Qué hace cada parte, harnesses reales uno al lado del otro, y por qué el harness decide más que el modelo.
Un modelo puede pensar. No puede abrir un archivo, correr un test ni recordar lo que pasó ayer. Todo lo que le permite hacer eso es el harness.
Un agent harness es todo el código alrededor de un modelo de IA que lo convierte en agente. Corre el loop que sigue llamando al modelo, le da al modelo las herramientas con las que actúa, decide qué ve el modelo en cada turno y hace cumplir lo que el modelo tiene permitido hacer. El modelo produce texto. El harness es lo que deja que ese texto toque tu repositorio.
Claude Code es un harness. Codex CLI, OpenCode, pi, Kiro y Hermes Agent también lo son. Cuando alguien dice que “su agente mejoró”, la mayoría de las veces lo que cambió fue el harness, y el modelo siguió siendo el mismo.
Corro harnesses todos los días. Entregué una fintech cripto de 13 apps en 70 días, solo, con agentes en el loop. Construí un pipeline de siete agentes en OpenCode con modelos abiertos, escribí mi propio paquete de model-handoff para pi, y mantengo un agente Hermes corriendo en un VPS. Esta página es la definición simple que me hubiera gustado encontrar primero.
La palabra viene de los caballos
Un caballo es fuerte. Solo en un campo, esa fuerza no mueve nada que te importe. Ponle un harness, engánchalo a una carreta, dale las riendas a alguien, y la misma fuerza entrega una carga en el lugar que elegiste.
El modelo es el caballo. Aporta la capacidad bruta: leer código, razonar sobre él, escribir más código. El harness es el collar, las correas, la carreta y las riendas. Apunta esa capacidad hacia un trabajo, lleva el resultado a un lugar útil y mantiene una mano humana en la dirección. Cambia a un caballo más fuerte con un harness roto y sigues sin moverte del lugar.
Agente es modelo más harness
LangChain resumió la definición en cuatro palabras. Es la versión más limpia que se ha publicado, y es la que uso en harness engineering.
La definición
La prueba al final de ese recuadro es la parte que importa. No puedes tocar los pesos. Puedes tocar todas las demás líneas. Por eso el harness es donde vive tu apalancamiento.
El loop es la parte más chica
Esta es la sorpresa cuando abres un harness de verdad: el loop del agente es diminuto. Desarma cualquier agente de código y encuentras las mismas pocas líneas.
while the model asks for tools:
run the tools it asked for
append the results to the context
call the model again
Un estudio de 2026 que desarmó Claude Code, Dive into Claude Code, lo dice sin rodeos: el núcleo es “un while-loop simple que llama al modelo, corre herramientas y repite.” La mayor parte del código vive alrededor de ese loop: un sistema de permisos con siete modos y un clasificador, un pipeline de compactación de cinco capas para el contexto, cuatro mecanismos de extensión (MCP, plugins, skills, hooks), orquestación de subagents y almacenamiento de sesión.
Entonces cuando alguien dice que construyó un agente en cincuenta líneas, construyó el loop. El harness es el otro noventa y tantos por ciento, y es la parte que decide si el agente entrega trabajo o entrega basura con confianza.
Las cuatro partes de todo harness
Todo harness serio tiene las mismas cuatro partes. Los nombres cambian entre productos. Las funciones no.
De qué está hecho un harness
- 01
El loop
Llama al modelo, corre las herramientas que pidió, devuelve los resultados y repite hasta que el trabajo termina. También decide cuándo parar: un tope de pasos, una herramienta que el modelo llama para terminar, o una verificación que pasa.
pi: sin tope de pasos, corre hasta que el modelo deja de llamar herramientas OpenCode: un presupuesto de pasos por agente
- 02
Las herramientas
Las manos del modelo. Leer un archivo, editar un archivo, correr un comando de shell, llamar a una API. Cada definición de herramienta cuesta tokens en cada turno, así que menos y más afiladas le gana a más.
pi trae cuatro: read, write, edit, bash Claude Code trae muchas, más MCP servers
- 03
El contexto
Lo que el modelo ve en cada turno: el system prompt, los archivos de instrucciones, el historial, el output de las herramientas. Más la memoria, los archivos que sobreviven cuando la sesión termina. Aquí es donde mueren la mayoría de los tokens.
AGENTS.md / CLAUDE.md cargados en cada sesión compactación cuando la ventana se llena
- 04
Los controles
Lo que el agente puede hacer sin preguntar. Permisos por herramienta, prompts de aprobación, hooks que corren antes o después de una acción, y la puerta que una persona tiene que abrir antes de la siguiente fase.
edit: ask, bash: allow para git, deny para rm una puerta de revisión antes del merge
Si quieres la versión a fondo de la tercera parte, context engineering cubre lo que el modelo debería ver, y AGENTS.md cubre el archivo de memoria. La cuarta parte es donde spec-driven development se gana su lugar: la spec es el contrato contra el que el gate verifica.
Ya usas uno
Todo agente de código del que hayas oído hablar es un harness envuelto alrededor del modelo de alguien. Se diferencian en cuál de las cuatro partes te dejan cambiar.
Seis harnesses, una definición
| Harness | Modelos | Qué destaca en el harness |
|---|---|---|
| Claude Code (Anthropic) | Claude, o cualquier endpoint compatible con Anthropic | Modos de permiso, hooks, skills, subagents, plugins, MCP |
| Codex CLI (OpenAI) | Modelos de OpenAI | Open source, ejecución en sandbox, modos de aprobación, AGENTS.md |
| OpenCode | 75+ proveedores, modelos locales | Agentes con su propio modelo, temperatura, pasos y permisos |
| pi | Cualquier proveedor, trae tu propia clave | Cuatro herramientas, un system prompt de ~150 palabras, sesiones en JSONL |
| Kiro (AWS) | Claude, GPT y modelos open-weight | Workflow de spec con puertas de aprobación, archivos de steering, hooks |
| Hermes Agent (Nous Research) | Backends de modelo intercambiables | Siempre activo, memoria persistente, escribe sus propias skills |
¿Claude Code es un harness?
Sí. Claude Code es el harness de Anthropic para los modelos de Anthropic, y ese emparejamiento es el punto central del producto. El loop, el sistema de permisos, el pipeline de compactación, las skills y los hooks: todo harness. El modelo del otro lado es Claude.
Ese emparejamiento también tiene un ángulo comercial. Un plan Claude cubre el uso dentro de los propios harnesses de Anthropic (Claude Code, Cowork, las apps). Desde el 4 de abril de 2026, un harness de terceros que inicia sesión con tu plan cobra como uso extra. Así que “qué harness” y “qué suscripción” se volvieron la misma decisión. Escribí sobre esa disyuntiva en vale la pena Claude Max.
La forma más rápida de sentir el harness es mantener el modelo fijo y cambiar todo lo demás. Corre el mismo modelo Claude en Claude Code y en pi. Mismos pesos, system prompt distinto, herramientas distintas, reglas de contexto distintas. Obtienes un agente distinto.
Harness, framework, modelo
Tres palabras que se confunden todo el tiempo. Son tres capas.
Framework
- 01Un kit para construir agentes: LangChain, LangGraph, el Claude Agent SDK
- 02Escribes código contra él
- 03Entrega bloques de construcción, no un agente funcionando
Harness
- 01Un runtime de agente funcionando: Claude Code, OpenCode, pi, Kiro
- 02Lo configuras y lo apuntas al trabajo
- 03Entrega el loop, las herramientas, el contexto y los controles, ya ensamblados
El modelo está debajo de ambos. Puedes construir un harness con un framework, y algunos harnesses se construyen así. Cuando alguien busca “LangChain agent harness”, por lo general se refiere al harness que va a armar con las piezas de LangChain.
Por qué el harness importa más que el próximo modelo
Todo laboratorio lanza un modelo mejor cada pocos meses, y todos lo reciben el mismo día. El harness es la parte que es tuya, y se acumula con tu criterio.
Lo vi más claro en mi propia configuración de OpenCode. Le di la revisión a un modelo abierto en temperatura cero, con las ediciones denegadas y un checklist de ocho categorías. Solo podía responder APPROVE o REQUEST_CHANGES, así que no podía arreglar en silencio lo que debía reportar. La planificación fue a un modelo distinto, con el shell apagado. Ninguna de esas reglas vino de los modelos. Todas vinieron del harness, y los mismos modelos sin ellas habrían sido un agente distinto. La configuración completa está en OpenCode vs Claude Code.
Por eso también “cuál es la mejor IA para programar” es la pregunta equivocada para empezar. La mejor es cuál harness, y después cuál modelo en cada fase del trabajo. Lo respondo en la mejor IA para programar.
Agent harness, respuestas rápidas
¿Qué es un agent harness?
Un agent harness es todo el código alrededor de un modelo de IA que lo convierte en agente: el loop que sigue llamando al modelo, las herramientas con las que actúa, el contexto que ve en cada turno, la memoria que sobrevive a la sesión, y los controles que deciden qué puede hacer. Agent = Model + Harness.
¿Claude Code es un harness?
Sí. Claude Code es el agent harness de Anthropic, construido alrededor de los modelos Claude: el loop, los modos de permiso, la compactación, las skills, los hooks, los subagents, los plugins y el soporte a MCP son todo harness.
Un plan Claude Pro o Max cubre el uso dentro de los propios harnesses de Anthropic. Los harnesses de terceros que inician sesión con el plan cobran como uso extra desde el 4 de abril de 2026.
¿Cuál es la diferencia entre un agent harness y un agent framework?
Un framework (LangChain, LangGraph, el Claude Agent SDK) es un kit contra el que escribes código para construir un agente. Un harness es un runtime de agente funcionando que configuras y corres, como Claude Code, OpenCode, pi o Kiro. Puedes construir un harness con un framework.
¿Cuál es la diferencia entre el modelo y el harness?
El modelo es la red entrenada que lee y escribe texto. El harness es todo lo demás: prompts, herramientas, el loop, la gestión de contexto, los archivos de memoria, los permisos y los hooks. No puedes cambiar los pesos del modelo, pero puedes cambiar cada parte del harness.
¿Qué es harness engineering?
Harness engineering es la práctica de mejorar todo lo que rodea al modelo en vez de esperar un modelo mejor: defender el context window, mantener las herramientas pocas y afiladas, darle al agente una memoria durable, y hacer que el loop verifique su propio trabajo. La guía completa está en el artículo de harness engineering.
¿Puedo usar cualquier modelo en cualquier harness?
Técnicamente, muchas veces sí. Harnesses abiertos como OpenCode y pi aceptan muchos proveedores, y Claude Code puede apuntar a endpoints compatibles con Anthropic, como Ollama.
Comercialmente, no. Lo decide la suscripción: un plan Claude cubre los harnesses de Anthropic, ChatGPT Plus y Pro se pueden usar en herramientas de terceros participantes desde el 29 de septiembre de 2026, y una clave de API funciona en cualquier lado a precio por token.
¿Qué es el agent harness de pi?
pi es un agent harness de código open source de earendil-works, con cuatro herramientas (read, write, edit, bash), un system prompt de unas 150 palabras, sin MCP por defecto, y sesiones guardadas como JSONL. Corre contra cualquier proveedor con tu propia clave, lo que lo convierte en el harness más fácil de leer de punta a punta.
La newsletter
Don’t Code, Specify. Cada semana, agentes de IA en producción de verdad. Sin hype: lo que funcionó y lo que se rompió.
Suscríbete en Substack (se abre en una pestaña nueva)