Skip to main content
A tool delegate_subagent permite ao agente principal delegar uma sub-tarefa focada para uma instância separada do loop ReAct, com janela de contexto própria. O subagente executa, gasta seus próprios tokens e retorna apenas o resumo final — os tool calls intermediários e os outputs brutos ficam isolados na sub-sessão e não poluem o contexto do pai. Esse padrão é o que projetos como o Claude Code chamam de “Task” subagents, e resolve um problema clássico: análises sobre payloads grandes (Prometheus /metrics, logs verbosos, busca exaustiva no repo) que acabariam consumindo dezenas de milhares de tokens só com dados brutos no histórico do agente principal.

Quando usar


Sintaxe

A tool é exposta como delegate_subagent no native function calling e como subcomando delegate do @coder no formato XML:

Parâmetros


O que o pai recebe

A saída devolvida ao agente principal é a string final do subagente, prefixada por um cabeçalho com metadados de telemetria:
A saída é truncada pelo mesmo sistema de orçamento de resultados que aplica aos outros tools — então mesmo que o subagente seja prolixo, o impacto no contexto do pai fica limitado. A truncagem é recuperável: conteúdo acima do limite inline é persistido num arquivo de overflow result_*.txt (referenciado inline) e output comprimido reversivelmente carrega marcadores <<ccr:KEY>> que o pai — ou o próprio subagente — pode expandir com a tool recall_output.

Limites e proteções

A profundidade limitada protege contra recursão patológica (subagente que delega para subagente que delega…). A primeira chamada do agente principal é depth 0; cada delegate_subagent aninhado incrementa.
O subagente herda o mesmo cliente LLM e modelo do pai. Não há roteamento por modelo nessa tool — para isso, use o sistema de skill model hints ou despache para um agent customizado via <agent_call>.

Tools allowlist

Por padrão, o subagente recebe um conjunto read-only seguro:
Para conceder tools de escrita ou execução, você precisa explicitamente definir read_only: false e listar quais quer:
A combinação read_only: true + tools: [...] com algum tool de escrita resulta em bloqueio na hora da execução — read_only tem precedência.

Diferenças de outras formas de delegação


Exemplo completo — análise de métricas

Cenário: o usuário pede para diagnosticar um pico de memória. Sem delegate_subagent, o agente faria web_fetch no /metrics, receberia 50K chars no contexto e gastaria tokens analisando o output bruto turno após turno. Com delegação:
O subagente executa o webfetch (já com filter aplicado), faz uma segunda passada se precisar, e devolve um resumo de ~500 chars. O agente principal entrega esse resumo ao usuário sem ter visto o payload bruto.

Próximos Passos

Multi-Agent

Para tarefas paralelas em vez de delegação isolada.

Session Workspace

O scratch dir compartilhado entre pai e subagente.

Resultados de Tools

Como o output do subagente é truncado se for grande demais.

Web Tools

Filtros do @webfetch que combinam com delegação.