Temario · lección 66 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
Proyecto 1, solo prompt contra harness mínimo
Haz la misma tarea dos veces, una con un simple prompt y otra con AGENTS.md, init.sh y feature_list.json en el repo, y mide cuánto cambia el resultado.
El experimento más barato del curso
Para saber si unas gafas te sirven, te las pruebas y comparas. Aquí haces lo mismo con un harness. Una tarea sencilla, dos intentos: uno «en crudo» y otro con tres archivos de preparación. Es la prueba de que el entorno importa tanto como el modelo, que viste en el mismo caballo.
La tarea
Construir el esqueleto mínimo de una app de escritorio (Electron) de base de conocimiento: ventana con lista de documentos a la izquierda, panel de preguntas y respuestas a la derecha y una carpeta local de datos. Cuatro funciones concretas:
- Lanzar la ventana.
- Lista de documentos.
- Panel de preguntas y respuestas.
- Creación del directorio de datos local.
No es difícil. Lo difícil es conseguir que el agente la complete de forma fiable. Si no quieres Electron, vale cualquier proyecto pequeño con cuatro funciones comprobables: lo importante es el método.
Los dos intentos
| Intento A: baseline | Intento B: harness mínimo | |
|---|---|---|
| Qué hay en el repo | Solo task-prompt.md con la descripción | AGENTS.md, init.sh, feature_list.json (y CLAUDE.md, claude-progress.md) |
| Qué mides | Qué completa sin estructura | Lo mismo, con reglas y verificación |
Usa el mismo agente (Claude Code o Codex) en ambos, con un cronómetro y git para comparar ramas. El repo del curso indica que cualquier diferencia de tiempo es ilustrativa, no un resultado fijo: tus números serán los tuyos.
Los tres archivos del harness mínimo
init.sh instala, verifica y dice cómo arrancar:
INSTALL_CMD=(npm install)
VERIFY_CMD=(npm test)
START_CMD=(npm run dev)
feature_list.json fija qué cuenta como terminado, una función a una con su verificación:
{
"id": "window-001",
"priority": 1,
"title": "Lanzar la ventana",
"status": "not_started",
"verification": ["Ejecutar init.sh", "Abrir la app", "Ver la ventana con dos paneles"],
"evidence": ""
}
AGENTS.md dice qué hacer al empezar (leer progreso, elegir la función de mayor prioridad, ejecutar init.sh) y las reglas: una función a la vez, no marcar como hecho sin evidencia. Tienes plantillas en checklist final y plantillas.
Qué comparar
- Tiempo hasta tener algo funcionando.
- Cuántas de las cuatro funciones están realmente verificadas (no solo «escritas»).
- Cuánto tuviste que corregir o preguntar.
- Si una persona nueva sabría qué falta mirando solo el repo.
¿Por qué se usa el mismo agente y la misma tarea en los dos intentos?
Fuentes: Learn Harness Engineering, projects/project-01