Temario · lección 65 de 74
1Por qué fallan los agentes
2Qué es un harness
3Patrones de agentes
4Herramientas
5Ingeniería de contexto
6El repositorio como memoria
7Tareas largas
8Alcance y “hecho” de verdad
9Observabilidad y estado limpio
10Loops y grafos
11Harness reales
12Proyecto final
- Proyecto 1, solo prompt contra harness mínimo
- Proyecto 2, un workspace legible
- Proyecto 3, continuidad entre sesiones
- Proyecto 4, feedback de runtime e indexado
- Proyecto 5, que el agente verifique su trabajo
- Proyecto 6, el harness completo (capstone)
- Proyecto 7, tu primer loop automático
- Proyecto 8, dibuja tu flujo como un grafo
- Checklist final y plantillas
Comparativa de harness reales
Cuatro harness, cuatro apuestas distintas sobre dónde poner la responsabilidad. Esta lección las junta en una tabla para que sepas qué copiar en tu propio entorno.
Cuatro coches, un mismo motor
Un utilitario, un todoterreno, una moto y un kit de montaje llegan a la misma ciudad por caminos distintos. Los cuatro harness del módulo hacen lo mismo (bucle de modelo y herramientas) pero deciden de forma muy diferente quién se encarga de qué. Entender esas decisiones te sirve más que memorizar productos, porque los productos cambiarán.
La apuesta de cada uno
- Claude Code suma: memoria por capas, permisos, hooks y subagentes vienen integrados en el núcleo.
- Codex resta: núcleo contenido y peso en convenciones del repo (AGENTS.md índice, worktrees, comandos de verificación).
- Pi delega: núcleo mínimo y todo es extensión programable.
- DeepSeek Harness generaliza: el harness es un sistema operativo y hasta el bucle es un plugin.
Tabla de decisiones de diseño
| Decisión | Claude Code | Codex | Pi | DeepSeek Harness |
|---|---|---|---|---|
| Instrucciones | CLAUDE.md por capas + auto memory | AGENTS.md índice (~100 líneas) + docs/ | AGENTS.md jerárquico + SYSTEM.md | Reglas como plugins |
| Contexto largo | Compactación en cinco niveles, resume/fork | Compactación + escribir estado en archivos | Compactación programable, contexto dinámico | Log de sesión que solo añade |
| Herramientas | Skills, MCP, hooks, subagentes | Núcleo contenido, subagentes | Skills + extensiones TypeScript | Capability seams (interfaz, proveedor, consumidor) |
| Límites | Siete modos de permisos + clasificador | Worktree por tarea, políticas de aprobación | Puertas de permisos en extensiones | Guardas en el evento previo a ejecutar |
| Verificación | Hooks PostToolUse y Stop | Comandos de verificación en el repo | Los define el usuario | Oyentes sobre eventos |
| Estado entre sesiones | Historial append-only, /resume | Convenciones del repo | Árbol de sesiones, PROGRESS.md | Log append-only reconstruible |
| Coste de entrada | Bajo: funciona de serie | Medio: depende de tu disciplina | Alto: construyes piezas | Alto: vista previa y configuración |
Lo que se repite en los cuatro
Aunque difieran, comparten patrones que son los del curso:
- Instrucciones cortas y cargadas bajo demanda, no un archivo gigante.
- Contexto tratado como recurso finito: compactar, aislar con subagentes, escribir fuera de la ventana.
- Límites impuestos por el programa, no pedidos en el prompt.
- Verificación determinista (hooks, comandos, eventos) en lugar de fiarse de la opinión del modelo.
- Historial que se puede reproducir, casi siempre añadiendo líneas, para retomar y depurar.
También Microsoft Agent Framework propone un harness compuesto por piezas (cliente de chat, canalización, proveedores de contexto, middleware) con funciones activables y desactivables. Lo verás en arquitectura por capas; encaja en la misma idea de componer en lugar de fijar.
Cómo elegir (o cómo diseñar el tuyo)
- ¿Quieres que funcione hoy sin montar nada? Un harness con todo integrado.
- ¿Tu equipo ya es disciplinado con documentación y CI? Uno basado en convenciones del repo te rinde mucho.
- ¿Necesitas reglas propias y control fino? Uno extensible, asumiendo el trabajo.
¿Qué patrón comparten los cuatro harness analizados?
Fuentes: Learn Harness Engineering, harness-designs (claude-code, codex, pi, deepseek) · Microsoft, Arnés de agente (sources/web/microsoft.md)