Ir al contenido principal

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:

  1. Validación de Parámetros:

    • Valida los parámetros requeridos mode y message
    • Verifica que el modo solicitado existe en el sistema
  2. 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
  3. 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
  4. 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
  5. 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 taskCompleted se emite con datos de rendimiento

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>