Pular para o conteúdo principal

switch_mode

A ferramenta switch_mode permite que o AI Cockpit Reasoning alterne entre diferentes modos operacionais, cada um com capacidades especializadas para tipos específicos de tarefas. Isso permite transições perfeitas entre modos como Código, Arquiteto, Pergunta ou Depuração quando a tarefa atual exige conhecimentos diferentes.

Parâmetros

A ferramenta aceita estes parâmetros:

  • mode_slug (obrigatório): O slug do modo para o qual alternar (por exemplo, "code", "ask", "architect")
  • reason (opcional): O motivo da troca de modos, fornecendo contexto para o usuário

O Que Faz

Esta ferramenta solicita uma mudança de modo quando a tarefa atual seria melhor tratada pelas capacidades de outro modo. Ela mantém o contexto enquanto desloca o foco e os conjuntos de ferramentas disponíveis do AI Cockpit Reasoning para corresponder aos requisitos da nova fase da tarefa.

Quando é usada?

  • Ao fazer a transição da coleta de informações para a implementação de código
  • Ao mudar da codificação para a arquitetura ou design
  • Quando a tarefa atual requer capacidades disponíveis apenas em um modo diferente
  • Quando é necessária especialização para uma fase específica de um projeto complexo

Principais Características

  • Mantém a continuidade do contexto nas transições de modo
  • Fornece um raciocínio claro para as recomendações de troca de modo
  • Requer a aprovação do usuário para todas as mudanças de modo
  • Impõe restrições de grupo de ferramentas específicas para cada modo
  • Adapta perfeitamente a disponibilidade de ferramentas com base no modo selecionado
  • Funciona com modos padrão e personalizados
  • Exibe a troca de modo e o raciocínio na interface do usuário
  • Usa formatação no estilo XML para especificação de parâmetros
  • Lida com restrições de tipo de arquivo específicas para certos modos

Limitações

  • Não pode alternar para modos que не existem no sistema
  • Requer aprovação explícita do usuário para cada transição de modo
  • Não pode usar ferramentas específicas de um modo até que a troca seja concluída
  • Aplica um atraso de 500ms após a troca de modo para permitir que a alteração entre em vigor
  • Alguns modos têm restrições de tipo de arquivo (por exemplo, o modo Arquiteto só pode editar arquivos markdown)
  • A preservação do modo para retomada se aplica apenas à funcionalidade new_task, não à troca geral de modo

Como Funciona

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

  1. Validação da Solicitação:

    • Valida que o modo solicitado existe no sistema
    • Verifica se o parâmetro mode_slug foi fornecido e é válido
    • Verifica se o usuário já não está no modo solicitado
    • Garante que o parâmetro reason (se fornecido) esteja formatado corretamente
  2. Preparação da Transição de Modo:

    • Empacota a solicitação de mudança de modo com o motivo fornecido
    • Apresenta a solicitação de mudança ao usuário para aprovação
  3. Ativação do Modo (Após Aprovação do Usuário):

    • Atualiza a interface do usuário para refletir o novo modo
    • Ajusta as ferramentas disponíveis com base na configuração do grupo de ferramentas do modo
    • Aplica o prompt e o comportamento específicos do modo
    • Aplica um atraso de 500ms para permitir que a alteração entre em vigor antes de executar a próxima ferramenta
    • Impõe quaisquer restrições de arquivo específicas do modo
  4. Continuação:

    • Prossegue com a tarefa usando as capacidades do novo modo
    • Retém o contexto relevante da interação anterior

Associação de Grupo de Ferramentas

A ferramenta switch_mode pertence ao grupo de ferramentas "modos", mas também está incluída na lista de ferramentas "sempre disponíveis". Isso significa:

  • Ela pode ser usada em qualquer modo, independentemente dos grupos de ferramentas configurados do modo
  • Está disponível juntamente com outras ferramentas principais como ask_followup_question e attempt_completion
  • Permite transições de modo a qualquer momento em um fluxo de trabalho quando os requisitos da tarefa mudam

Estrutura do Modo

Cada modo no sistema tem uma estrutura específica:

  • slug: Identificador único para o modo (por exemplo, "code", "ask")
  • name: Nome de exibição para o modo (por exemplo, "Código", "Pergunta")
  • roleDefinition: A função especializada e as capacidades do modo
  • customInstructions: Instruções opcionais específicas do modo que orientam o comportamento
  • groups: Grupos de ferramentas disponíveis para o modo com restrições opcionais

Capacidades do Modo

Os modos principais fornecem estas capacidades especializadas:

  • Modo Code: Focado em tarefas de codificação com acesso total às ferramentas de edição de código
  • Modo Architect: Especializado para design de sistema e planejamento de arquitetura, limitado a editar apenas arquivos markdown
  • Modo Ask: Otimizado para responder a perguntas e fornecer informações
  • Modo Debug: Equipado para diagnóstico e resolução sistemática de problemas
  • Modo Orchestrator: Um orquestrador de fluxo de trabalho estratégico que coordena tarefas complexas, delegando-as aos modos especializados apropriados

Modos Personalizados

Além dos modos principais, o sistema suporta modos personalizados específicos do projeto:

  • Modos personalizados podem ser definidos com grupos de ferramentas específicos habilitados
  • Eles podem especificar definições de função e instruções personalizadas
  • O sistema verifica os modos personalizados primeiro antes de recorrer aos modos principais
  • As definições de modo personalizado têm precedência sobre os modos principais com o mesmo slug

Restrições de Arquivo

Diferentes modos podem ter restrições de tipo de arquivo específicas:

  • Modo Arquiteto: Só pode editar arquivos que correspondem à extensão .md
  • A tentativa de editar tipos de arquivo restritos resulta em um FileRestrictionError
  • Essas restrições ajudam a impor a separação adequada de preocupações entre os modos

Exemplos de Quando Usado

  • Ao discutir um novo recurso, o AI Cockpit Reasoning muda do modo Pergunta para o modo Arquiteto para ajudar a projetar a estrutura do sistema.
  • Após concluir o planejamento da arquitetura no modo Arquiteto, o AI Cockpit Reasoning muda para o modo Código para implementar os recursos projetados.
  • Ao encontrar bugs durante o desenvolvimento, o AI Cockpit Reasoning muda do modo Código para o modo Depuração para solução sistemática de problemas.

Exemplos de Uso

Mudando para o modo Code para implementação:

<switch_mode>
<mode_slug>code</mode_slug>
<reason>Preciso implementar a funcionalidade de login com base na arquitetura que discutimos</reason>
</switch_mode>

Mudando para o modo Architect para design:

<switch_mode>
<mode_slug>architect</mode_slug>
<reason>Preciso projetar a arquitetura do sistema antes da implementação</reason>
</switch_mode>

Mudando para o modo Debug para solução de problemas:

<switch_mode>
<mode_slug>debug</mode_slug>
<reason>Preciso diagnosticar sistematicamente o erro de autenticação</reason>
</switch_mode>

Mudando para o modo Ask para obter informações:

<switch_mode>
<mode_slug>ask</mode_slug>
<reason>Preciso responder a perguntas sobre o recurso implementado</reason>
</switch_mode>

Mudando para o modo Orchestrator para melhor delegação de tarefas:

<switch_mode>
<mode_slug>orchestrator</mode_slug>
<reason>preciso delegar as tarefas para o modo certo</reason>
</switch_mode>