cb6d9e61d1
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.0 KiB
4.0 KiB
description
| description |
|---|
| Recordatorio operativo para usar subagentes fn (constructor/executor/recopilador/analizador/mejorador) y paralelizar trabajo independiente |
/subagentes — usa subagentes fn y paraleliza
Recuerda: antes de escribir codigo nuevo o ejecutar pipelines en serie, delega a subagentes y paraleliza llamadas independientes (un mensaje, varios Agent calls).
Mapa de subagentes fn (ciclo reactivo)
| Fase | Agente | Cuando dispararlo |
|---|---|---|
| 1 CONSTRUIR | fn-constructor |
Falta funcion/tipo/test reutilizable. NUNCA escribir inline en apps/ si es reutilizable |
| 2 EJECUTAR | fn-executor |
Correr pipeline/funcion del registry + registrar ejecucion en operations.db |
| 3 RECOPILAR | fn-recopilador |
Auditar integridad de operations.db. Modo design-e2e <app> propone bloque e2e_checks |
| 4 ANALIZAR | fn-analizador |
Ejecutar e2e_checks de app.md, veredicto pass/fail, persistir en e2e_runs |
| 5 MEJORAR | fn-mejorador |
Convertir fallos de e2e_runs en proposals con evidencia trazable |
| 6 META | fn-orquestador |
Recorrer fases 1-5 solo hasta convergencia. Sandbox auto/<issue>. Issue 0069 |
Pre-condiciones de fn-orquestador (abortara si no se cumplen):
- Migration
fn_operations/migrations/006_task_runs.sqlaplicada - Issue con criterios de aceptacion verificables programaticamente (no "funciona bien")
masterlocal up-to-date conorigin/master- Branch
auto/<issue>NO existe ya (limpiar previo si hace falta) ghautenticado (PR draft al converger)- Tipo soportado:
feature_app_simple,bugfix_with_repro,refactor_safe,add_e2e_check
Aislamiento por worktree: cada run crea /tmp/fn_orq_<issue>_<ts>/ via git worktree add. Working tree principal del usuario queda intacto. N orquestadores paralelos = N worktrees independientes. task_runs persiste en BD del repo principal (auditoria sobrevive aunque borres worktree).
Otros subagentes utiles
Explore— busquedas amplias en codebase (>3 queries) sin contaminar contexto principalgeneral-purpose— research multi-step open-ended
Reglas duras
- Paralelo real: tareas independientes → un mensaje con varios
Agentcalls. NO en serie. - Briefing autocontenido: subagente no ve historial. Pasar paths absolutos, IDs, criterio exito.
- No delegar comprension: nada de "haz lo que veas". Especificar que cambiar, donde, por que.
- Verificar output: leer diff/resultado, no confiar en resumen del subagente.
- No duplicar: si delegas research, no lo repitas tu.
Patrones canonicos de paralelismo
- 3 funciones de registry independientes → 3
fn-constructoren paralelo - Auditar N apps → N
fn-recopiladoren paralelo - Validar varias apps → N
fn-analizadoren paralelo - Build cpp + tests py + audit operations.db → 3 calls paralelos
- Tras
fn-analizadorcon fallos →fn-mejoradorpor cadarun_id - Tarea multi-fase autonoma (issue con criterios verificables) →
fn-orquestador(1 sola run, NO recursivo)
Anti-patrones
- Escribir funcion reutilizable inline en
apps/(debe ir afunctions/viafn-constructor) - Lanzar subagentes en serie cuando son independientes
- Prompt de 1 linea sin contexto ("arregla esto")
- Invocar subagente y luego hacer tu mismo el trabajo
- Spawn
fn-orquestadorsin migration 006 o sin issue verificable (abortara) fn-orquestadorrecursivo (un orquestador no spawn-ea otro)
Checklist pre-respuesta
- ¿>1 tarea independiente? → paralelizar
- ¿Hace falta funcion/tipo nuevo? →
fn-constructor, NO inline - ¿Hay que ejecutar/auditar/validar? → fase 2/3/4 segun toque
- ¿
e2e_runscon fallos? →fn-mejorador - ¿Issue con criterios verificables + tipo soportado? →
fn-orquestador(chequear pre-condiciones) - ¿Research amplio (>3 queries)? →
Explore
Plantilla minima de prompt para subagente
Contexto: <que repo, que app, que objetivo>
Input: <paths absolutos, IDs registry, run_id si aplica>
Tarea: <accion concreta y acotada>
Criterio exito: <como sabe que termino>
Limites: <que NO debe tocar>