La anatomía de un agente de IA: qué es el arnés y sus piezas

La anatomía de un agente de IA: qué es el arnés y sus piezas
5tipos de componentes que forman un arnés
6piezas que se deducen de lo que queremos del agente
30 → 5puesto del agente de LangChain en Terminal Bench 2.0
52,8 → 66,5puntos con el mismo modelo, cambiando solo el arnés
La anatomía de un agente de IA: qué es el arnés y cada pieza que lo forma
También lo cuento en este vídeo de unos catorce minutos, en mi canal Articulator ES.

Agente = modelo + arnésenlace

La idea cabe en una fórmula: agente = modelo + arnés (en inglés, harness). Y viene con una regla fácil de recordar: si no eres el modelo, eres el arnés.

La fórmula en pantalla: agente es igual a modelo más arnés.
Toda la tesis del artículo, en una línea.

Un arnés es todo el código, la configuración y la lógica de ejecución que no son el modelo. Un modelo en bruto no hace de agente. Empieza a serlo cuando el arnés le da estado, ejecución de herramientas, bucles de realimentación y restricciones que se cumplen sí o sí.

En concreto, un arnés incluye cinco cosas:

  • Prompts de sistema. Las instrucciones de partida.
  • Herramientas, skills y servidores MCP, con sus descripciones.
  • Infraestructura incluida: sistema de archivos, sandbox y navegador.
  • Orquestación: lanzar subagentes, repartir el trabajo y elegir modelo.
  • Hooks o middleware: pasos deterministas, como compactar, hacer que siga trabajando o pasar el linter.
El cerebro, el modelo, conectado a cinco columnas: prompts de sistema, herramientas, infraestructura, orquestación y hooks.
Los cinco componentes que rodean al modelo.

La frontera más limpiaenlace

Hay muchas formas enrevesadas de separar el modelo del arnés. Vivek defiende esta porque le parece la más limpia: nos obliga a pensar en cómo diseñar sistemas alrededor de la inteligencia del modelo. Y desde ahí va deduciendo, hacia atrás, por qué existe cada pieza.

El modelo dentro de un círculo y el arnés fuera: diseñar sistemas alrededor de la inteligencia.
Todo lo que queda fuera del círculo es el arnés.

El artículo lo resume en un esquema. En el centro está el modelo, que razona y decide. Desde arriba le entra el contexto: prompts, memoria, skills y la conversación. A la derecha actúa: llama a bash, a herramientas y a servidores MCP, y los resultados vuelven a su contexto. Por abajo persiste: escribe y lee archivos, git y ficheros de progreso. En diagonal observa y verifica, con capturas del navegador, resultados de tests y registros. Y a la izquierda está el control: compactación, orquestación y bucles Ralph.

Esquema con el modelo en el centro rodeado de contexto, acción, persistencia, observación y control, todo dentro de un marco naranja: el arnés.
El esquema del artículo, redibujado: todo el marco naranja es el arnés.

Por qué hace falta un arnésenlace

Ponte en el lugar del modelo. Casi todos reciben datos, como texto, imágenes, audio o vídeo, y devuelven texto. Eso es todo. De serie, no pueden:

  • Conservar un estado duradero entre interacciones.
  • Ejecutar código.
  • Acceder a conocimiento en tiempo real.
  • Preparar entornos e instalar paquetes para terminar un trabajo.
El cerebro junto a cuatro tarjetas tachadas: estado duradero, ejecutar código, conocimiento en tiempo real y preparar entornos.
Cuatro cosas que un modelo no puede hacer por sí solo.

Todas son funciones del arnés. Y seguro que ya has usado uno sin saberlo: para poder chatear con un modelo, lo envolvemos en un bucle while que guarda los mensajes anteriores y añade cada mensaje nuevo tuyo. Esa experiencia de conversar no la da el modelo. La da ese bucle.

El código de un chat, un bucle while que va guardando mensajes, con el sello: la experiencia la da el bucle.
Un chat por dentro: unas pocas líneas de arnés.

Trabajar hacia atrásenlace

De ahí sale la idea central: convertir el comportamiento que queremos del agente en una función real del arnés. A eso lo llaman ingeniería de arneses (harness engineering). Sirve para inyectar conocimiento previo que guíe al agente y, como los modelos son cada vez más capaces, también para extenderlos y corregirlos con precisión de cirujano.

Por eso el artículo sigue siempre el mismo patrón: primero, el comportamiento que queremos; después, lo que añade el arnés para lograrlo. Salen seis parejas. No pretende ser una lista exhaustiva: lo importante es que cada pieza nace de algo que el modelo no puede dar por sí mismo.

Tabla de seis filas que empareja lo que queremos del agente con lo que añade el arnés.
Figura del artículo, adaptada: cada comportamiento con su pieza.

Como esto va de anatomía, en el vídeo monto esas seis piezas como un cuerpo, y aquí mantengo la imagen porque ayuda a recordarlas. El modelo es el cerebro. La metáfora es mía, no del artículo.

1. Archivos: el esqueletoenlace

Queremos que el agente trabaje con datos reales, que guarde lo que no le cabe en el contexto y que conserve su trabajo entre sesiones. Pero el modelo solo opera sobre lo que hay dentro de su ventana. Antes había que copiar y pegar a mano, algo incómodo que no sirve para un agente autónomo.

La solución salió sola. El mundo ya trabajaba con archivos, así que los modelos se entrenaron con miles de millones de tokens que enseñan a usarlos. Por eso los arneses traen un sistema de archivos y herramientas para manejarlo. Vivek la considera quizá la pieza más fundamental, por lo que desbloquea:

Espacio de trabajo

El agente tiene dónde leer datos, código y documentación.

Fuera del contexto

Va guardando resultados intermedios, sin tenerlo todo en la ventana, y mantiene un estado que sobrevive a la sesión.

Colaboración

Varios agentes y personas se coordinan con archivos compartidos.

Tres tarjetas: espacio de trabajo, fuera del contexto y colaborar.
Lo que desbloquea un sistema de archivos.

Si le sumas git, además tiene versiones: sigue su trabajo, deshace errores y prueba experimentos en ramas. Conviene recordar esta pieza, porque varias de las que vienen se apoyan en ella.

Una línea de commits con un error, la vuelta atrás y una rama para probar.
Archivos más git: versiones.

2. Bash y código: las manosenlace

Queremos que el agente resuelva problemas solo, sin que nadie tenga que diseñarle antes cada herramienta. El patrón habitual hoy es el bucle ReAct: el modelo razona, actúa llamando a una herramienta, observa el resultado y repite.

El bucle ReAct: razona, actúa, observa y repite, alrededor del cerebro.
El bucle ReAct.

Pero el arnés solo ejecuta las herramientas para las que tiene lógica. En vez de programar una para cada acción posible, es mejor darle una de propósito general: bash. Así el modelo resuelve los problemas por su cuenta, escribiendo y ejecutando código.

Es un gran paso hacia darle un ordenador y dejar que se las apañe. Ya no depende de un juego fijo de herramientas: se diseña las suyas sobre la marcha. Los arneses siguen trayendo otras, pero ejecutar código es ya la estrategia por defecto.

Una terminal donde el agente escribe y usa su propia herramienta, reducir.py, junto al esqueleto con las manos iluminadas.
El agente se fabrica la herramienta que le falta.

3. Entornos aislados: la pielenlace

Ya puede guardar y ejecutar código, pero todo eso tiene que pasar en algún sitio. Lanzar en tu máquina lo que genera un agente es arriesgado, y tener solo un entorno local no escala cuando la carga de agentes crece.

Un portátil con un aviso de peligro y decenas de agentes conectados: un solo entorno no escala.
Un solo entorno local: arriesgado y sin escala.

La respuesta son los sandbox, entornos aislados y seguros. El arnés se conecta a uno para ejecutar código, mirar archivos e instalar dependencias. Si quieres más seguridad, permite solo una lista de comandos y aísla la red. Y también escalan: se crean a demanda, se reparten entre muchas tareas y se destruyen al acabar.

Los buenos entornos traen buenas herramientas de serie, y configurarlas es cosa del arnés: lenguajes y paquetes ya instalados, líneas de comandos para git y para los tests, y navegadores para usar la web y comprobar lo hecho. Navegadores, registros, capturas y ejecutores de tests le dejan observar su trabajo, y así nacen los bucles de autoverificación: escribe el código, lanza las pruebas, lee los registros y corrige los errores.

El bucle de autoverificación: escribe, prueba, lee y corrige, junto a una terminal con los tests pasando.
Un bucle de autoverificación.

De serie, el modelo no configura su propio entorno. Dónde corre, qué herramientas tiene, a qué puede acceder y cómo verifica su trabajo son decisiones de diseño del arnés.

Cuatro preguntas con el sello del arnés: dónde corre, qué herramientas, a qué accede y cómo verifica. Al lado, el cuerpo con la piel iluminada.
Cuatro decisiones que no toma el modelo.

4. Memoria y búsquedaenlace

Queremos que recuerde lo que ha visto y que acceda a lo que no existía cuando lo entrenaron. Pero un modelo solo sabe lo que hay en sus pesos y en su contexto actual. Como no podemos editar esos pesos, la única vía para añadir conocimiento es inyectarlo en el contexto.

Para la memoria, los archivos vuelven a ser la base. Los arneses admiten estándares como AGENTS.md, que se inyecta al arrancar. Cuando el agente lo edita, el arnés carga la versión nueva. Es una forma de aprendizaje continuo: lo que guarda en una sesión llega a las siguientes.

Un agente edita AGENTS.md en la sesión 1 y otro carga la versión nueva en la sesión 2: aprendizaje continuo.
Lo que aprende en una sesión llega a la siguiente.

Luego está la fecha de corte. El modelo no conoce, por ejemplo, la última versión de una librería, salvo que se la des tú. La búsqueda web y herramientas MCP como Context7 le traen lo que no existía cuando acabó su entrenamiento, así que conviene integrarlas en el arnés.

Una línea de tiempo cortada por la fecha de corte; la búsqueda web trae al cerebro las versiones nuevas de una librería.
La búsqueda salta la fecha de corte.

5. Pudrición del contexto: el sistema inmunitarioenlace

La context rot es esto: los modelos razonan peor y completan peor las tareas a medida que se llena su ventana. Ese espacio es un recurso valioso y escaso, así que el arnés necesita estrategias para administrarlo. Vivek lo resume con una frase contundente: los arneses de hoy son, en gran medida, mecanismos para entregar una buena ingeniería de contexto.

La ventana al 97 %, una curva que cae y una calabaza que se pudre: un recurso valioso y escaso.
Es un esquema, sin cifras medidas: cuanto más llena la ventana, peor razona.

El artículo nombra tres técnicas:

  1. Compactación. ¿Qué pasa si la conversación supera la ventana? Una opción es que la API devuelva un error, y eso no es bueno. Así que el arnés descarga y resume con inteligencia lo que hay, y el agente puede seguir trabajando.
  2. Sacar fuera las salidas de las herramientas. Las enormes llenan el contexto de ruido sin aportar nada útil. Si una pasa de cierto umbral de tokens, el arnés conserva el principio y el final, y guarda el texto completo en un archivo, por si el modelo lo necesita.
  3. Skills. Tener demasiadas herramientas o servidores MCP cargados al arrancar hace que rinda peor antes de empezar. Las skills lo evitan con revelación progresiva: al inicio solo se carga su cabecera. El modelo no lo ha elegido; es el arnés quien lo protege.
La ventana de contexto tras compactar, con un resumen arriba y sitio libre debajo: sigue trabajando.
Compactación: un resumen en lugar de la conversación entera.
De una salida enorme se conservan el principio y el final; el texto completo pasa a un archivo.
Sacar fuera: el principio y el final se quedan; el resto, a un archivo.
A la izquierda, la ventana llena de herramientas al arrancar; a la derecha, solo las cabeceras de las skills. Al lado, el cuerpo.
Revelación progresiva: al inicio, solo la cabecera de cada skill.

Si quieres ir a fondo, hablo de esto en mis posts sobre compresión de contexto, gestión de contexto e ingeniería de contexto.

6. Trabajo a largo plazo: el corazónenlace

Crear software de forma autónoma es el santo grial de los agentes de programación. Pero los modelos de hoy paran antes de tiempo, les cuesta descomponer problemas complejos y pierden coherencia cuando el trabajo se alarga por varias ventanas. Un buen arnés tiene que diseñar alrededor de todo eso.

Tres tarjetas: paran antes de tiempo, les cuesta descomponer y pierden coherencia.
Los tres problemas de los modelos en tareas largas.

Aquí las piezas anteriores empiezan a sumarse: trabajar a largo plazo exige estado duradero, planificación, observación y verificación.

  • Archivos y git para seguir el trabajo. En una tarea larga, un agente produce millones de tokens. Los archivos guardan ese progreso, y git permite que otro recién llegado se ponga al día enseguida. Para varios agentes, es además un registro compartido.
  • El bucle Ralph para que siga. Cuando el modelo intenta terminar, un hook intercepta esa salida y vuelve a inyectar el prompt original en una ventana de contexto limpia. Así está obligado a seguir hasta cumplir el objetivo. No empieza de cero porque cada vuelta arranca con el contexto fresco, pero lee de los archivos el estado que dejó la anterior.
  • Planificar y verificar para no perder el rumbo. El modelo descompone el objetivo en pasos, y el arnés lo apoya con buenos prompts y recordatorios sobre cómo usar un archivo de plan. Al completar cada paso, los hooks pueden lanzar una batería de tests y, si falla, devolverle el error. También se le puede pedir que evalúe su código de forma independiente.
Un gancho, un robot obligado a seguir y una ventana limpia con el prompt original, hasta cumplir el objetivo.
El bucle Ralph: otra vez el prompt original, en una ventana limpia.
Tres vueltas seguidas que leen el mismo progress.md, junto al cuerpo con el corazón iluminado.
Cada vuelta empieza limpia, pero lee lo que dejó la anterior.
Un objetivo y un archivo de plan con los pasos marcados uno a uno: comprobar cada paso.
El plan, en un archivo; cada paso se comprueba.

Verificar ancla la solución en esas pruebas y crea una señal con la que mejorar.

El cuerpo enteroenlace

Ya está montado. El esqueleto de archivos y git. Las manos de bash y código. La piel del sandbox. La memoria y la búsqueda. El sistema inmunitario contra la pudrición. Y el corazón, que no deja de latir hasta que el trabajo está hecho. Cada parte salió de algo que el cerebro no podía hacer solo.

El cuerpo completo, con cada pieza señalada: esqueleto, sistema inmunitario, manos, memoria, corazón y piel.
La anatomía completa de un agente.

Modelo y arnés, entrenados juntosenlace

Productos como Claude Code y Codex se postentrenan con el modelo y el arnés en el bucle. Así el modelo mejora en lo que sus diseñadores creen que debería hacer bien de forma nativa: operar con archivos, ejecutar bash, planificar o repartir trabajo entre subagentes.

Eso crea un ciclo: se descubre una pieza útil, se añade al arnés y se usa para entrenar la siguiente generación. Al repetirse, el modelo es cada vez más capaz, pero dentro del arnés con el que lo entrenaron.

El ciclo: descubrir una pieza, añadirla al arnés, entrenar al siguiente modelo y el modelo mejora, solo dentro de ese arnés.
El ciclo entre el diseño del arnés y el entrenamiento.

Esa evolución conjunta tiene un efecto secundario: si cambias la lógica de una herramienta, rinde peor. El ejemplo es apply_patch, la utilidad que usa Codex para editar archivos. Su guía recomienda usar esa implementación exacta, porque el modelo se entrenó con ese formato. Algo de verdad inteligente cambiaría de método sin problema; entrenar así provoca sobreajuste.

Un candado, una barra de rendimiento baja y la cita de la guía de Codex: recomendamos usar nuestra implementación exacta.
El modelo se acostumbra a una herramienta concreta.

Aun así, el mejor arnés para tu tarea no tiene por qué ser aquel con el que se entrenó el modelo. Terminal Bench 2.0 es un buen ejemplo: según el artículo, cuando se escribió, Opus 4.6 dentro de Claude Code puntuaba muy por debajo del mismo Opus 4.6 en otros arneses. No he podido comprobarlo: la página de Terminal Bench ya muestra otra versión.

Dos barras con el mismo modelo encima: baja la de Claude Code y alta la de otros arneses.
Un esquema, sin cifras: el mismo modelo rinde distinto según el arnés.

LangChain lo comprobó con su propio agente de programación: pasó del puesto 30 al top 5 solo cambiando el arnés, de 52,8 a 66,5 puntos, sin tocar el modelo (GPT-5.2-Codex). Queda mucho margen para mejorar si lo optimizas para tu tarea.

Una clasificación con el agente de LangChain en el quinto puesto, 66,5 puntos, y el modelo sin tocar.
Mismo modelo, otro arnés.

Hacia dónde vaenlace

A medida que mejoren los modelos, parte de lo que hoy vive en el arnés acabará dentro de ellos. Planificarán, se verificarán y mantendrán la coherencia mejor de forma nativa, y necesitarán menos contexto inyectado. Eso sugiere que el arnés importará cada vez menos.

Pero Vivek cree que seguirá siendo útil, igual que la ingeniería de prompts lo sigue siendo hoy. Es verdad que los arneses parchean carencias, aunque también construyen sistemas alrededor de la inteligencia. Un entorno bien configurado, buenas herramientas, estado duradero y bucles de verificación hacen más eficiente a cualquier modelo, sea cual sea su nivel.

Entorno, herramientas, estado y verificación junto a tres barras: hacen más eficiente a cualquier modelo.
Un esquema, sin cifras: el arnés ayuda sea cual sea el nivel del modelo.

Por eso sigue siendo un área de investigación muy activa. En LangChain la usan para mejorar su librería deepagents, y citan tres problemas abiertos:

  • Orquestar cientos de agentes en paralelo sobre el mismo código.
  • Lograr que los agentes analicen sus propias trazas para encontrar y arreglar los fallos del arnés.
  • Arneses que se montan al vuelo, con las herramientas y el contexto justos para cada tarea, en lugar de venir preconfigurados.
Tres tarjetas con los problemas abiertos: cientos de agentes, analizar sus trazas y arneses que se montan al vuelo.
Los tres problemas abiertos que cita LangChain.

En resumenenlace

Cada pieza del arnés existe por algo que el modelo no puede hacer solo: guardar, actuar, ejecutar con seguridad, recordar, mantener limpio su contexto y seguir trabajando. Y como el modelo se entrena dentro de un arnés, cambiar ese arnés puede dar más que cambiar de modelo.

En una frase

El modelo contiene la inteligencia, y el arnés es el sistema que la hace útil.

¿Qué pieza del arnés te ha dado más resultado a ti?

Fuentesenlace

Seguir leyendo

Últimos posts -->

¿Has visto estos proyectos?

Gymnasia

Gymnasia Gymnasia
Expo
React Native
TypeScript
OpenAI
Anthropic

App de fitness con dos agentes que se ejecutan íntegramente en el dispositivo, sin backend, de forma que los datos del usuario nunca salen del móvil. Un coach conversacional BYOK con tools locales y system prompt remoto con fallback offline, y un estimador de comidas que saca los macronutrientes de una foto del plato, con lectura de códigos de barras contra OpenFoodFacts.

LangGraph Deep Researcher

LangGraph Deep Researcher LangGraph Deep Researcher
Python
LangGraph
FastAPI
React
TypeScript
Docker

Sistema multiagente de investigación construido con LangGraph. Un supervisor descompone tu pregunta en temas y lanza subagentes de búsqueda en paralelo; cada uno comprime sus hallazgos antes de pasarlos a un agente redactor que escribe el informe final en markdown con sus fuentes. Streaming en vivo por WebSockets, modelo configurable por rol y claves de API propias que nunca se guardan en el servidor.

Tau

Tau Tau
Python
LangChain

Sistema multiagente de tutoría para estudiantes de secundaria, con un agente por asignatura y material de curso elaborado y validado por un equipo de profesores. Llegó a usarse con alumnos reales en un colegio privado en España y en un instituto en Colombia.

Ver todos los proyectos -->
>_ Disponible para proyectos

¿Tienes un proyecto con IA?

Hablemos.

maximofn@gmail.com

Especialista en Machine Learning e Inteligencia Artificial. Desarrollo soluciones con IA generativa, agentes inteligentes y modelos personalizados.

¿Quieres ver alguna charla?

Últimas charlas -->

¿Quieres mejorar con estos tips?

Últimos tips -->

Usa esto en local

Los espacios de Hugging Face nos permite ejecutar modelos con demos muy sencillas, pero ¿qué pasa si la demo se rompe? O si el usuario la elimina? Por ello he creado contenedores docker con algunos espacios interesantes, para poder usarlos de manera local, pase lo que pase. De hecho, es posible que si pinchas en alún botón de ver proyecto te lleve a un espacio que no funciona.

Flow edit

Flow edit Flow edit

Edita imágenes con este modelo de Flow. Basándose en SD3 o FLUX puedes editar cualquier imagen y generar nuevas

FLUX.1-RealismLora

FLUX.1-RealismLora FLUX.1-RealismLora
Ver todos los contenedores -->
>_ Disponible para proyectos

¿Tienes un proyecto con IA?

Hablemos.

maximofn@gmail.com

Especialista en Machine Learning e Inteligencia Artificial. Desarrollo soluciones con IA generativa, agentes inteligentes y modelos personalizados.

¿Quieres entrenar tu modelo con estos datasets?

short-jokes-dataset

HuggingFace

Dataset de chistes en inglés

Uso: Fine-tuning de modelos de generación de texto humorístico

231K filas 2 columnas 45 MB
Ver en HuggingFace →

opus100

HuggingFace

Dataset con traducciones de inglés a español

Uso: Entrenamiento de modelos de traducción inglés-español

1M filas 2 columnas 210 MB
Ver en HuggingFace →

netflix_titles

HuggingFace

Dataset con películas y series de Netflix

Uso: Análisis de catálogo de Netflix y sistemas de recomendación

8.8K filas 12 columnas 3.5 MB
Ver en HuggingFace →
Ver más datasets -->