Pular para o conteúdo principal
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.

Como os subagentes funcionam

Quando o agente cria um subagente, ele seleciona um dos perfis de subagente disponíveis e escolhe se o subagente deve ser executado em primeiro plano ou em segundo plano. Os subagentes podem ser executados em dois modos:

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.

Custo dos subagentes

Os subagentes funcionam como suas próprias sessões de agente, cada um com sua própria janela de contexto e chamadas de inferência, portanto geram custos independentemente do agente principal. O gasto do agente principal cobre apenas o próprio trabalho; cada subagente que ele cria adiciona seu próprio uso além disso.
Nos planos baseados em prompt, cada subagente consome créditos adicionais, assim como uma mensagem do usuário. O número de créditos depende do modelo que o subagente utiliza, portanto tarefas que geram vários subagentes (ou os aninham) consomem mais créditos.
Como o custo aumenta com o número de subagentes, tarefas que se desdobram em muitos subagentes (ou os aninham) custam mais. Use subagentes de forma intencional quando o paralelismo ou um contexto mais focado justificarem o gasto adicional.

Qual modelo um subagente usa?

Os subagentes não executam todos no modelo que você escolheu no seletor de modelos. Cada perfil define de onde vem seu modelo:
subagent_general herda o modelo do agente principal. Se você estiver executando um modelo premium, cada subagente geral também será executado nesse modelo premium, com sua própria janela de contexto e chamadas de inferência — portanto, uma tarefa que se divide em vários subagentes gerais multiplica seus custos. Peça um subagente de exploração (ou um subagente personalizado com um model: mais barato fixado) quando o trabalho for de pesquisa, e não de alterações de código.
O modelo padrão de subagente não é um nome de modelo fixo — ele é resolvido por um roteador no momento em que o subagente é criado, e um administrador pode aplicar um override (veja abaixo). Com a configuração padrão do roteador de subagentes, ele é resolvido para SWE-1.6 (uma variante mais rápida ou mais lenta do SWE-1.6, dependendo do nível do seu plano).
No momento, a CLI não indica no painel de subagentes qual modelo um subagente em execução está usando.

Influenciando o modelo

Não há como especificar um modelo para um subagente em um prompt — a ferramenta run_subagent aceita um perfil, não um modelo. Você tem duas opções:
  1. Peça um perfil em linguagem natural. Solicitar um subagente de exploração (“pesquise como a autenticação funciona em um subagente de exploração”) mantém o trabalho no modelo padrão barato do subagente. Pedir alterações no código direciona você para subagent_general, que é executado no modelo selecionado.
  2. Fixe um modelo em um perfil de subagente personalizado. model: em AGENT.md é a única forma de executar um subagente com capacidade de escrita em um modelo diferente do agente pai. Uma skill executada em um subagente também pode definir model: no frontmatter para aplicar override ao modelo do perfil.

Controles do Enterprise

Os administradores podem controlar qual modelo os subagentes usam — e se os subagentes serão executados ou não — por meio da configuração Modelo padrão de subagente nas configurações da org/do Enterprise. Essa configuração controla o modelo de subagent_explore e de subagentes personalizados que não fixam um model: — ela não altera subagent_general, que sempre segue o modelo do agente principal.
Configuração de modelo padrão de subagente
Ela tem três opções:

Perfis de subagente

Cada subagente usa um perfil específico que determina suas capacidades. Há dois perfis nativos:
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. Veja Qual modelo um subagente usa? para saber como cada perfil escolhe seu modelo — os dois perfis não usam o mesmo modelo.
Você também pode definir seus próprios perfis personalizados de subagente — veja Subagentes personalizados abaixo.

Permissões de ferramentas

O funcionamento das permissões de ferramentas depende de o subagente estar sendo executado em primeiro plano ou em segundo plano:
  • 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.
Se um subagente em segundo plano falhar porque uma ferramenta obrigatória foi negada, você pode retomá-lo em primeiro plano para aprovar as permissões necessárias. Veja Retomando subagentes abaixo.

Monitoramento de subagentes

Indicador de subagente

Quando houver subagentes em segundo plano em execução, um indicador aparecerá abaixo do campo de entrada mostrando o status deles. Você pode ir até o indicador pressionando no campo de entrada e, em seguida, Enter para abrir o painel de subagentes. Quando um subagente em primeiro plano estiver em execução, o indicador giratório exibirá “Subagente em execução · Ctrl+B para executar em segundo plano”.

Painel de subagentes

O painel de subagentes permite visualizar e gerenciar todos os subagentes ativos e concluídos. Ele mostra o perfil, o título, o status, o tempo transcorrido e o número de chamadas de ferramenta de cada subagente.

Alternar entre primeiro plano e segundo plano

Você pode mover subagentes entre primeiro plano e segundo plano enquanto eles estão em execução:
  • 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

Você pode cancelar um subagente em execução de duas maneiras:
  1. No painel de subagentes: Abra o painel e pressione x no subagente em execução.
  2. Subagente em primeiro plano: Pressione Ctrl+C ou Esc para cancelar o subagente em primeiro plano que está em execução.

Retomando subagentes

Subagentes cancelados, que falharam ou já concluídos podem ser retomados com um novo prompt. Você pode pedir ao agente para retomar um subagente, e ele continuará de onde parou. Subagentes retomados sempre são executados em primeiro plano, para que você possa aprovar quaisquer chamadas de ferramentas que tenham sido negadas anteriormente. Isso é especialmente útil quando:
  • 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

Por padrão, subagentes não podem criar seus próprios subagentes — apenas o agente raiz pode. As ferramentas de subagente (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 aninhados podem aumentar significativamente o custo. Cada nível de aninhamento gera agentes adicionais com suas próprias janelas de contexto e chamadas de inferência. Use esse recurso com critério.

Subagentes personalizados

Os subagentes personalizados são experimentais. O formato, o comportamento e as opções de configuração podem mudar em versões futuras.
Além dos perfis nativos 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. Esta também é a forma de obter um subagente com capacidade de escrita que não roda no seu modelo principal (possivelmente caro): atribua a ele um model: e as ferramentas de que precisa.

Criando um subagente personalizado

Subagentes personalizados são definidos como arquivos AGENT.md dentro de um diretório nomeado em agents/. O nome do diretório se torna o identificador do perfil.
Também é compatível com:

Formato do AGENT.md

Um arquivo AGENT.md usa o mesmo frontmatter YAML das skills, seguido do prompt de sistema do subagente:

Campos do frontmatter

Como os subagentes personalizados são usados

Depois de definidos, os perfis de subagente personalizados aparecem ao lado dos perfis nativos. O agente vê uma descrição de cada perfil disponível e escolhe o mais apropriado ao iniciar um subagente. Você também pode pedir ao agente para usar um perfil específico pelo nome (por exemplo, “faça a revisão deste código usando o subagente reviewer”). Perfis de subagente personalizados que entram em conflito com o nome de um perfil nativo (por exemplo, subagent_explore, subagent_general) são ignorados, com um aviso.

Importação de Outras Ferramentas

Subagentes personalizados também podem ser importados do formato de agente do Claude Code:
Os arquivos de agente do Claude Code usam tools em vez de allowed-tools no frontmatter. Ambos os formatos têm suporte automático.

Exemplos

Agente de Pesquisa em Modo Somente Leitura

Agente de execução de testes