new_task
La herramienta new_task crea subtareas con modos especializados mientras mantiene una relación padre-hijo. Divide los proyectos complejos en piezas manejables, cada una operando en el modo más adecuado para el trabajo específico.
Parámetros
La herramienta acepta estos parámetros:
mode(requerido): El slug del modo en el que iniciar la nueva tarea (p. ej., "code", "ask", "architect")message(requerido): El mensaje inicial del usuario o las instrucciones para esta nueva tarea
Qué Hace
Esta herramienta crea una nueva instancia de tarea con un modo de inicio especificado y un mensaje inicial. Permite dividir los flujos de trabajo complejos en subtareas con su propio historial de conversación. Las tareas principales se pausan durante la ejecución de la subtarea y se reanudan cuando la subtarea se completa, con los resultados transferidos de vuelta a la tarea principal.
¿Cuándo se usa?
- Al dividir proyectos complejos en subtareas separadas y enfocadas
- Cuando diferentes aspectos de una tarea requieren diferentes modos especializados
- Cuando diferentes fases del trabajo se benefician de la separación de contexto
- Al organizar flujos de trabajo de desarrollo de múltiples fases
Características Principales
- Crea subtareas con su propio historial de conversación y modo especializado
- Pausa las tareas principales para su reanudación posterior
- Mantiene relaciones jerárquicas de tareas para la navegación
- Transfiere los resultados de vuelta a las tareas principales al completarse
- Admite la segregación de flujos de trabajo para proyectos complejos
- Permite que diferentes partes de un proyecto usen modos optimizados para trabajo específico
- Requiere aprobación explícita del usuario para la creación de tareas
- Proporciona una transición clara de tareas en la interfaz
Limitaciones
- No puede crear tareas con modos que no existen
- Requiere aprobación del usuario antes de crear cada nueva tarea
- La interfaz de tareas puede volverse compleja con subtareas profundamente anidadas
- Las subtareas heredan ciertas configuraciones del espacio de trabajo y extensiones de las tareas principales
- Puede requerir restablecer el contexto al cambiar entre tareas profundamente anidadas
- La finalización de la tarea necesita señalización explícita para volver correctamente a las tareas principales
Cómo Funciona
Cuando se invoca la herramienta new_task, sigue este proceso:
-
Validación de Parámetros:
- Valida los parámetros requeridos
modeymessage - Verifica que el modo solicitado existe en el sistema
- Valida los parámetros requeridos
-
Gestión de la Pila de Tareas:
- Mantiene una pila de tareas que rastrea todas las tareas activas y pausadas
- Preserva el modo actual para su reanudación posterior
- Establece la tarea principal en estado pausado
-
Gestión del Contexto de la Tarea:
- Crea un nuevo contexto de tarea con el mensaje proporcionado
- Asigna identificadores únicos taskId e instanceId para la gestión del estado
- Captura datos de telemetría sobre el uso de herramientas y los ciclos de vida de las tareas
-
Cambio de Modo e Integración:
- Cambia al modo especificado con el rol y las capacidades apropiados
- Inicializa la nueva tarea con el mensaje proporcionado
- Se integra con la paleta de comandos de VS Code y las acciones de código
-
Finalización de la Tarea y Transferencia de Resultados:
- Cuando la subtarea se completa, el resultado se pasa de vuelta a la tarea principal a través de
finishSubTask() - La tarea principal se reanuda en su modo original
- El historial de tareas y las métricas de uso de tokens se actualizan
- El evento
taskCompletedse emite con datos de rendimiento
- Cuando la subtarea se completa, el resultado se pasa de vuelta a la tarea principal a través de
Ejemplos de Uso
- Cuando un desarrollador frontend necesita diseñar una nueva característica, implementar el código y documentarla, puede crear tareas separadas para cada fase con resultados que fluyen de una fase a la siguiente.
- Al depurar un problema antes de implementar una corrección, la tarea de depuración puede documentar los hallazgos que se pasan a la tarea de implementación.
- Al desarrollar una aplicación full-stack, los diseños de esquemas de base de datos de una tarea en modo architect informan los detalles de implementación en una tarea posterior en modo code.
- Al documentar un sistema después de la implementación, la tarea de documentación puede hacer referencia a la implementación completada mientras usa características específicas de documentación.
Ejemplos de Uso
Crear una nueva tarea en modo code:
<new_task>
<mode>code</mode>
<message>Implementar un servicio de autenticación de usuarios con funcionalidad de inicio de sesión, registro y restablecimiento de contraseña.</message>
</new_task>
Crear una tarea de documentación después de completar la implementación:
<new_task>
<mode>docs</mode>
<message>Crear documentación completa de la API para el servicio de autenticación que acabamos de construir.</message>
</new_task>
Dividir una característica compleja en planificación arquitectónica e implementación:
<new_task>
<mode>architect</mode>
<message>Diseñar el esquema de base de datos y la arquitectura del sistema para nuestra nueva plataforma de comercio electrónico.</message>
</new_task>