Este artículo es una traducción del artículo original en inglés.
Un modelo sin configuración es un predictor de texto sin estado. Toma texto, produce texto y luego lo olvida todo. Elegir el modelo correcto ha consumido una enorme atención de ingeniería. GPT-4 vs. Claude, benchmarks, costos de API, latencia…
Pero la elección del modelo siempre fue el problema más fácil. El problema más difícil es lo que envuelve al modelo: eso es el harness.
Anthropic, LangChain, OpenAI y Salesforce están convergiendo en este término ahora mismo. Esa convergencia vale la pena observarla. La era de los frameworks (LangChain, CrewAI, AutoGPT) estableció cómo construir agentes. La era del harness trata de ejecutarlos de forma confiable, a escala, con un equipo real.
Este artículo define qué es un agent harness, cómo se diferencia de los frameworks y runtimes, qué hace, y cómo pensar en el diseño del harness cuando construyes para producción en lugar de para una demo.
Builder.io es el agent harness visual construido para equipos. Los mismos modelos que Claude Code y Codex, más de 20 ejecutándose en paralelo, con una interfaz visual que puede usar todo el equipo, no solo el ingeniero que escribió el código de orquestación. Prueba Builder.io gratis si quieres ir directo a la implementación.
Un agent harness es cada pieza de código, configuración y lógica de ejecución que envuelve a un modelo de IA para convertirlo en un agente funcional. El modelo aporta la inteligencia. El harness aporta gestión de estado, ejecución de herramientas, memoria, orquestación y restricciones ejecutables. Un modelo sin configuración es un predictor de texto sin estado. El harness es lo que lo convierte en un agente.
Una definición viene de Vivek Trivedy en LangChain: Agent = Model + Harness. El corolario es igual de claro: si no eres el modelo, eres el harness. System prompts, esquemas de herramientas, acceso al sistema de archivos, el bucle while que mantiene la conversación en marcha, todo es harness.
Incluso el chatbot más básico lo demuestra. En el momento en que envuelves un modelo en un bucle para rastrear mensajes anteriores y agregar nuevas entradas del usuario, ya construiste un harness primitivo. El bucle while mantiene el estado que el modelo no puede mantener por sí solo. Eso es ingeniería de harness, aunque nadie lo llamara así.
En concreto, un harness incluye:
- System prompts: las instrucciones permanentes que moldean el comportamiento antes de que llegue cualquier mensaje del usuario
- Herramientas y MCPs: los esquemas, descripciones y lógica de ejecución que el modelo usa para actuar
- Infraestructura incluida: sistema de archivos, navegador, bash, sandboxes
- Lógica de orquestación: creación de subagentes, enrutamiento de modelos, transferencias entre agentes
- Hooks y middleware: disparadores de compactación, puertas de confirmación, cumplimiento determinista
El modelo es una constante en los despliegues de agentes. El harness es la variable. Por eso el mismo modelo puede estar en el top 5 de un benchmark con un harness y fuera del top 30 con otro.
Un framework (como LangChain) proporciona abstracciones para construir agentes. Un runtime (como LangGraph) gestiona el estado de ejecución y los flujos de tareas duraderos. Un harness es la capa con opiniones propias e incluida de todo lo necesario, que combina ambos con configuración específica de dominio, restricciones e infraestructura adaptada a un caso de uso. La analogía con Node.js lo mapea claramente: Node es el runtime, Express es el framework, Next.js es el harness.
Harrison Chase (CEO de LangChain) presentó esta taxonomía al describir DeepAgents, el producto harness de LangChain. Las tres capas son distintas en alcance y nivel de opinión:
| Capa | Qué proporciona | Nivel de opinión | Ejemplos |
|---|---|---|---|
Runtime | Estado de ejecución, flujos de tareas duraderos, gestión de la ventana de contexto | Ninguno | LangGraph, Temporal, Durable Objects |
Framework | Abstracciones de agentes, interfaces de herramientas, patrones de memoria | Bajo | LangChain, CrewAI, OpenAI Agents SDK |
Harness | Configuración con opiniones propias, infraestructura incluida, interfaz orientada al equipo | Alto | Claude Code, Codex, Cursor, DeepAgents |
Claude Code es un harness. Codex es un harness. Cursor es un harness. Si usas alguna de esas herramientas a diario, ya estás operando dentro del diseño de harness de otra persona. Cada una ejecuta Claude o GPT-4 por debajo, pero el harness determina lo que el agente puede hacer, lo que sabe sobre tu proyecto y cómo se comporta durante una tarea de varias horas.
Los resultados de Terminal Bench 2.0 lo hicieron concreto: cambiar el harness movió a un modelo de fuera del top 30 a una posición de top 5. Los pesos del modelo no cambiaron. El harness sí.
Un harness proporciona seis capacidades fundamentales que un modelo sin configuración no tiene: almacenamiento duradero (sistema de archivos y git), ejecución de código (bash y sandbox), memoria e inyección de contexto, lógica de orquestación (creación de subagentes y transferencias), gestión de contexto (compactación y descarga de herramientas), y hooks para el cumplimiento determinista del comportamiento. Estos convierten la inteligencia del modelo en acción autónoma confiable.
Los modelos solo pueden operar con lo que está en su ventana de contexto. El sistema de archivos soluciona eso. Los agentes obtienen un espacio de trabajo para leer datos, código y documentación. El trabajo puede agregarse y descargarse de forma incremental en lugar de mantenerse en contexto. Los resultados intermedios persisten entre sesiones.
Git extiende el sistema de archivos hacia una superficie de coordinación. Múltiples agentes y humanos coordinan a través de archivos compartidos. Cuando un agente le transfiere la tarea a otro, lo hace a través del sistema de archivos, no de una ventana de contexto compartida. Así es como funcionan en la práctica las arquitecturas de equipos de agentes. Consulta cómo Builder.io implementa los Claude Agent Teams para ver un ejemplo concreto.
Las herramientas preconfiguradas cubren los casos que el diseñador del harness anticipó. Bash cubre todo lo demás. Cuando un modelo puede escribir y ejecutar código, diseña sus propias herramientas sobre la marcha en lugar de estar limitado a un conjunto fijo de herramientas.
Así es como se ven los flujos de trabajo agénticos a nivel del harness: el agente recibe una tarea, identifica una capacidad que falta, escribe un script para llenar el vacío, lo ejecuta y continúa. El harness decide si esa ejecución ocurre localmente, en un contenedor Docker o en un sandbox en la nube.
El código generado por agentes que se ejecuta localmente es un riesgo de seguridad. Un solo entorno local no escala a cargas de trabajo de agentes paralelos. Los sandboxes resuelven ambos problemas: entornos de ejecución aislados con comandos en lista de permitidos, herramientas preinstaladas, acceso al navegador para verificación de resultados y ejecutores de pruebas para autocomprobación.
El harness configura los valores predeterminados del sandbox. El modelo no configura su propio entorno de ejecución.
Los archivos de memoria como AGENTS.md se inyectan en el contexto al iniciar el agente. A medida que los agentes actualizan este archivo, el harness carga la versión actualizada. Esta es una memoria persistente que dura más que cualquier ventana de contexto.
La búsqueda web y las herramientas MCP (como Context7) abordan los límites del conocimiento del modelo. El harness gestiona la recuperación. El modelo solicita información; el harness la obtiene.
La degradación del contexto describe cómo el rendimiento del modelo se degrada a medida que se llena la ventana de contexto. La compactación es la respuesta a nivel del harness: descargar el contexto de forma inteligente cuando se acerca a los límites, en lugar de dejar que la API falle o que los mensajes se descarten silenciosamente.
La descarga de llamadas a herramientas evita que los grandes resultados de herramientas inunden la ventana de contexto. El harness puede resumir, truncar o guardar en caché los resultados de herramientas antes de que lleguen al modelo. Las skills y la divulgación progresiva permiten al harness inyectar solo el contexto relevante para la tarea actual.
Los siete comportamientos que los profesionales necesitan a nivel del harness (según la experiencia de la comunidad construyendo agentes en producción):
- Protocolo de salida de herramientas: una salida, múltiples renderizaciones. El mismo resultado de herramienta se formatea de manera diferente para una UI vs. un contexto de modelo.
- Estado de conversación: vistas consultables que cubren conteos de fallos, qué se ha intentado y detección de bucles.
- Recordatorios del sistema: tres niveles (sembrar en el system message, adjuntar a los mensajes del usuario, vincular a herramientas específicas).
- Condiciones de detención: integradas con el estado de conversación, no indicadores aislados.
- Cumplimiento de herramientas: reglas de secuenciación, puertas de confirmación, límites de velocidad, acciones automáticas.
- Cola de inyección: prioridad, agrupación y deduplicación para inyecciones de contexto.
- Hooks: personaliza la ejecución en cada etapa.
Los frameworks te dejan todos estos siete puntos para que los resuelvas tú. El harness es donde viven esas decisiones.
Los frameworks de IA agéntica proporcionan los bloques de construcción: abstracciones de herramientas, interfaces de memoria y patrones de orquestación. Deliberadamente dejan la dirección a tu criterio. Preguntas como "¿cuándo debería detenerse este agente?", "¿cómo impongo el orden de las herramientas?" y "¿cómo evito la degradación del contexto durante una tarea de varias horas?" son decisiones a nivel del harness, no valores predeterminados del framework.
Los frameworks son intencionalmente sin opiniones. LangChain te da un bucle ReAct y llamadas a herramientas. No decide qué hace tu agente cuando falla tres veces seguidas, ni cómo manejar una ventana de contexto que está al 90% llena en el paso 47 de una tarea de 60 pasos.
Los modos de fallo en producción son fallos del harness:
maxStepsexiste pero está desconectado del estado de conversación. El agente entra en bucle porque el harness no tiene una condición de detención vinculada al comportamiento real.- La degradación del contexto se instala después de 30 minutos en una tarea compleja. El framework no la causó. El harness no la previno.
- Una lectura de archivo grande inunda la ventana de contexto. El framework ejecutó la herramienta correctamente. El harness no filtró la salida.
Lo que cambió en 2025-2026 fue que los harnesses comenzaron a enviarse con modelos entrenados en el bucle desde el primer día. Claude Code, Codex y Cursor son harnesses entrenados junto con los modelos que ejecutan. Los patrones de diseño agéntico que implementan esos productos no se incorporaron después del hecho. Son parte del diseño del harness.
El modelo es una constante. El harness es la variable.
Construir un harness de producción significa diseñar alrededor de seis decisiones: dónde se ejecuta el agente, qué herramientas tiene disponibles, cómo gestiona el estado entre sesiones, cómo maneja tareas de largo horizonte a través de ventanas de contexto, qué bucles de verificación usa y quién de tu equipo puede observar e intervenir. Las seis son decisiones a nivel del harness.
1. Entorno de ejecución. La ejecución local es rápida y económica. Docker ofrece aislamiento sin la sobrecarga de la nube. Los sandboxes en la nube escalan a cargas de trabajo paralelas con aislamiento por agente. La elección determina tu postura de seguridad y el límite de escala.
2. Superficie de herramientas. Empieza con un conjunto pequeño y bien probado de herramientas, luego agrega bash como escape de propósito general. Cada herramienta preconfigurada es una superficie que debes mantener. Bash con ejecución de código cubre la larga cola.
3. Estrategia de estado y memoria. El sistema de archivos es el almacén de estado más duradero que tiene un agente. Úsalo como fuente de verdad. AGENTS.md para memoria persistente. Git para control de versiones y reversión. Si dos agentes necesitan coordinarse, lo hacen a través de archivos.
4. Continuidad de largo horizonte. Un agente trabajando en una tarea de varias horas llegará a los límites del contexto. El Bucle Ralph —acuñado por Geoffrey Huntley— es un patrón donde el agente trata cada tarea como un bucle que se repite: escribe un archivo de planificación al comienzo de cada sesión, ejecuta una tarea, resuelve cualquier fallo y actualiza el archivo antes de que el contexto se reinicie. La orquestación de agentes de IA a través de reinicios de contexto requiere un diseño explícito del harness.
5. Bucles de verificación. Los agentes que ejecutan su propia suite de pruebas, inspeccionan registros y observan el estado del navegador detectan más errores antes de transferirle al humano. El harness decide cuándo pausar para revisión humana y cuándo proceder de forma autónoma.
6. Acceso del equipo. Un harness diseñado para un solo desarrollador es un harness individual. Un harness orientado al equipo necesita una capa de colaboración: quién puede activar agentes, quién puede ver lo que hacen y quién puede intervenir. Esta es la diferencia entre una herramienta de agente y una plataforma de agente.
La mayoría de las herramientas de harness son código primero. Las decisiones del harness (qué herramientas configurar, qué estado mantener, qué bucles de verificación ejecutar) las toman ingenieros que escriben código de orquestación. Cuando todo el equipo necesita configurar, activar y observar agentes, un harness de código primero crea un nuevo cuello de botella. Cada cambio en el harness pasa por la única persona que entiende el código.
Builder.io agrega una capa visual y colaborativa sobre los mismos modelos y patrones de orquestación. Los modelos por debajo son Claude, Gemini y GPT-4. El harness encima maneja las decisiones cubiertas en este artículo: gestión de contexto, configuración de herramientas, entorno de ejecución, coordinación de agentes paralelos y bucles de verificación. La interfaz expone esas decisiones del harness a todo el equipo.
En la práctica, más de 20 agentes se ejecutan en paralelo, cada uno en su propio contenedor en la nube con vista previa del navegador y acceso completo al sistema de archivos. Un diseñador puede observar lo que está construyendo un agente. Un PM puede activar un agente desde un ticket. Un equipo de contenido puede aprobar antes de que un cambio se publique. El harness maneja la orquestación; la capa visual maneja la colaboración.
Los mismos modelos. Un harness más inteligente. Prueba Builder.io gratis para ver cómo la ejecución de agentes en paralelo se compara con construir la capa del harness tú mismo.
P: ¿Un agent harness es lo mismo que un framework de agentes?
Un framework proporciona abstracciones para construir agentes: interfaces de herramientas, patrones de memoria y primitivas de cadena. Un harness es la capa con opiniones propias y lista para producción que va encima. Usa las herramientas del framework pero agrega configuración específica, restricciones e infraestructura adaptada para una ejecución confiable. LangChain es un framework. Claude Code es un harness que puede usar LangChain internamente.
P: ¿Qué es la ingeniería de harness?
La ingeniería de harness es la práctica de diseñar y optimizar la capa no-modelo de un sistema de agentes de IA. Abarca el diseño de herramientas, la gestión de contexto, los entornos de ejecución, la arquitectura de memoria y la lógica de orquestación. Los resultados de Terminal Bench 2.0 mostraron que es la palanca principal para mejorar el rendimiento de los agentes, a menudo más impactante que la elección del modelo.
P: ¿Necesito un agent harness para un chatbot simple?
Si tu chatbot mantiene el historial de conversación, ese bucle ya es un harness primitivo. El bucle while que rastrea mensajes anteriores y agrega nuevas entradas del usuario es código de harness. En cuanto agregas herramientas, memoria o razonamiento de múltiples turnos, el diseño explícito del harness importa. Ya tienes un harness. Diséñalo intencionalmente.
P: ¿Qué frameworks de IA agéntica funcionan con un harness?
LangChain, LangGraph, CrewAI, AutoGPT y el OpenAI Agents SDK operan en la capa de framework o runtime. Harnesses como Claude Code, DeepAgents y la plataforma agéntica de Builder.io se sitúan encima y configuran estos frameworks para casos de uso específicos. El harness selecciona y configura el framework por debajo.
El modelo contiene la inteligencia. El harness es lo que hace que esa inteligencia sea confiable, con estado y accionable a lo largo del tiempo. El mismo modelo puede pasar de estar fuera del top 30 a una posición de top 5 en un benchmark solo cambiando el harness. La elección del framework importa menos que el diseño del harness.
Si tu equipo está construyendo con agentes de IA y necesita más que un harness para un solo desarrollador, Builder.io agrega la capa colaborativa y visual sobre los mismos modelos y patrones de orquestación. La ingeniería sigue siendo real. Solo que no la escribes desde cero. Ve el harness de Builder.io en acción.