Arneses de Agentes
Clase 11 · IA
El modelo razona. El arnés es todo lo demás: el andamiaje que le da manos, memoria y límites para que se especialice en un grupo concreto de tareas.
Objetivos de aprendizaje
En la Clase 10 viste los workflows y diste el salto al agente. Hoy miras el agente por fuera: qué hay que construir alrededor para que deje de ser una demo y pase a ser una herramienta.
Qué es un arnés
Distinguir el modelo, el agente y el andamiaje que lo rodea.
Cuánto cuesta
Por qué un arnés gasta mucho más que un workflow determinista, y qué hacer al respecto.
Sus 8 capas
Del setup a la UX, pieza a pieza, con lo que falla cuando falta cada una.
Construir el tuyo
Referencias open source, guías de estilo y la decisión de partir de cero o forkear.
Repaso: del workflow al agente
En la Clase 10 viste los cinco patrones de workflow —encadenamiento, enrutamiento, paralelización, orquestador-trabajadores y evaluador-optimizador— y el último escalón: el agente. La diferencia seguía siendo la misma: quién decide el camino.
El bucle del agente tarea ──► LLM │ ¿pide una herramienta? sí ◄──┤ ▼ │ ejecutar │ ▼ │ al contexto │ └──────┘ no ──► respuesta finalLo que ya sabes
Un agente es un LLM en bucle con herramientas. Decide en tiempo real qué paso dar, actúa, mira el resultado y vuelve a decidir.
Lo que ese bucle no resuelve
Qué pasa cuando el contexto se llena, cuando una herramienta falla a medias, cuando cierras el terminal, cuando cambias de proveedor o cuando alguien que no eres tú tiene que usarlo.
Ese hueco entre "el bucle funciona en mi demo" y "esto lo uso a diario" tiene nombre: es el arnés.
Qué es un arnés (harness)
Un arnés es el andamiaje que rodea a un agente para que sea capaz de especializarse en un grupo de tareas: le da herramientas, contexto, memoria, límites y una forma de usarlo.
┌──────────── ARNÉS ────────────┐│ prompt de sistema · políticas ││ tools · permisos · límites ││ ┌───────────────┐ ││ │ MODELO │ ││ └───────────────┘ ││ contexto · memoria · logs ││ UX · persistencia · errores │└───────────────────────────────┘El nombre viene de la ingeniería
Un test harness es el montaje que rodea a una pieza para poder ejercitarla: la alimenta, la sujeta y mide lo que hace. Aquí la pieza es el modelo.
El modelo es intercambiable
El mismo modelo dentro de dos arneses distintos da dos productos distintos. La especialización no vive en los pesos: vive en el andamiaje.
Ya usaste uno
Claude Code es un arnés. Cursor es un arnés. El modelo que hay dentro también está disponible por API a pelo — y a pelo no sabe leer tu repo, ni pedirte permiso, ni retomar la sesión de ayer.
Especializar = restringir
Un arnés bueno no añade capacidades sin más: acota. Menos herramientas, más concretas, con un prompt que describe un oficio y no "ser útil".
Regla práctica
Si puedes describir el ciclo de trabajo de un oficio —qué mira, qué hace, cómo sabe que terminó— tienes el esqueleto de un arnés para ese oficio.
El arnés es caro. Mucho más que un workflow
Un workflow determinista sabe de antemano cuántas llamadas hará y con qué prompts. Un arnés no: el agente razona en cada vuelta del bucle, y cada vuelta reenvía la conversación entera —mensajes, razonamientos y resultados de herramientas— porque el modelo no recuerda nada entre llamadas.
| Criterio | Workflow | Arnés |
|---|---|---|
| Camino | fijo, lo escribes tú | lo decide el modelo |
| Llamadas | conocidas | desconocidas |
| Contexto | corto y limpio | acumulativo |
| Coste | presupuestable | crece con los pasos |
| Depurar | fácil, reproducible | difícil, no determinista |
| Ante lo imprevisto | se rompe | se adapta |
La cuenta que sorprende
Si cada vuelta añade unos 3.000 tokens (razonamiento + llamada + resultado) y el agente da 20 vueltas, la última envía 60.000 tokens de entrada. Y el total facturado no son 60.000: es la suma de las veinte, unos 630.000 tokens.
El mismo trabajo como workflow
Cinco llamadas encadenadas con prompts de 2.000 tokens: unos 10.000 tokens en total. Dos órdenes de magnitud menos — a cambio de que el camino tiene que caber en tu cabeza antes de escribirlo.
Caché de prompt
El prefijo estable del contexto (system prompt, esquemas de tools) se reenvía más barato si el proveedor lo cachea. Ordena el contexto de lo estable a lo volátil.
Compactación
Resume el tramo medio de la conversación cuando crece. Es la capa 6, y existe por esto.
Subagentes
Cada subagente arranca con contexto limpio y devuelve solo su conclusión. El historial sucio no sube al padre.
Sacar lo determinista
Si un paso siempre es igual, no lo razones: es código. Deja el razonamiento para lo que de verdad varía.
La regla: si puedes escribir el camino de antemano, escríbelo. El arnés se paga cuando el camino no se puede escribir.
Anatomía de un arnés
Daniel Primo (Web Reactiva) escribió un arnés entero en un script de shell,pu.sh, de 391 líneas, y lo destripó capa por capa. Su conclusión es la mejor forma de entrar en el tema:
"El bucle del agente ocupa unas ochenta líneas. Las otras trescientas son lo que separa un experimento de fin de semana de una herramienta que puedes usar a diario."
8. UX ← cómo se usa7. Persistencia y logs ← qué queda6. Compactación ← qué recuerda5. Bucle del agente ← el corazón4. Ejecutores de tools ← qué hace3. Esquemas de tools ← qué sabe hacer2. Capa de provider ← con qué modelo1. Setup y autenticación ← poder arrancarLas ocho capas de las siguientes diapositivas siguen ese desglose. No son un estándar: son el mínimo que aparece, con otros nombres, en todos los arneses que funcionan.
Resumen de la Clase 11
| Concepto | Definición |
|---|---|
| Arnés (harness) | El andamiaje alrededor de un agente que lo especializa en un grupo de tareas |
| Bucle del agente | Pedir al modelo, ejecutar herramientas, devolver el resultado al contexto y repetir |
| Capa de provider | Función única que oculta las diferencias entre proveedores de modelos |
| Esquema de herramienta | Contrato JSON Schema: lo único que el modelo sabe de una herramienta |
| Ejecutor | El código que toca el mundo real: valida, acota, escribe de forma atómica |
| Compactación | Resumir el tramo medio del historial conservando el inicio y lo reciente |
| Historial vs. eventos | Transcripción para reanudar la sesión vs. log legible para depurar |
| Coste acumulativo | Cada vuelta reenvía todo el contexto: el gasto crece con el número de pasos |
| Caché de prompt | Reenviar más barato el prefijo estable del contexto |
| OpenCode | Arnés open source de programación en terminal (MIT, TypeScript) |
| OpenClaw | Arnés de asistente personal con gateway, canales y triggers (MIT) |
| Hermes | Arnés de Nous Research con memoria persistente y skills autogeneradas (MIT) |
| deepagents | Arnés de LangChain como librería: planificación, archivos, subagentes y skills |
| 12-factor agents | Guía de estilo: prompts como código, contexto propio, agentes pequeños |
| Deuda de fork | El coste de mantener tu copia al día con el proyecto original |
Para profundizar
Código que leer y guías que discutir. En este tema, el código enseña más rápido.
🧩 Anatomía
- • Web Reactiva — un arnés en 391 líneas
- • Anthropic — Building effective agents
- • Claude Agent SDK
💻 Código que leer
- • OpenCode
- • OpenClaw
- • Hermes (Nous Research)
- • deepagents (Python y JS)
📜 Guías de estilo
- • 12-factor agents
- • Model Context Protocol
- • Formato abierto de skills
Material complementario
- ArtículoWeb Reactiva — Cómo es un AI harness por dentro
- ArtículoAnthropic — Building effective agents
- DocsClaude Agent SDK
- Artículo12-factor agents — principios para agentes fiables
- InteractivoOpenCode — sitio oficial
- DocsOpenCode — código fuente
- InteractivoOpenClaw — sitio oficial
- DocsOpenClaw — documentación
- InteractivoHermes Agent — Nous Research
- DocsHermes Agent — código fuente
- ArtículoThe New Stack — OpenClaw y Hermes: qué controla al agente
- Docsdeepagents — repositorio (Python)
- Docsdeepagents — repositorio (JavaScript)
- Docsdeepagents — documentación de LangChain
- DocsLangGraph — la base sobre la que corre deepagents
- DocsModel Context Protocol (MCP) — sitio oficial
- DocsAgent Skills — formato abierto de habilidades
Conclusiones
Seis ideas para llevarte de esta clase.
1 · El arnés es el producto
El modelo lo puede llamar cualquiera. Lo que convierte a un generalista en un especialista es el andamiaje: las herramientas, el contexto y los límites que le pones tú.
2 · Cuesta, y hay que decidirlo
Razonar en cada vuelta y reenviar todo el historial se paga. Si el camino se puede escribir de antemano, escríbelo: un workflow determinista es más barato, más rápido y más fácil de depurar.
3 · El bucle es lo fácil
Ocupa una fracción del código. Lo que separa el experimento de la herramienta son las otras siete capas: setup, provider, esquemas, ejecutores, compactación, persistencia y UX.
4 · Casi nada de esto es IA
Errores legibles, escrituras atómicas, reintentos, logs, reanudación. Es ingeniería de software de toda la vida — por eso las nueve clases anteriores siguen valiendo.
5 · No hay convención, hay criterio
Ningún estándar te dice cómo montarlo. Sí hay guías —empezar simple, prompts versionados, contexto propio, agentes pequeños— y el código de quienes ya lo hicieron.
6 · Desde cero o desde el ciclo
Para algo muy especializado: escríbelo tú, o parte de un arnés open source cuyo ciclo se parezca al tuyo y que puedas modificar sin miedo. Y antes de forkear, comprueba que no te basta con configuración.
Deja de usar agentes. Constrúyelos
Sabes usar un agente desde la Clase 10. Ahora sabes qué hay dentro del que usas —y eso es lo único que hace falta para escribir el tuyo, del tamaño exacto del problema que tengas delante.
Empieza pequeño. Doscientas líneas bien puestas ya son un arnés.