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 comodelegate_subagent no native function calling e como subcomando delegate do @coder no formato XML:
- Native (preferido)
- XML (/coder mode)
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: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.
Tools allowlist
Por padrão, o subagente recebe um conjunto read-only seguro:read_only: false e listar quais quer:
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. Semdelegate_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:
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.