Pular para o conteúdo principal

new_task

A ferramenta new_task cria subtarefas com modos especializados, mantendo um relacionamento pai-filho. Ela divide projetos complexos em partes gerenciáveis, cada uma operando no modo mais adequado para um trabalho específico.

Parâmetros

A ferramenta aceita estes parâmetros:

  • mode (obrigatório): O slug do modo para iniciar a nova tarefa (por exemplo, "code", "ask", "architect")
  • message (obrigatório): A mensagem inicial do usuário ou instruções para esta nova tarefa

O Que Faz

Esta ferramenta cria uma nova instância de tarefa com um modo inicial e mensagem inicial especificados. Ela permite que fluxos de trabalho complexos sejam divididos em subtarefas com seu próprio histórico de conversas. As tarefas pai são pausadas durante a execução da subtarefa e retomadas quando a subtarefa é concluída, com os resultados transferidos de volta para o pai.

Quando é usada?

  • Ao dividir projetos complexos em subtarefas separadas e focadas
  • Quando diferentes aspectos de uma tarefa exigem diferentes modos especializados
  • Quando diferentes fases do trabalho se beneficiam da separação de contexto
  • Ao organizar fluxos de trabalho de desenvolvimento multifásicos

Principais Características

  • Cria subtarefas com seu próprio histórico de conversas e modo especializado
  • Pausa as tarefas pai para retomada posterior
  • Mantém relacionamentos hierárquicos de tarefas para navegação
  • Transfere os resultados de volta para as tarefas pai após a conclusão
  • Suporta a segregação de fluxo de trabalho para projetos complexos
  • Permite que diferentes partes de um projeto usem modos otimizados para trabalhos específicos
  • Requer aprovação explícita do usuário para a criação da tarefa
  • Fornece uma transição de tarefa clara na interface do usuário

Limitações

  • Não pode criar tarefas com modos que não existem
  • Requer aprovação do usuário antes de criar cada nova tarefa
  • A interface da tarefa pode se tornar complexa com subtarefas profundamente aninhadas
  • As subtarefas herdam certas configurações de espaço de trabalho e extensão dos pais
  • Pode exigir o restabelecimento do contexto ao alternar entre tarefas profundamente aninhadas
  • A conclusão da tarefa precisa de sinalização explícita para retornar adequadamente às tarefas pai

Como Funciona

Quando a ferramenta new_task é invocada, ela segue este processo:

  1. Validação de Parâmetros:

    • Valida os parâmetros obrigatórios mode e message
    • Verifica se o modo solicitado existe no sistema
  2. Gerenciamento da Pilha de Tarefas:

    • Mantém uma pilha de tarefas que rastreia todas as tarefas ativas e pausadas
    • Preserva o modo atual para retomada posterior
    • Define o estado da tarefa pai como pausado
  3. Gerenciamento do Contexto da Tarefa:

    • Cria um novo contexto de tarefa com a mensagem fornecida
    • Atribui identificadores exclusivos de taskId e instanceId para gerenciamento de estado
    • Captura dados de telemetria sobre o uso da ferramenta e os ciclos de vida da tarefa
  4. Troca de Modo e Integração:

    • Alterna para o modo especificado com a função e as capacidades apropriadas
    • Inicializa a nova tarefa com a mensagem fornecida
    • Integra-se com a paleta de comandos e as ações de código do VS Code
  5. Conclusão da Tarefa e Transferência de Resultados:

    • Quando a subtarefa é concluída, o resultado é passado de volta para a tarefa pai através de finishSubTask()
    • A tarefa pai é retomada em seu modo original
    • O histórico da tarefa e as métricas de uso de token são atualizados
    • O evento taskCompleted é emitido com dados de desempenho

Exemplos de Quando Usado

  • Quando um desenvolvedor front-end precisa arquitetar um novo recurso, implementar o código e documentá-lo, ele pode criar tarefas separadas para cada fase com os resultados fluindo de uma fase para a outra.
  • Ao depurar um problema antes de implementar uma correção, a tarefa de depuração pode documentar as descobertas que são passadas para a tarefa de implementação.
  • Ao desenvolver uma aplicação full-stack, os designs de esquema de banco de dados de uma tarefa no modo arquiteto informam os detalhes de implementação em uma tarefa subsequente no modo código.
  • Ao documentar um sistema após a implementação, a tarefa de documentação pode referenciar a implementação concluída enquanto usa recursos específicos de documentação.

Exemplos de Uso

Criando uma nova tarefa no modo código:

<new_task>
<mode>code</mode>
<message>Implementar um serviço de autenticação de usuário com funcionalidades de login, registro e redefinição de senha.</message>
</new_task>

Criando uma tarefa de documentação após concluir a implementação:

<new_task>
<mode>docs</mode>
<message>Crie uma documentação de API abrangente para o serviço de autenticação que acabamos de construir.</message>
</new_task>

Dividindo um recurso complexo em planejamento arquitetônico e implementação:

<new_task>
<mode>architect</mode>
<message>Projete o esquema do banco de dados e a arquitetura do sistema para nossa nova plataforma de comércio eletrônico.</message>
</new_task>