Os subagentes permitem que o agente principal crie agentes independentes para lidar com subtarefas. Um subagente compartilha as ferramentas e o contexto da base de código com o agente pai, mas opera em sua própria linha de conversa — ele não herda o histórico de conversa do agente pai. Isso é útil para tarefas que se beneficiam de um trabalho focado e independente — como explorar uma base de código, executar testes ou implementar uma funcionalidade em paralelo. Você pode pedir explicitamente ao agente para usar subagentes (por exemplo, “pesquise como a autenticação funciona em um subagente”), ou o agente pode decidir delegar por conta própria quando determinar que uma tarefa se beneficiaria de trabalho independente. Em nossas medições, subagentes tanto melhoram o desempenho geral na programação quanto reduzem o custo.Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Como os subagentes funcionam
Primeiro plano
É executado inline na sua sessão. O agente principal pausa e espera o subagente terminar antes de continuar. Você pode aprovar ou negar chamadas de ferramenta à medida que elas aparecem.
Segundo plano
É executado em paralelo enquanto o agente principal continua trabalhando. O agente principal é notificado automaticamente quando o subagente é concluído. Chamadas de ferramenta não aprovadas são negadas automaticamente.
Você não vê diretamente a saída bruta do subagente. Quando um subagente termina, o agente principal lê o resultado e resume para você os principais resultados e ações.
Perfis de subagente
| Perfil | Descrição | Acesso às ferramentas |
|---|---|---|
subagent_explore | Exploração e pesquisa da base de código em modo somente leitura | Ferramentas da base de código em modo somente leitura, além de pesquisa na web; não pode editar arquivos nem acessar URLs arbitrárias (independentemente de estar em primeiro plano ou em segundo plano) |
subagent_general | Tarefas de uso geral, incluindo alterações no código | Acesso total às ferramentas (primeiro plano) ou apenas às ferramentas pré-aprovadas (segundo plano) |
O agente escolhe automaticamente o perfil adequado com base na tarefa. Os subagentes de exploração são ideais para pesquisa e compreensão, enquanto os subagentes gerais podem fazer alterações.
Permissões de ferramentas
- Subagentes em primeiro plano se comportam como o agente principal — você recebe solicitações para aprovar ou negar chamadas de ferramentas, como de costume.
- Subagentes em segundo plano herdam todas as permissões de ferramentas que você já concedeu durante a sessão atual. Qualquer ferramenta que não tenha sido pré-aprovada é negada automaticamente. Subagentes em segundo plano não podem solicitar novas permissões.
Monitoramento de subagentes
Indicador de subagente
Painel de subagentes
Alternar entre primeiro plano e segundo plano
- Mover um subagente em primeiro plano para segundo plano: Pressione Ctrl+B enquanto um subagente em primeiro plano estiver em execução. O subagente continua trabalhando em segundo plano, e o agente pai é retomado.
- Trazer um subagente em segundo plano para primeiro plano: Abra o painel de subagentes e pressione f em um subagente em segundo plano que esteja em execução. A saída do subagente será exibida inline.
Quando você move um subagente para segundo plano, a chamada de ferramenta do agente pai já retornou, então o agente pai continua de forma independente. O resultado do subagente não volta para o pipeline atual do agente pai, mas você será notificado quando ele for concluído.
Cancelando subagentes
- No painel de subagentes: Abra o painel e pressione x no subagente em execução.
- Subagente em primeiro plano: Pressione Ctrl+C ou Esc para cancelar o subagente em primeiro plano que está em execução.
Retomando subagentes
- Um subagente em segundo plano falhou porque o uso de uma ferramenta obrigatória foi negado — retome-o em primeiro plano para conceder as permissões necessárias.
- Um subagente foi concluído, mas você quer que ele faça um trabalho complementar com base em seus resultados.
- Um subagente foi cancelado prematuramente e você quer que ele continue.
Profundidade de aninhamento
run_subagent e read_subagent) ficam desativadas dentro de um subagente para evitar aninhamento sem limites.
No entanto, perfis personalizados de subagente podem optar por permitir criação aninhada definindo o campo max-nesting no frontmatter. Esse valor faz override da profundidade máxima padrão, permitindo que subagentes criem filhos desde que a árvore permaneça dentro desse limite.
Por exemplo, max-nesting: 3 permite a seguinte cadeia:
Subagentes personalizados
subagent_explore e subagent_general, você pode definir seus próprios perfis de subagente personalizados. Os subagentes personalizados permitem criar agentes especializados com seus próprios prompts de sistema, restrições de ferramentas, overrides de modelo e permissões — adaptados a tarefas específicas no seu fluxo de trabalho.
Criando um subagente personalizado
AGENT.md dentro de um diretório nomeado em agents/. O nome do diretório se torna o identificador do perfil.
- Específico do projeto
- Global
Formato do AGENT.md
AGENT.md usa o mesmo frontmatter YAML das skills, seguido do prompt de sistema do subagente:
Campos do frontmatter
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
name | string | nome do diretório | Identificador do perfil (não deve entrar em conflito com perfis nativos) |
description | string | nenhum | Exibido ao agente ao selecionar um perfil |
model | string | modelo padrão do subagente | Substitui o modelo usado por este subagente |
allowed-tools | lista | todas as ferramentas | Restringe quais ferramentas o subagente pode usar |
permissions | objeto | herdado | Overrides de permissão (allow, deny, ask) |
max-nesting | inteiro | nenhum | Substitui a profundidade máxima de aninhamento, permitindo que este subagente crie seus próprios subagentes |
Como os subagentes personalizados são usados
subagent_explore, subagent_general) são ignorados, com um aviso.
Importação de Outras Ferramentas
| Origem | Padrão de arquivo |
|---|---|
.claude/agents/*.md | Cada arquivo .md se torna um perfil de subagente |
Os arquivos de agente do Claude Code usam
tools em vez de allowed-tools no frontmatter. Ambos os formatos têm suporte automático.