Lo más importante en un loop que corre sin supervisión: el modelo que escribió el código no puede ser el mismo que decide si está bien. Un segundo agente con instrucciones distintas — y a veces un modelo distinto — atrapa las cosas de las que el primero se convenció solo.
### 5.1 El patrón maker/checker
`text
┌─────────────────────────────────────────────────────┐
│ LOOP PRINCIPAL │
│ (Cron job: ADMP Morning Triage) │
│ │
│ 1. Detecta item en admp_triage status='triaged' │
│ 2. Spawnea worktree aislado │
│ 3. Delega a sub-agente MAKER │
│ 4. Espera resultado │
│ 5. Delega a sub-agente CHECKER │
│ 6. Si CHECKER aprueba → publicar │
│ Si CHECKER rechaza → volver a MAKER con feedback │
│ 7. Actualiza admp_triage │
│ 8. Notifica por Telegram │
└─────────────────────────────────────────────────────┘
`
### 5.2 Definir sub-agentes especializados
En Hermes, los sub-agentes se invocan con delegate_task. El agente principal (el que corre en el cron) es el orquestador.
Sub-agente Maker (implementador):
`
delegate_task(
goal="Escribir SOP completo sobre {tema} basado en el contenido de {url}",
context="Usá la skill sop-generator.
Worktree: ~/work/agent-maker-{timestamp}.
Output: ~/MD-HTML/{fecha}-sop-{slug}.md.
El contenido fuente está en la URL {url}.
Las convenciones del proyecto están en la skill admp-project-context.",
toolsets=["terminal", "file", "web", "skills"]
)
`
Sub-agente Checker (verificador):
`
delegate_task(
goal="Revisar el SOP generado en ~/MD-HTML/{fecha}-sop-{slug}.md",
context="Verificá contra la skill admp-project-context:
1. ¿Los comandos de Hermes son reales? (no inventados)
2. ¿Cubre los 5 bloques de Loop Engineering?
3. ¿Está en español argentino?
4. ¿Tiene checklist de verificación?
5. ¿La tabla de troubleshooting es completa?
6. ¿Los paths y comandos son correctos para macOS?
Respondé con APPROVED o REJECTED + lista de correcciones necesarias.",
toolsets=["file", "skills"]
)
`
### 5.3 Sub-agente investigador (para discovery)
`
delegate_task(
goal="Investigar el estado del arte sobre {tema}",
context="Buscá fuentes primarias: papers, repos oficiales, documentación.
No uses resúmenes de terceros.
Priorizá profundidad sobre amplitud.
Output: brief ejecutable con hallazgos, fuentes, y recomendaciones.
Guardar en ~/MD-HTML/{fecha}-research-{slug}.md.",
toolsets=["web", "file"]
)
`
### 5.4 Sub-agentes en paralelo
Para tareas independientes, corré varios en paralelo:
`
delegate_task(tasks=[
{
"goal": "Investigar tendencias en AI agents 2026",
"context": "Worktree: ~/work/agent-researcher-001. Foco: herramientas, frameworks, adopción enterprise.",
"toolsets": ["web", "file"]
},
{
"goal": "Investigar tendencias en content automation 2026",
"context": "Worktree: ~/work/agent-researcher-002. Foco: SEO, content pipelines, AI writing tools.",
"toolsets": ["web", "file"]
}
])
`
### 5.5 Verificador adversarial
El checker debería usar un modelo distinto o al menos instrucciones opuestas:
`bash
`