Saltar al contenido
← artículos
actualizado Harness EngineeringAI AgentsAI CodingClaude CodeDeveloper Tools

¿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

El modelo aporta la inteligencia. El harness es lo que la hace útil. Solo puedes cambiar el segundo término.

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

  1. 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
  2. 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
  3. 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
  4. 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
Loop, herramientas, contexto, controles. Un harness débil en cualquiera de las cuatro partes desperdicia un modelo fuerte.

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

Misma definición, seis apuestas distintas sobre qué debería poder cambiar el operador. pi está destacado porque es el único que puedes leer de punta a punta en una tarde.
HarnessModelosQué destaca en el harness
Claude Code (Anthropic)Claude, o cualquier endpoint compatible con AnthropicModos de permiso, hooks, skills, subagents, plugins, MCP
Codex CLI (OpenAI)Modelos de OpenAIOpen source, ejecución en sandbox, modos de aprobación, AGENTS.md
OpenCode75+ proveedores, modelos localesAgentes con su propio modelo, temperatura, pasos y permisos
piCualquier proveedor, trae tu propia claveCuatro herramientas, un system prompt de ~150 palabras, sesiones en JSONL
Kiro (AWS)Claude, GPT y modelos open-weightWorkflow de spec con puertas de aprobación, archivos de steering, hooks
Hermes Agent (Nous Research)Backends de modelo intercambiablesSiempre activo, memoria persistente, escribe sus propias skills
Misma definición, seis apuestas distintas sobre qué debería poder cambiar el operador. pi está destacado porque es el único que puedes leer de punta a punta en una tarde.

¿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

  1. 01Un kit para construir agentes: LangChain, LangGraph, el Claude Agent SDK
  2. 02Escribes código contra él
  3. 03Entrega bloques de construcción, no un agente funcionando

Harness

  1. 01Un runtime de agente funcionando: Claude Code, OpenCode, pi, Kiro
  2. 02Lo configuras y lo apuntas al trabajo
  3. 03Entrega el loop, las herramientas, el contexto y los controles, ya ensamblados
Un framework te ayuda a construir un harness. El harness es lo que corre. El modelo es aquello sobre lo que corre.

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.