Inicio / Artículos

Explicación del agente harness: los componentes que convierten a un LLM en un agente.

Qué es un arnés de agente, por qué los agentes LLM de larga duración lo necesitan, los ocho componentes de los que está formado y cómo cooperan en una tarea real de agente de programación.

Editor: REACTAPP.TOP6 min de lectura1445 palabras

Fuentes: Agent Harness — A complete guide

En 2023, describir el trabajo con un modelo de lenguaje era sencillo. Escribías una pregunta, como “escribe una función en Python que ordene un array de números”, y la respuesta llegaba casi al instante. El modelo no mostraba ningún modo de razonamiento visible. Era un LLM básico, sin los complementos que caracterizan a los sistemas agentes actuales: herramientas, memoria, habilidades y más. Precisamente esos complementos son los que convierten a un LLM simple en un agente de IA.

Cómo cambió la competencia

A lo largo de 2023 y 2024, la competencia giraba en torno a los modelos. OpenAI contaba con un modelo de uso general líder, Anthropic tenía un modelo de programación destacado, y todos se superaban entre sí en pruebas como MMLU y SWE-bench. Con el tiempo, esa competencia comenzó a estabilizarse, y el razonamiento y el manejo de contextos largos pasaron a ser prioritarios. Un indicador de “razonamiento...” empezó a aparecer en las interfaces de chat, y la gente se preguntaba qué ocurría detrás de ello.

También cambiaron los usuarios. A medida que mejoraban los modelos, la gente dejó de hacer preguntas y comenzó a asignar tareas. Una tarea implica que el sistema establezca objetivos, utilice herramientas externas como un navegador, recuerde conversaciones anteriores y datos almacenados, y luego entregue algo.

Compare estas dos épocas con un ejemplo. Al principio, alguien podría tomar una captura de pantalla de la página de inicio de Amazon, entregársela a un modelo de programación y pedirle que creara un sitio con el mismo aspecto, todo de una sola vez. El resultado sería una interfaz de usuario aceptable. Ahora imagine querer que la interfaz, el backend, la infraestructura y todo lo demás estén listos de una sola vez.

Para el año 2026, ese mismo usuario podría escribir “arreglar el error mencionado en el problema #122 de GitHub”. Esa única oración oculta varios pasos. Un modelo de 2023 habría respondido que no podía acceder a su repositorio. Un modelo integrado en un buen marco de trabajo entra en un ciclo de razonamiento: razonar, planificar, elegir una herramienta o acción, ejecutarla, observar el resultado y luego repetir o detenerse.

Qué es un marco de trabajo

Todos esos complementos que rodean a un LLM (contexto, herramientas, memoria, etc.) necesitan una forma organizada de interactuar con el modelo. Esa disciplina tiene un nombre, y su definición habitual es breve: se trata de la capa de infraestructura que rodea a un agente de IA, encargada de envolverlo, dirigirlo, probarlo, supervisarlo y evaluar sus resultados. En términos sencillos, es el sistema operativo que rodea al LLM.

Esa capa abarca la arquitectura del agente, el marco de orquestación que coordina a los subagentes, el sistema de evaluación que califica las salidas, la infraestructura de ejecución, la seguridad, la gobernanza y la observabilidad.

Por qué es necesario

Las tareas que las personas asignan siguen haciéndose más grandes, al igual que el tiempo que los agentes invierten en ellas. Los datos de Anthropic muestran que los tiempos de ejecución aumentan a un ritmo acelerado. Un año antes, en 2025, un agente podría trabajar aproximadamente una hora en una tarea determinada. Hoy en día esa cifra se acerca a doce horas.

El trabajo a largo plazo conlleva sus propios fallos. Los agentes pueden quedar en bucle indefinidamente, inventar herramientas que no existen, dañar su propio estado, agotar los presupuestos de tokens, perder el contexto, intentar nuevamente acciones incorrectas, fallar sin avisar a nadie, hacer un uso indebido de los permisos o incluso olvidarse del objetivo.

Esos fallos cuestan dinero real. Un agente atrapado en un bucle infinito durante doce horas consumiría una cantidad enorme de tokens y recursos de cómputo. Un marco de control puede limitar eso al establecer un presupuesto por tarea, medido en tiempo, tokens o recursos de cómputo.

La seguridad es la preocupación más importante. Si el modelo elige una herramienta destructiva, como una que borra el sistema de archivos, es en el marco de control donde se decide qué puede tocar. En resumen, el marco de control le brinda control sobre el agente y, con ello, la certeza de que está haciendo lo que se pretendía.

Los componentes

Cualquiera que sea el nombre que un equipo en particular le dé a su marco de control, sus partes se dividen en ocho grupos. Cada uno representa una pregunta a la que el agente debe poder responder.

  • Estado del agente: ¿dónde se encuentra la ejecución en este momento? Registra la tarea actual, las etapas, las observaciones y las decisiones. Si un plan consta de cuatro pasos, el estado indica cuáles se han completado, cuál está en curso y cuáles aún no han comenzado. Sin él, un agente interrumpido no puede saber por dónde continuar.
  • Herramientas: ¿qué acciones están disponibles? Esta es la parte más visible. La ejecución de código, un navegador, APIs, bases de datos y una shell se encuentran aquí. Para un agente de programación, una función read_file es una de las básicas.
  • Planificación: ¿qué viene a continuación? Decide qué ocurrirá a continuación y elabora o modifica el plan. En una tarea de programación, podría generar una secuencia de cuatro o cinco pasos.
  • Memoria: ¿qué se sabe ya? Almacena y recupera información a lo largo de diferentes pasos o sesiones. Cuando el contenido se obtiene de una base de datos vectorial para incluirlo en el contexto, resumirlo primero puede ahorrar espacio, y esa tarea recae en el componente de memoria.
  • Orquestación: ¿cómo se ejecuta el proceso? Controla el bucle de ejecución, las llamadas a herramientas, las reintentos, los subagentes, el paralelismo y las transferencias de responsabilidades. En un flujo de compra, un subagente de pagos podría ejecutarse mientras un agente de inventario actualiza las existencias en paralelo, o bien se podría indicar al agente de inventario que espere hasta que el pago tenga éxito.
  • Gestión de contexto: ¿qué debe ver el LLM en este momento? Decide qué contenido se incluye en la ventana de contexto en cada paso.
  • Seguridad y gobernanza: ¿qué está permitido? Aquí entran los permisos, el aislamiento de entornos, las puertas de aprobación, las políticas, los límites y la autenticación. Incluso cuando al modelo se le permite editar archivos, es prudente prohibirle borrarlos.
  • Observabilidad y evaluación: ¿funcionó realmente? Permite rastrear lo que ocurrió y medir el éxito, el fracaso o las restricciones violadas. Si una tarea requería tres de las diez herramientas disponibles, se quiere saber cómo se utilizaron. Cuando una falla, la causa podría ser una herramienta que el modelo nunca tuvo, o bien datos que nunca llegaron a su contexto. Los registros son la forma de distinguir entre ambas situaciones.
  • La práctica de diseñar, crear y ejecutar estas componentes para que el agente funcione de la mejor manera posible se denomina ingeniería de aprovechamiento. Es una disciplina relativamente nueva, y la mayoría de los equipos aún están definiendo cuál es la responsabilidad de cada uno.

    Un agente de programación de principio a fin

    Tome un agente de programación equipado con un soporte y dele la instrucción “solucione el error en el problema #122 de GitHub”. No se trata de una solicitud tipo “explíquemelo”. Es una tarea real que requiere planificación, uso de herramientas y memoria. Un flujo lógico podría ser el siguiente:

    1. La entrada del usuario entra al contexto. El modelo analiza esta información y establece un objetivo, el cual permanece en el contexto hasta que se cumple.
    2. El modelo planifica los pasos a seguir: examina errores relacionados, corrige el archivo adecuado, compila el código, ejecuta las pruebas y actualiza la memoria.
    3. Para el primer paso, el soporte obtiene información de una base de datos vectorial, concretamente detalles de errores anteriores relevantes para este caso. Las notas relacionadas con la autenticación se consideran las más similares y se incluyen en el contexto.
  • Con ese contexto, el modelo decide abrir auth.py y corregir el error de autenticación. Para ello necesita las herramientas read_file y write_file, que utiliza para editar y guardar el archivo.
  • A continuación, prueba el cambio desde la terminal, empleando una herramienta de terminal de su conjunto disponible. El sistema de control se asegura de que tenga el nivel adecuado de acceso tanto a la terminal como a los archivos.
  • El modelo pasa al siguiente paso del plan y ejecuta los casos de prueba, lo cual requiere herramientas adicionales. Cada paso actualiza el contexto para que el modelo sepa dónde está y qué queda por hacer.
  • Durante todo el proceso, la capacidad de observabilidad registra todo: las herramientas utilizadas, el tiempo empleado, la memoria consumida y los fallos que surgen en el camino.
  • Todavía no se ha abordado la evaluación, y merece un trato aparte. Va más allá de la precisión y puede incluir varias métricas relacionadas con el comportamiento real del agente.

    Hacia dónde se dirige esto

    La fiabilidad a largo plazo es uno de los problemas más importantes sin resolver. Dado que los agentes operan durante horas e incluso días, sus ejecuciones deben ser fiables. Un agente atrapado en un bucle o en un estado corrupto desperdicia recursos y puede poner en riesgo la seguridad.

    También se vuelve más difícil la evaluación a medida que los entornos de ejecución se vuelven más complejos. Cada tarea deja un rastro de datos, como el uso de memoria, y los equipos deben decidir si sustituir el modelo o modificar el entorno, agregar herramientas o reparar las existentes. La comunidad está trabajando activamente en resolver esas cuestiones.

    Lecturas relacionadas

  • Once maneras de interrumpir los bucles infinitos de un agente de IA — Detectar ciclos de herramientas atascadas, agregar condiciones de detención y recuperarse con puntos de control en lugar de más tokens.