Loop y harness engineering: cómo se construye un agente de IA

Un modelo de lenguaje, por sí solo, no es un agente: lo que lo convierte en agente es el harness. El harness es la capa que envuelve al modelo y le da tres cosas que el modelo no tiene: un bucle (observar, actuar, verificar), acceso a herramientas y gestión del contexto. Diseñar bien ese bucle, y sobre todo saber cuándo cortarlo, es lo que se empieza a llamar loop engineering. Y no es un detalle: es la diferencia entre un agente que resuelve la tarea y uno que quema tokens dando vueltas.
Qué es un harness
Un harness toma un modelo y lo pone a trabajar hacia un objetivo. Le da herramientas (leer archivos, ejecutar comandos, correr tests), un bucle para iterar y una forma de saber cuándo terminó. Claude Code, por ejemplo, es un harness sobre Claude: el modelo es el mismo, pero el harness es lo que le deja editar tu repo y verificar su propio trabajo.
La pregunta de fondo del harness no es "¿qué responde el modelo?", sino "¿cómo hago que actúe de forma útil y controlada?". Esa diferencia (responder contra actuar) es todo el juego.
El bucle agéntico
En esencia, un agente repite un ciclo:
- Observa el estado: el código, la salida de un comando, el resultado del paso anterior.
- Decide la siguiente acción.
- Actúa: usa una herramienta.
- Verifica el resultado y vuelve a empezar, o para.
Suena simple, y lo es. Lo difícil no es el bucle: es lo que pasa alrededor de él.
La pieza invisible: la gestión de contexto
Cada vuelta del bucle, el harness decide qué le muestra al modelo. La ventana de contexto es finita, y llenarla de ruido (logs enteros, archivos que no vienen al caso, la historia completa de la sesión) degrada al modelo: empieza a olvidar el objetivo o a repetir errores. Un buen harness poda: resume lo viejo, incluye solo lo relevante y mantiene el objetivo a la vista. Por eso reducir los tokens que gastas no es solo ahorro, es calidad de razonamiento.
Y cuando lo aprendido tiene que sobrevivir entre sesiones, el contexto salta a una capa de memoria persistente como MentisDB, en vez de perderse al cerrar la terminal.
Loop engineering: el arte de parar bien
El loop engineering es diseñar ese bucle a propósito, no dejarlo al azar. Tiene tres partes:
- Verificación. Que el agente compruebe su propio trabajo antes de seguir. En código esto es concreto: correr los tests, pasar el linter, compilar, revisar el typecheck. Un agente que "cree" que terminó no sirve; uno que ejecuta
npm testy lee el resultado, sí. - Criterio de parada. Cuándo el bucle se considera completo. Es la parte que más se descuida y la más importante. Sin un "listo" claro, un agente itera de más, quema tokens o entra en bucles infinitos corrigiendo cosas que ya estaban bien.
- Recuperación. Qué hace cuando algo falla: reintentar, cambiar de enfoque, o parar y pedir ayuda en vez de insistir contra una pared.
El ejemplo más conocido y más simple es el Ralph loop: repetir un mismo prompt en bucle hasta cumplir un objetivo verificable. Es loop engineering reducido a su esencia, y funciona justamente porque el criterio de "listo" está claro.
Del harness al metaharness
Si un harness convierte un modelo en agente, el metaharness es la capa de arriba: un lugar donde varios agentes (varios harnesses) conviven, se coordinan y comparten contexto. Lo desarrollo en el post de Solo (SoloTerm). Y cuando un agente reparte trabajo en otros, entran los subagentes y, ya a escala, la orquestación de varios agentes desde un solo sitio.
Vale la pena no confundir tres niveles:
- Harness: convierte un modelo en un agente (un bucle, herramientas, contexto). Ej.: Claude Code.
- Framework de agentes: te deja programar ese bucle y esas herramientas con control fino, en tu propio código.
- Metaharness: coordina varios agentes a la vez, con memoria y estado compartidos.
Por qué te importa
Si usas agentes a diario, el loop engineering explica tus mejores y peores sesiones. Cuando un agente "se va por las ramas", casi siempre es un fallo del bucle: no verificaba, o no tenía un criterio de parada, o su contexto estaba lleno de ruido. Y cuando un agente resuelve una tarea grande sin supervisión constante, casi siempre es porque alguien diseñó bien esos tres puntos. No es magia del modelo: es ingeniería del bucle.
Preguntas frecuentes
¿Qué es un harness en IA?
La capa que convierte un modelo de lenguaje en un agente: le da un bucle de acción, acceso a herramientas y gestión de contexto. Claude Code es un harness sobre Claude.
¿Qué es el loop engineering?
Diseñar el bucle agéntico a propósito: cómo el agente verifica su trabajo, cuándo decide que terminó y cómo se recupera de errores. Es lo que evita que un agente itere de más o se vaya por las ramas.
¿Por qué es tan importante el criterio de parada?
Porque sin un "listo" claro el agente no sabe cuándo dejar de trabajar: sigue iterando, gasta tokens y a veces rompe lo que ya funcionaba. Un buen criterio de parada (tests en verde, objetivo cumplido) es lo que hace fiable al bucle.
¿Cuál es la diferencia entre harness y metaharness?
El harness convierte un modelo en un agente; el metaharness es la capa superior donde varios agentes conviven y se coordinan, como hace Solo (SoloTerm).
¿Necesito un framework para hacer loop engineering?
No. El loop engineering es sobre todo disciplina de diseño (verificación, parada, recuperación). Un harness como Claude Code ya trae el bucle; un framework te da control fino cuando quieres programarlo tú.