Fragua Tech

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 final

Lo 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.

CriterioWorkflowArnés
Caminofijo, lo escribes túlo decide el modelo
Llamadasconocidasdesconocidas
Contextocorto y limpioacumulativo
Costepresupuestablecrece con los pasos
Depurarfácil, reproducibledifícil, no determinista
Ante lo imprevistose rompese 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 usa
7. Persistencia y logs   ← qué queda
6. Compactación          ← qué recuerda
5. Bucle del agente      ← el corazón
4. Ejecutores de tools   ← qué hace
3. Esquemas de tools     ← qué sabe hacer
2. Capa de provider      ← con qué modelo
1. Setup y autenticación ← poder arrancar

Las 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.

Capa 1 de 8

Setup y autenticación

Cargar la credencial del proveedor y dejar el entorno listo. Suena trivial y es la causa número uno de que un arnés "no funcione".

Qué hace

  • • Lee la clave del entorno o de un archivo de config
  • • La sanea: espacios, saltos de línea, comillas, prefijos pegados
  • • Comprueba dependencias antes de empezar
  • • Falla pronto y con un mensaje que dice qué arreglar

Si falta

Un 401 Unauthorized sin contexto en mitad de una tarea. El usuario culpa al modelo, cuando el problema era una comilla del copia-pega.

Capa 2 de 8

Capa de provider

Una sola función que oculta las diferencias entre proveedores. Anthropic, OpenAI o un modelo local tienen endpoints distintos y formatos de mensaje distintos.

llamar(mensajes, tools)
   ├──► Anthropic  /v1/messages
   ├──► OpenAI     /v1/responses
   └──► Ollama     local
   ◄── respuesta normalizada

Qué normaliza

El formato de los mensajes, el de las llamadas a herramientas, el conteo de tokens y los errores (límite de tasa, contexto lleno, timeout).

Si falta

Cambiar de modelo se convierte en reescribir el arnés. Y quedas atado al proveedor que elegiste el primer día.

Capa 3 de 8

Esquemas de herramientas

El contrato en JSON Schema que describe cada herramienta. Es lo únicoque el modelo ve de ella: si el esquema es ambiguo, el modelo improvisa.

{
  "name": "editar_archivo",
  "description": "Reemplaza un
     texto exacto en un archivo.",
  "input_schema": {
    "type": "object",
    "properties": { ... },
    "required": ["ruta","viejo","nuevo"]
  }
}

Escribe la descripción para el modelo

No es documentación para humanos: es el prompt de la herramienta. Di cuándo usarla, cuándo no, y qué devuelve.

Ojo

Cada proveedor espera su propia forma del esquema. Esta capa suele mantener dos versiones de la misma definición.

Capa 4 de 8

Ejecutores de herramientas

El código que de verdad toca el mundo: archivos, procesos, red, base de datos. Es la capa donde un fallo hace daño real, así que es la más defensiva.

Lo que no puede faltar

  • Validar la entrada aunque el esquema ya lo pida
  • Acotar el alcance: rutas dentro del proyecto, comandos permitidos
  • Escritura atómica: temporal + rename, nunca a medias
  • Errores que enseñan: "el texto no aparece en el archivo", no "Error 3"
  • Truncar salidas enormes antes de meterlas en el contexto

El error es parte del prompt

Lo que devuelve un ejecutor cuando falla vuelve al modelo y condiciona su siguiente decisión. Un mensaje de error bien redactado es la forma más barata de corregir a un agente: se corrige solo en la vuelta siguiente.

Capa 5 de 8

El bucle del agente

Pedir al modelo, leer su respuesta, ejecutar las herramientas que pida, añadir los resultados al contexto y volver a empezar. Es el corazón — y lo más fácil de todo el arnés.

repetir hasta max_vueltas:
  r = provider(mensajes, tools)
  si r no pide tools:
    devolver r            ◄── fin
  para cada tool pedida:
    res = ejecutar(tool)
    mensajes += res
  checkpoint(mensajes)

Reintentos con criterio

Un 429 se reintenta con espera creciente. Un 400 por contexto lleno se compacta y se reintenta. Un error de tu tool no se reintenta: se le cuenta al modelo.

Límite duro, siempre

Un tope de vueltas y un presupuesto de tokens. Sin ellos, un bucle mal cerrado se traduce directamente en factura.

Capa 6 de 8

Compactación de contexto

Qué hacer cuando el historial ya no cabe en la ventana del modelo. Es la capa que decide qué recuerda tu agente — y por tanto, cuánto cuesta.

[inicio]      se conserva
[  tramo  ]
[  medio  ] ──► resumen
[  largo  ]
[reciente]    se conserva

Por qué así

El arranque lleva la tarea y las reglas; lo reciente lleva el estado actual. Lo del medio suele ser proceso: se puede resumir sin perder el hilo.

Alternativas y complementos

Descargar resultados grandes a disco y dejar solo la referencia; delegar en subagentes con contexto propio; o pedirle al agente que escriba sus notas en un archivo antes de compactar.

Capa 7 de 8

Persistencia y logs

Dos archivos con dos propósitos distintos, y conviene no mezclarlos.

Historial (para la máquina)

La transcripción exacta que se le vuelve a mandar a la API. Permite cerrar el terminal y retomar la sesión donde estaba.

historial.json

Eventos (para el humano)

Una línea por suceso: qué herramienta se llamó, con qué argumentos, cuánto tardó, cuántos tokens costó. Es lo que lees cuando algo salió mal.

eventos.jsonl

Un agente no determinista sin log de eventos es indepurable: no puedes reproducir la ejecución, solo puedes leer lo que pasó.

Capa 8 de 8

UX

La capa que decide si el arnés se usa o se abandona. Un agente excelente con una interfaz hostil no lo usa nadie, empezando por ti.

Modos de operación

  • One-shot: una orden, una respuesta, sale
  • REPL: conversación interactiva
  • Pipe: recibe por entrada estándar, encaja en un script

Detalles que se notan

  • • Comandos internos: cambiar de modelo, compactar, limpiar
  • • Ctrl-C que interrumpe la respuesta, no que mata la sesión
  • • Barra de estado con contexto usado y coste acumulado
  • • Confirmación antes de las acciones que no se deshacen

Fíjate en cuántas de estas ocho capas no son IA. Construir un arnés es, sobre todo, ingeniería de software normal.

Panorama

Arneses open source: para qué mirarlos

No hace falta imaginarse las ocho capas: hay arneses completos con el código a la vista. Leerlos es la forma más rápida de aprender, y a veces el punto de partida de tu propio arnés.

OpenCode

Agente de programación en el terminal. Ciclo: leer código, editar, probar.

OpenClaw

Asistente personal que vive en un servidor. Ciclo: despertarse, actuar, avisarte.

Hermes

Agente que aprende de su propio uso. Ciclo: resolver, destilar la lección, recordarla.

Los tres montan las mismas ocho capas. Lo que cambia es el ciclopara el que están afinados — y ese es el criterio que importa al elegir.

Open source 1 de 3

OpenCode

El arnés de programación en terminal más adoptado del ecosistema open source. Escrito en TypeScript, licencia MIT, con cliente y servidor separados.

Qué trae

  • • TUI cuidado, más CLI y app de escritorio
  • • Agnóstico de proveedor: decenas de endpoints, incluidos modelos locales
  • • Agentes intercambiables: build (escribe) y plan (solo lectura)
  • • Arquitectura cliente/servidor: el agente puede correr en otra máquina

Qué copiarle

La separación agente/interfaz y el modo de solo lectura: el mismo bucle con las herramientas recortadas es un producto distinto. Es el ejemplo más claro de "especializar = restringir".

Open source 2 de 3

OpenClaw

Un asistente personal, no un agente de código. Nació como Clawdbot a finales de 2025 de la mano de Peter Steinberger, pasó por Moltbot y se quedó en OpenClaw en enero de 2026. MIT, local-first y mantenido por su comunidad.

Qué cambia respecto a un agente de código

  • • Un gateway siempre encendido en vez de una sesión de terminal
  • Canales de entrada y salida: Telegram, WhatsApp, Discord, Slack…
  • Triggers: cron y webhooks, así que arranca solo
  • • Memoria de largo plazo entre sesiones y plugins de la comunidad

Qué copiarle

Que el disparador no tiene por qué ser un humano escribiendo. En cuanto tu arnés se despierta solo, aparecen dos capas nuevas: triggersy canales de salida. Y con ellas, la pregunta de qué puede hacer sin preguntarte.

Open source 3 de 3

Hermes

De Nous Research, publicado en febrero de 2026 bajo licencia MIT. Su apuesta es el bucle de aprendizaje: el agente destila lo que aprende resolviendo y lo guarda como habilidad reutilizable.

Qué trae

  • • Memoria persistente entre sesiones, con búsqueda en su propio pasado
  • Skills que él mismo escribe y refina al usarlas
  • • Gateway multicanal (Telegram, Discord, Slack, WhatsApp, Signal, CLI)
  • • TUI, programador cron y despliegue en un servidor barato

Qué copiarle

La idea de que el arnés puede mejorar su propio contexto: en vez de que tú escribas mejores prompts, el agente escribe una habilidad cada vez que resuelve algo difícil, y la próxima vez arranca desde ahí.

Comparativa

Tres ciclos distintos, ocho capas iguales

ArnésCiclo para el que está afinadoQuién lo dispara
OpenCodeLeer el repo → editar → ejecutar tests → repetirTú, en el terminal
OpenClawRecibir un aviso → actuar con tus servicios → responder por un canalUn mensaje, un cron o un webhook
HermesResolver → destilar la lección en una skill → recordarlaTú o el programador de tareas

Cuando busques un arnés del que partir, la pregunta no es cuál tiene más estrellas: es cuál tiene el ciclo más parecido al tuyo.

deepagents · 1 de 3

deepagents: el arnés como librería

Los tres anteriores son aplicaciones: las instalas y las usas.deepagents, de LangChain, es otra cosa: un arnés que importas en tu código y rellenas con tu dominio. Se describe a sí mismo como "the batteries-included agent harness" y está construido sobre LangGraph.

uv add deepagents
# o, en el ecosistema JS/TS:
npm install deepagents

Qué te ahorra

El bucle, la gestión de contexto, el sistema de archivos, los subagentes y las pausas para aprobación humana. Es decir: casi todas las capas menos las herramientas de tu dominio.

Agnóstico de modelo

Cualquier modelo con llamada a herramientas: APIs comerciales o modelos abiertos que sirvas tú.

deepagents · 2 de 3

Qué trae de serie

Planificación

El agente descompone la tarea en una lista antes de ejecutarla, y la va tachando.

Sistema de archivos

Leer, escribir, editar y buscar: en local, en un entorno aislado o remoto.

Subagentes

Delegación con contexto aislado: el trabajo sucio no ensucia la conversación principal.

Skills · contexto · human-in-the-loop

Habilidades cargadas bajo demanda, resumen automático del historial, y aprobar, editar o rechazar una llamada antes de que se ejecute.

from deepagents import create_deep_agent
# tu dominio: una herramienta propia
def buscar_expediente(dni: str) -> str:
    """Devuelve el expediente de un cliente."""
    ...
agente = create_deep_agent(
    model="anthropic:claude-sonnet-5",
    tools=[buscar_expediente],
    system_prompt="Eres un analista de
      reclamaciones. Planifica antes de actuar.",
)
r = agente.invoke({"messages": "Revisa el
     caso 4471 y redacta la respuesta"})
deepagents · 3 de 3

Cuándo sí y cuándo no

Encaja si…

  • • Tu especialización cabe en prompt + herramientas + subagentes
  • • Quieres el bucle y la gestión de contexto resueltos hoy
  • • Vas a integrarlo dentro de una aplicación, no darle un terminal
  • • Te sirve el ecosistema alrededor: trazas, evaluación, despliegue

Estorba si…

  • • Tu ciclo no es "planificar y ejecutar" sino algo con forma propia
  • • Necesitas controlar el bucle mismo, no solo lo que hay dentro
  • • Quieres entender cada capa (entonces escríbelas)
  • • La dependencia pesa: es una librería opinionada, con su modelo mental

Es el punto medio entre montar el arnés a mano y adoptar una aplicación entera: te quedas con las capas resueltas y pones el dominio.

Guías · 1 de 3

No hay convención

No existe un estándar de cómo se construye un arnés. Cada proyecto inventa su formato y casi nada es portable entre ellos.

Lo que cada uno hace a su manera

  • • Dónde vive el contexto del proyecto y cómo se llama el archivo
  • • Qué es una "skill" y en qué formato se escribe
  • • Cómo se declaran permisos y aprobaciones
  • • Cuándo y cómo se compacta el historial
  • • Qué se registra en los logs y con qué estructura

Lo que sí empieza a converger

  • MCP como protocolo para conectar herramientas externas
  • • Un archivo Markdown en la raíz del repo con el contexto del proyecto
  • • Habilidades como documentos Markdown cargados bajo demanda
  • • Aprobación humana explícita para las acciones irreversibles

Que no haya convención no significa que todo valga: significa que la disciplina la pones tú.

Guías · 2 de 3

Las guías que sí existen

Building effective agents

De Anthropic, la que viste en la Clase 10. Su tesis: empieza por lo más simple que funcione y no añadas una capa de autonomía sin haberla necesitado.

12-factor agents

De HumanLayer, inspirada en las 12-factor apps. Su tesis: un agente fiable es software bien hecho que usa el LLM solo donde el razonamiento aporta.

El código de los demás

La guía más honesta. Leer el bucle de OpenCode, OpenClaw o deepagents enseña más sobre decisiones de diseño que cualquier artículo.

Puntos en los que coinciden todas

Los prompts son código y van versionados. Tú controlas qué entra en la ventana de contexto, no el framework. Las herramientas son pocas y ortogonales. Los agentes pequeños y enfocados baten a los generalistas. Y el estado tiene que poder guardarse y reanudarse.

Guías · 3 de 3

Ocho reglas de estilo para tu arnés

1 · Presupuesta las capas, no el bucle

El bucle es un cuarto del trabajo. Planifica el resto.

2 · Los prompts, en el repositorio

Versionados y revisables como cualquier otro archivo.

3 · Pocas herramientas, bien descritas

Ortogonales entre sí, y con errores que enseñan a corregir.

4 · El contexto lo decides tú

Qué entra, en qué orden y qué se tira. No lo delegues.

5 · Un checkpoint por vuelta

Si se cae en la vuelta 14, se retoma en la 14.

6 · Dos logs, dos públicos

Uno para reanudar la sesión, otro para que lo leas tú.

7 · Límites duros

Tope de vueltas, presupuesto de tokens y lista de permisos.

8 · Lo determinista, fuera del bucle

Lo que siempre pasa igual es código, no razonamiento.

La decisión · 1 de 3

Muy especializado: desde cero o partiendo de un fork

Para un arnés genérico, coge uno hecho. Pero si buscas una especialización fuerte, solo hay dos caminos razonables — y el peor de todos es intentar doblar una herramienta generalista hasta que encaje.

Desde cero, cuando…

  • • Tu ciclo no se parece a ninguno de los que existen
  • • El dominio impone restricciones duras: auditoría, datos que no salen, un solo proveedor
  • • El arnés es el producto, no una herramienta interna
  • • Quieres entender cada capa: 400 líneas propias enseñan más que 40.000 ajenas

Partiendo de uno open source, cuando…

  • • Su ciclo se parece al tuyo, aunque el dominio sea otro
  • • Quieres gratis lo aburrido: TUI, persistencia, compactación, reintentos
  • • La licencia te deja modificarlo y redistribuirlo
  • • Puedes leer su bucle de una sentada y entenderlo

El criterio no es la popularidad ni el lenguaje: es el parecido del ciclo y la facilidad de modificarlo.

La decisión · 2 de 3

Cómo evaluar un candidato antes de forkearlo

Siete preguntas. Si fallan las tres primeras, busca otro candidato o escríbelo tú.

1 · ¿Se parece su ciclo al tuyo?

Un agente de código y un asistente con triggers no se parecen en nada, por mucho que compartan capas.

2 · ¿Encuentras el bucle?

Si no localizas el archivo del bucle en diez minutos, tampoco lo vas a modificar con confianza.

3 · ¿Están las capas separadas?

Provider, esquemas, ejecutores y bucle en piezas distintas. Si está todo mezclado, cada cambio tuyo rompe algo.

4 · ¿Puedes añadir una herramienta sin tocar el bucle?

Es la prueba de fuego de la extensibilidad. Hazla el primer día.

5 · ¿La licencia te sirve?

MIT y Apache-2.0 dejan hacer casi todo. Lée la licencia antes de escribir la primera línea, no después.

6 · ¿Tiene tests?

Sin tests, tu fork se queda congelado en la versión del día que lo copiaste.

7 · ¿A qué ritmo se mueve?

Un proyecto que cambia cada semana te obliga a rebasear cada semana. Uno parado te deja mantenerlo a ti.

La decisión · 3 de 3

Antes de forkear: no forkees

Un fork es deuda de mantenimiento desde el minuto uno. Recorre la escalera de menos a más compromiso y quédate en el primer escalón que resuelva tu problema.

1. configuración + prompt de sistema
2. skills / instrucciones del proyecto
3. herramientas propias vía plugin o MCP
4. arnés como librería (deepagents)
5. fork de un arnés open source
6. desde cero

Señal de que forkeaste demasiado pronto

Tu primer commit sobre el fork toca el bucle para arreglar algo que era un prompt.

Señal de que te quedaste corto

Llevas tres capas de parches en la configuración para simular un paso que el bucle no contempla.

Resumen de la Clase 11

ConceptoDefinición
Arnés (harness)El andamiaje alrededor de un agente que lo especializa en un grupo de tareas
Bucle del agentePedir al modelo, ejecutar herramientas, devolver el resultado al contexto y repetir
Capa de providerFunción única que oculta las diferencias entre proveedores de modelos
Esquema de herramientaContrato JSON Schema: lo único que el modelo sabe de una herramienta
EjecutorEl código que toca el mundo real: valida, acota, escribe de forma atómica
CompactaciónResumir el tramo medio del historial conservando el inicio y lo reciente
Historial vs. eventosTranscripción para reanudar la sesión vs. log legible para depurar
Coste acumulativoCada vuelta reenvía todo el contexto: el gasto crece con el número de pasos
Caché de promptReenviar más barato el prefijo estable del contexto
OpenCodeArnés open source de programación en terminal (MIT, TypeScript)
OpenClawArnés de asistente personal con gateway, canales y triggers (MIT)
HermesArnés de Nous Research con memoria persistente y skills autogeneradas (MIT)
deepagentsArnés de LangChain como librería: planificación, archivos, subagentes y skills
12-factor agentsGuía de estilo: prompts como código, contexto propio, agentes pequeños
Deuda de forkEl coste de mantener tu copia al día con el proyecto original
Básico

Ejercicio 11.1: ¿Qué capa falta?

Cada síntoma delata una capa del arnés ausente o mal construida. Asigna cada uno a la capa que lo resuelve.

#1Copias la API key con un espacio invisible al final y el arnés muere con un 401 sin explicación en cada arranque.

#2Quieres que el mismo arnés hable con Claude, con GPT y con un modelo local por Ollama sin tocar el resto del código.

#3El modelo llama a escribir_archivo pasando solo la ruta, sin el contenido, una y otra vez.

#4Un guardado se corta a la mitad y el archivo del usuario queda truncado, sin copia previa.

#5El agente pide una herramienta, tú la ejecutas… y ahí acaba todo: nunca vuelve a razonar con el resultado.

#6Tras cuarenta turnos la conversación ya no cabe en la ventana del modelo y la sesión revienta.

#7Cierras el terminal y al día siguiente no hay forma de saber qué hizo el agente ni de retomar donde lo dejaste.

#8Necesitas lanzarlo desde un script con una tubería, además de usarlo en modo conversación, y que Ctrl-C corte la respuesta sin matar la sesión.

Intermedio

Ejercicio 11.2: Destripa un arnés real

Elige uno de los arneses open source de la clase, clona el repositorio y localiza sus capas. El entregable es un mapa de una página.

Qué buscar

  • • El archivo donde vive el bucle, y cuántas líneas ocupa
  • • Dónde se declaran los esquemas de las herramientas
  • • Qué hace cuando el contexto se llena
  • • Qué escribe en disco y en qué formato
  • • Dónde están los límites: vueltas, permisos, confirmaciones

Entregable

Una tabla de ocho filas —una por capa— con la ruta del archivo y una frase sobre cómo la resuelve ese proyecto. Marca en rojo las capas que no encuentres: son las decisiones que ese arnés no ha tomado.

Truco: empieza por buscar el punto donde se envía el resultado de una herramienta de vuelta al modelo. Tirando de ahí aparece todo lo demás.

Avanzado

Ejercicio 11.3: La ficha de diseño de tu arnés

Elige un oficio concreto —revisor de accesibilidad, analista de incidencias, preparador de datos— y escribe su ficha antes de tocar una línea de código.

La ficha

  • Ciclo: qué mira, qué hace, cómo sabe que terminó
  • Herramientas: cinco como mucho, con su descripción para el modelo
  • Contexto: qué entra siempre y qué se descarta al compactar
  • Límites: vueltas, presupuesto y qué necesita aprobación
  • Salida: en qué formato entrega el trabajo

Y la decisión

Con la ficha delante, recorre la escalera de compromiso: ¿te basta con configuración y skills? ¿Con una librería? ¿Hay algún arnés open source cuyo ciclo se parezca al tuyo? Justifica en tres líneas dónde te paras y por qué.

¿Y si el ciclo no se me ocurre?

Hazlo tú a mano una vez y anota cada paso, incluidos los que das sin pensar: qué archivo abres primero, qué compruebas antes de dar algo por bueno, cuándo decides parar. Ese registro es el ciclo. Si no puedes escribirlo, todavía no sabes lo suficiente del oficio como para automatizarlo.

🧩

Proyecto: tu arnés mínimo

Construye un arnés pequeño —de doscientas a cuatrocientas líneas— para una tarea concreta. No busques que haga mucho: busca que las ocho capas estén, aunque cada una sea mínima.

Requisitos

  • • Setup que sanea la credencial y falla con un mensaje útil
  • • Una función de provider (con un proveedor basta, pero aislada)
  • • Dos o tres herramientas con su esquema y su ejecutor
  • • Bucle con tope de vueltas y checkpoint por vuelta
  • • Compactación o, como mínimo, aviso al acercarse al límite
  • • Historial reanudable + log de eventos legible
  • • Modo one-shot y modo conversación

Ideas de oficio

  • • Revisor de textos con guía de estilo propia
  • • Triaje de incidencias: lee el error, busca en los logs, propone causa
  • • Auditor de dependencias de un repositorio
  • • Redactor de changelog a partir del historial de Git
  • • Preparador de datos: valida un CSV y corrige lo que puede

Criterios de evaluación

Checklist

  • ☑ Las ocho capas identificables en el código, cada una en su sitio
  • ☑ Cambiar de modelo o de proveedor toca un solo archivo
  • ☑ Una herramienta nueva se añade sin tocar el bucle
  • ☑ Un error de herramienta vuelve al modelo redactado para que se corrija
  • ☑ Matar el proceso a mitad y retomarlo no pierde el trabajo
  • ☑ El log de eventos permite reconstruir qué pasó y cuánto costó
  • ☑ README con el ciclo del oficio y los límites que le pusiste

Si al terminar te parece que sobra código para lo poco que hace, has entendido la clase: eso es exactamente lo que separa una demo de una herramienta.

📚

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

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.

Fragua Tech — Clase 11