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:
-
Validação de Parâmetros:
- Valida os parâmetros obrigatórios
mode
emessage
- Verifica se o modo solicitado existe no sistema
- Valida os parâmetros obrigatórios
-
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
-
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
-
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
-
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
- Quando a subtarefa é concluída, o resultado é passado de volta para a tarefa pai através de
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>