Recursos

Subagents

Aprende como o Bob usa subagents para lidar com tarefas focadas e autónomas em contextos isolados sem poluir a conversa principal.

O que são subagents?

Um subagent é um agente independente que o Bob pode spawn para lidar com uma tarefa focada e autónoma. Executa no seu próprio context window isolado, realiza o trabalho atribuído e devolve um resumo dos resultados à conversa principal.

Os subagents são úteis para trabalhos que de outra forma adicionariam grandes quantidades de conteúdo irrelevante à conversa em curso — por exemplo, explorar profundamente uma secção de um codebase para recolher informação específica antes de o Bob continuar com a tarefa principal.

Como funcionam os subagents

Quando o Bob faz spawn de um subagent:

  1. É criado um novo agente independente com o seu próprio context window.
  2. O Bob passa-lhe uma descrição da tarefa focada a executar.
  3. É-te pedido que aproves o spawn antes de começar. O Bob aguarda até confirmares.
  4. O subagent executa a tarefa usando os tools disponíveis.
  5. O subagent devolve um resumo das suas descobertas ao Bob.
  6. O Bob usa esse resumo para continuar a conversa principal.

O subagent corre separadamente da conversa principal. Não partilha estado, ficheiros ou resultados de tools com o Bob a não ser que o Bob os passe explicitamente na descrição.

Tipos de subagents

Existem dois tipos de subagents, cada um adequado para tarefas diferentes:

TipoDescriçãoMelhor para
exploreExploração de codebase só de leitura, corre num modelo mais levePesquisar e resumir código, encontrar ficheiros relevantes, compreender a estrutura
generalAcesso completo a tools, corre no modelo predefinidoQualquer tarefa autónoma que requeira leituras, escritas ou comandos

Contexto e histórico de conversa

Por defeito, um subagent não vê o histórico da conversa pai. Isto mantém o seu contexto leve e focado na tarefa em mãos.

Quando um subagent precisa de compreender decisões anteriores, restrições ou preferências expressas anteriormente na conversa, o Bob pode definir fork_context: true para passar o histórico da conversa ao subagent.

Restrições de modo

O modo em que estás a trabalhar controla quais os tipos de subagents que o Bob pode spawn. Alguns modos permitem todos os tipos de subagents; outros restringem o spawn a tipos específicos ou proíbem-no completamente. Se um spawn de subagent não for permitido pelo modo ativo, o Bob completará o trabalho diretamente sem fazer spawn.

Quando o Bob usa subagents

O Bob usa subagents com moderação. O padrão é sempre fazer o trabalho diretamente sem spawn de um subagent. Um subagent só é considerado quando todas as seguintes condições são verdadeiras:

  • A tarefa é claramente autónoma e apenas é necessário um resumo de volta.
  • Adicionaria conteúdo irrelevante significativo ao contexto principal.
  • Não pode ser realizada com uma ou duas chamadas diretas a tools.

O Bob não usa subagents para:

  • Leituras simples de ficheiros ou pesquisas rápidas.
  • Operações de tool único.

Painel de subagents paralelos

Quando múltiplos subagents são executados ao mesmo tempo — por exemplo, durante um fluxo de trabalho que gera vários agentes especializados em paralelo — são agrupados num único painel recolhível no chat.

O cabeçalho do painel mostra estatísticas agregadas de todos os subagents em execução:

  • Número de subagents concluídos do total
  • Total de ferramentas usadas em todos os subagents
  • Uso de tokens combinado, custo e tempo decorrido
  • Uma contagem de quaisquer chamadas de ferramentas falhadas

Expande o painel para ver cada subagent individualmente. Cada entrada individual pode ser expandida ainda mais para inspecionar as suas chamadas de ferramentas. Se um subagent encontrar erros de ferramentas, a contagem de falhas é mostrada tanto no cabeçalho agregado como na entrada individual.

  • Tarefas onde o contexto relevante já está disponível.

Subagents vs. subtasks

Subagents e subtasks são conceitos relacionados mas distintos:

SubagentSubtask
VisibilidadeCorre silenciosamente em segundo planoAparece na UI com o seu próprio breadcrumb e conversa
InteraçãoNão interativo — devolve apenas um resumoTotalmente interativo — podes acompanhar o progresso e continuar a conversa
PropósitoRecolher informação ou completar trabalho isolado sem poluir o contexto principalLidar com trabalho suficientemente complexo para beneficiar de rastreamento dedicado e um thread separado
SaídaResumo devolvido ao BobThread de conversa independente

Usa subagents para recolha de informação em segundo plano. Usa subtasks para trabalho complexo que beneficia de visibilidade e uma conversa dedicada.

Configurar o comportamento dos subagents

Podes controlar aquilo em que um subagent se foca, como formata o seu resultado e quais tools pode usar criando um ficheiro de persona de agente em .bob/agents/. Os ficheiros de persona dão a um subagent um papel definido e um conjunto de restrições – por exemplo, um revisor de código que produz uma tabela de resultados ordenada por gravidade e tem instruções explícitas para não sugerir correções.

Para instruções de configuração e exemplos, consulta Personas de agentes.

Como está este tópico?