Habilidad de flujo de trabajo multiagente FY (FY-Flow)
Microkernel de desarrollo colaborativo multiagente impulsado por contratos (FY-Flow) — Alineado con el paradigma AutoGen, previene eficazmente la extralimitación de roles, la fragmentación del trabajo y el bloqueo de estados.
Protocolo de puerta de enlace unificada (Unified Gateway Protocol)
Todas las instrucciones que invocan esta habilidad se consolidan en esta puerta de enlace y se distribuyen según las siguientes dos reglas de bifurcación:
1. Matriz de bifurcación de dos ramas
| Tipo de rama | Características e instrucciones de activación | Mecanismo de procesamiento y contrato de respuesta | Escenario típico |
|---|---|---|---|
| Rama A: Operaciones de la consola del sistema | /fy-flow help/fy-flow start/fy-flow status/fy-flow kanban/fy-flow trace | Conexión directa al motor de operaciones subyacente (sin clasificación previa), ejecuta el script correspondiente y genera el estado del sistema. | Ver el manual de ayuda, inicializar SOP, iniciar el tablero, inspección del panel, diagrama de enlace fuera de línea |
| Rama B: Intención de desarrollo empresarial e interacción | Requisitos en lenguaje natural, modificación de código, desarrollo de funciones, corrección de errores, resolución de problemas, /fy-flow auto | Ejecución forzada previa de [tres preguntas de clasificación y descomposición de responsabilidad única], y salida explícita del encabezado de doble etiqueta en la primera línea de la respuesta:`【Clasificación de tarea: L0 Respuesta inmediata / L1 Tarea ligera / L2 Desarrollo estándar】 | 【Responsabilidad única: Tarjeta de cumplimiento única / Los requisitos complejos deben descomponerse en N tareas atómicas】` |
2. Flujo de decisión [tres preguntas de clasificación] para requisitos empresariales
[Entrada de requisitos empresariales]
│
├─► 1. ¿Dejará modificaciones en archivos del repositorio (código, documentación, configuración, etc.)?
│ ├─ No ──► 2. ¿La conclusión necesita ser rastreada posteriormente como base para la ingeniería?
│ │ ├─ No ───────────────────► 【L0 Respuesta inmediata】(Sin tarjeta, respuesta directa, 0 ms de latencia CLI, borrador en borrador)
│ │ └─ Sí ───────────────────► 【L1 Tarea ligera】(Crear tarjeta, detenerse y esperar inicio → completar con un solo rol después de la autorización humana)
│ │
│ └─ Sí ──► 3. ¿Requiere colaboración de múltiples roles, modificación de código comercial central o cambio de bibliotecas base comunes?
│ ├─ No ───────────────────► 【L1 Tarea ligera】
│ └─ Sí ───────────────────► 【L2 Tarea de desarrollo estándar】(Crear tarjeta, detenerse y esperar inicio → colaboración de múltiples roles después de la autorización humana)
- Mapeo de clasificación de puerta de enlace y CCP elástico:
- 【L0 Respuesta inmediata】:Sin tarjeta, respuesta directa, 0 gastos generales de máquina de estado;
- 【L1 Tarea ligera】:Mapeado a CCP Tier-3 (Fast-Path de liberación rápida, sin informe físico independiente, credenciales escritas directamente en el tablero);
- 【L2 Desarrollo estándar】:Coincide automáticamente con CCP Tier-2 (optimización local, horas de trabajo ≤ 4.0h, sin informe físico) o CCP Tier-1 (restricción estricta de arquitectura central y contrato de interfaz) según el tamaño y el contrato.
- Para cualquier requisito empresarial que pertenezca a L1/L2, la puerta de enlace aplica una revisión de responsabilidad única (horas de trabajo ≤ 8.0h, un único entregable atómico). Los requisitos que abarcan dominios ortogonales deben descomponerse y crear tarjetas.
- Línea roja rígida de autorización de inicio: La creación de la tarjeta marca el final del estado de planificación de esta sesión. La tarjeta de tarea DEBE permanecer estrictamente en el estado [Pendiente de inicio]; sin una orden explícita de autorización de inicio del usuario humano (por ejemplo, "comenzar", "iniciar desarrollo", "confirmar ejecución"), está PROHIBIDO enviar automáticamente la tarea a [En curso].
- El ID de tarea en estado de ejecución (por ejemplo,
T0001) penetra directamente en la puerta de enlace y pasa a la máquina de estado para su avance. Está prohibida la creación de una segunda tarjeta.
Tabla de referencia rápida de comandos principales (CLI Command Quick Reference)
| Escenario empresarial | Fachada CLI unificada (cli.py) | Script dedicado subyacente | Función principal y parámetros |
|---|---|---|---|
| Crear tarjeta de tarea | python3 scripts/cli.py task create ... | python3 scripts/quick_task.py create ... | --name "..." --assignee "..." --stage "Sprint 2.1 Ajustes de menú" --type "A" --target "..." --criteria "..." [--in-scope "archivo # razón"] |
| Control de acceso/cierre de fase | python3 scripts/check_stage_gate.py ... | python3 scripts/check_stage_gate.py ... | --action start/close --stage "Sprint 2.1 Ajustes de menú" (acceso bajo demanda, dependencias anteriores verificadas automáticamente) |
| Despacho de tareas mediante código | python3 scripts/cli.py dispatch --task-id T00xx --format codex | python3 scripts/dispatch_task.py | Verifica dependencias y concurrencia, cambia a [En curso], genera parámetros JSON que la herramienta de subagente de Codex puede llamar directamente |
| Avanzar transición de tarea | python3 scripts/transition_task.py ... | python3 scripts/transition_task.py ... | --task-id T00xx --role DEV --from-status En curso --to-status En revisión --token <token> --summary "Descripción de cambios principales" --remarks "..." (la solicitud de revisión requiere obligatoriamente --summary para inyectar automáticamente diferencias y capturas de credenciales) |
| Aceptación de estado final humano | python3 scripts/cli.py task accept ... | python3 scripts/quick_task.py accept ... | --task-id T00xx (Exclusivo para usuarios humanos, prohibido para agentes) |
| Iniciar tablero | python3 scripts/cli.py kanban | python3 scripts/start_kanban_server.py | Se inicia por defecto en http://127.0.0.1:32886/ |
| Inspección de salud | python3 scripts/cli.py status | python3 scripts/heartbeat.py | Genera salud general del panel, tarjetas bloqueadas y métricas de eficiencia (incluye alertas de deambulación cognitiva de subagentes y tiempo de espera > 600s) |
| Sincronización de pila técnica/recálculo de perfil | - | scripts/update_agent_tech_stacks.py | --force-recalc fuerza el recálculo del perfil de capacidad técnica del experto y actualiza la exportación de subagentes, resolviendo el problema de perfiles obsoletos después de la migración de la pila técnica |
| Validación de continuidad | python3 scripts/cli.py ccp ... | python3 scripts/cli.py ccp ... | --task-id T00xx --stage En revisión Valida la continuidad del contexto |
| Diagrama de enlace completo | python3 scripts/cli.py trace | python3 scripts/generate_trace_html.py | Analiza trayectorias de sesión fuera de línea, genera un diagrama de enlace panorámico HTML en segundos (0 Token) |
| Pruebas incrementales inteligentes | python3 scripts/cli.py test | scripts/run_tests.py | Detecta automáticamente cambios de Git, solo ejecuta pruebas unitarias relacionadas (en segundos), los cambios de documentación se excluyen automáticamente, --all para regresión completa |
Matriz de permisos de escritura y rango de transición de 8 subagentes expertos
[!IMPORTANT] Regla de hierro de aislamiento físico y control de fichas de despacho (Dispatch Token Gating):
- El agente principal (PM Gerente Yan) tiene PROHIBIDO escribir código de desarrollo en la sesión principal. Los huéspedes de Codex DEBEN utilizar herramientas de subagente reales para el despacho; otros huéspedes pueden usar sus propias herramientas de subagente.
- Despacho mediante código y control de fichas: Al despachar una tarea,
cli.py dispatchgenera undispatch_tokenexclusivo. Los roles de desarrollo profesionales (DEV/FRONTEND/REVIEWER/QA) DEBEN llevar--token <token>al realizar transiciones. La máquina de estado subyacente intercepta de forma forzosa, evitando cualquier simulación o aprobación falsa.
Contrato de despacho automático de Codex Desktop
Después de que el usuario autorice explícitamente el inicio, el agente principal ejecuta en el directorio del proyecto de destino
python3 .agents/skills/fy-flow/scripts/dispatch_task.py --task-id <ID> --format codex.
La salida estándar es un único objeto JSON que contiene tool, arguments, task_id y role; la información de diagnóstico se envía al error estándar.
El agente principal DEBE pasar inmediatamente arguments tal cual como parámetros de una llamada real a la herramienta collaboration.spawn_agent,
esperar a que el subagente regrese y luego continuar despachando a los expertos de revisión y prueba según el estado actual de la tarea. No reescriba, copie ni reduzca manualmente el mensaje de despacho;
no imprima el JSON como si el despacho estuviera completo ni el agente principal realice el trabajo de los expertos por sí mismo. Si el huésped de Codex actual no tiene
herramientas de subagente, informe claramente de la falta de capacidad del huésped, mantenga el estado actual de la tarea y no falsifique recibos de expertos.
Los expertos ya despachados solo ejecutan el exit_contract.required_cli en el mensaje. No deben crear tarjetas ni iniciar tareas repetidamente.
Dado que la autorización del usuario ya cubre esta ejecución, después de crear la tarjeta, el despacho puede continuar en la misma sesión; solo cuando no se haya recibido la autorización de inicio, la tarea permanecerá en [Pendiente de inicio].
| Identificador de subagente | Nombre del rol | Responsabilidades principales | Rango de transición de estado legal | Contrato de salida |
|---|---|---|---|---|
@flow-pm | Gerente Yan (Gerente de proyecto) | Descomposición de requisitos, clasificación y creación de tarjetas | Pendiente de inicio -> En curso / Solicitar aceptación | El escenario de creación de tarjeta se detiene en [Pendiente de inicio] esperando autorización de inicio; solicitar aceptación humana |
@flow-architect | Arquitecto Qian (Arquitecto de sistemas) | Arquitectura general del sistema, contrato de interfaz y selección técnica | Pendiente de inicio -> En curso -> Completado | Entregar documento ADR y plan de arquitectura |
@flow-dev | Desarrollador Li (Ingeniero de desarrollo) | Codificación principal de backend/full-stack e implementación de pruebas unitarias | Pendiente de inicio -> En curso -> En revisión | Debe ejecutar pruebas unitarias, generar informe de desarrollo, proporcionar --summary al solicitar revisión |
@flow-frontend | Desarrollador frontend Ma (Ingeniero de desarrollo frontend) | Componentes Web/UI e implementación de experiencia frontend | Pendiente de inicio -> En curso -> En revisión | Verificar renderizado de componentes e interacción, generar informe, proporcionar --summary al solicitar revisión |
@flow-reviewer | Revisor Zhou (Experto en revisión de código) | Estándares de código, escaneo de seguridad y control de calidad | En revisión -> En prueba / En revisión -> Completado (Tier-3 con credenciales frescas y sin desviación, omitiendo QA) / En revisión -> Devuelto | Sin alertas de escaneo estático, generar opinión de revisión |
@flow-qa | Probador Zhang (Ingeniero de pruebas) | Pruebas de integración específicas y liberación (solo ejecuta pruebas relacionadas con la tarea actual, PROHIBIDO ejecutar scripts completos) | En prueba -> Completado / En prueba -> Devuelto | Escribir casos de prueba específicos, registrar horas de trabajo reales |
@flow-docs | Documentador Li (Ingeniero de documentación) | Gestión de documentación de entregables y manual de usuario | Pendiente de inicio -> En curso -> Completado | Seguir el estándar académico y de ingeniería GB/T 7713 |
@flow-devops | Administrador Lü (Administrador de operaciones) | Fusión de ramas, construcción de lanzamiento y protección del historial de Git | Pendiente de inicio -> En curso -> Completado | Verificar que la canalización pase, resolver bloqueos de PR |
Índice de entidades de especificaciones modulares (Consulte archivos de especificaciones específicos según sea necesario)
Cuando y solo cuando se entra en un escenario empresarial específico, el agente DEBE llamar a view_file para consultar el archivo Markdown de entidad correspondiente:
- Carga inicial / SOP de arranque en frío: Consulte
references/02-bootstrap/01-initialization_sop.md - Creación de tarea / Determinación de responsabilidad única: Consulte
references/01-gateway/01-task_classification.md - Transición de tarea / Reglas de control / Permisos de roles: Consulte
references/03-engine/01-state_flow_rules.md - Transferencia de contexto / Handoff entre agentes (CCP): Consulte
references/04-ccp/01-ccp_protocol_spec.md - Operaciones del servidor del tablero / Desbloqueo automático de PR: Consulte
references/05-kanban/01-kanban_operations.md - Fusión de ramas Git / Registro de auditoría y métricas: Consulte
references/06-governance/01-git_and_audit_spec.md