# DIRECTIVA: Orquestacion de Subagentes **Version:** 1.0 **Fecha:** 2025-12-12 **Origen:** Leccion aprendida Sprint 0 P0 Bloques 5-6 --- ## PROPOSITO Guia para la orquestacion efectiva de subagentes en tareas paralelas, considerando limitaciones de contexto y configuracion apropiada. --- ## PRINCIPIOS ### 1. Limites de Contexto Los subagentes tienen un limite de contexto que debe respetarse: ```yaml consideraciones: - Cada subagente recibe contexto inicial + prompt + referencias - Evitar enviar demasiados archivos de referencia - Preferir referencias a paths en lugar de contenido inline - Dividir tareas grandes en subtareas mas pequenas ``` ### 2. Configuracion de Prompts Los prompts para subagentes deben ser: ```yaml estructura_prompt: - Objetivo claro y especifico (1-2 oraciones) - Contexto minimo necesario (solo lo esencial) - Referencias a archivos (paths, no contenido) - Criterios de completitud - Formato de output esperado ejemplo_bueno: | Objetivo: Crear tests para AuthService en gamilit. Contexto: NestJS backend con Jest. Referencia: ~/workspace/projects/gamilit/apps/backend/src/modules/auth/ Output: Archivos .spec.ts con minimo 20 test cases. ejemplo_malo: | [Incluir aqui todo el contenido del archivo auth.service.ts] [Incluir aqui todo el contenido del archivo base.service.ts] [... mas archivos inline...] Crea tests para todo esto. ``` ### 3. Granularidad de Tareas ```yaml recomendaciones: - 1 subagente = 1 tarea especifica - Maximo 4-6 subagentes en paralelo - Cada tarea debe poder completarse en contexto limitado division_recomendada: - Por proyecto (gamilit, trading, erp-suite) - Por modulo (auth, progress, gamification) - Por tipo de artefacto (tests, servicios, controllers) evitar: - Un subagente para "todos los tests de todos los proyectos" - Prompts con mas de 2000 tokens de contexto inline ``` ### 4. Monitoreo de Errores ```yaml errores_comunes: context_overflow: causa: Demasiado contexto en prompt solucion: Reducir referencias, usar paths incomplete_output: causa: Tarea muy amplia solucion: Dividir en subtareas dependency_failure: causa: Subagente depende de resultado de otro solucion: Ejecutar secuencialmente, no en paralelo ``` --- ## PATRON DE USO ```typescript // Ejemplo de orquestacion apropiada const tareas = [ { nombre: "P0-008: Tests gamilit", prompt: ` Objetivo: Crear infraestructura de tests para gamilit backend. Path: ~/workspace/projects/gamilit/apps/backend/ Archivos a crear: - __tests__/setup.ts - __mocks__/repositories.mock.ts - modules/auth/services/__tests__/auth.service.spec.ts Output: Lista de archivos creados con rutas completas. `, modelo: "sonnet", // Usar modelo apropiado contexto_estimado: "bajo" // 500-1000 tokens }, // ... mas tareas similares ]; // Ejecutar en paralelo solo si son independientes await Promise.all(tareas.map(t => ejecutarSubagente(t))); ``` --- ## INTEGRACION CON PERFILES Esta directiva debe incluirse en todos los perfiles tecnicos: - Architecture-Analyst - Full-Stack Developer - Backend Specialist - QA Engineer Referencia en perfil: ```yaml directivas: - @SUBAGENTES_ORQUESTACION: directivas/DIRECTIVA-SUBAGENTES-ORQUESTACION.md ``` --- ## METRICAS DE EXITO | Metrica | Objetivo | |---------|----------| | Errores de contexto | < 5% de ejecuciones | | Tareas completadas | > 95% | | Tiempo promedio subagente | < 5 minutos | --- **Autor:** NEXUS-ARCHITECT **Leccion aprendida de:** Sprint 0 P0 Bloques 5-6