Subagentes do DeepSeek Harness: delegação como multiplicador de custo
Updated August 16, 2026 · first published August 16, 2026
A forma mais rápida de multiplicar a conta de um agente é deixar agentes criarem agentes. Um pedido de usuário vira uma árvore, e a árvore não tem tamanho natural. Por isso o DeepSeek Harness não trata delegação como recurso, e sim como uma costura com limites explícitos.
Subagentes são uma costura, não algo embutido
A delegação passa por ctx.subagents. Ao contrário do executor de shell, que tem exatamente uma implementação, os provedores de subagente são registrados por nome e vários podem coexistir. A documentação lista seis transportes: criação in-process e fork (agentes comuns através do contexto do pai), uma ponte ACP para implantação remota, Codex, Claude Code e uma variante baseada em SDK.
Em termos de custo, isso significa que o preço de um filho depende de qual provedor o criou. Um agente forkado in-process e um remoto lançado por ponte ACP parecem iguais no código chamador e têm faturas completamente diferentes.
Dois modos de delegação, dois perfis de custo
| Modo | Formato | Característica de custo |
|---|---|---|
| Disparo único | Criar filho, enviar prompt, aguardar resultado, descartar | Limitado, atribuível ao turno do pai |
| Continuável | Sessão de fundo durável com uma ativação residente | Aberto; acumula entre turnos |
O disparo único resolve para um handle de execução com uma promessa de resultado terminal. Filhos continuáveis custam mais para manter: um gerenciador de continuação reserva a identidade, compõe o filho, ordena cada turno pela caixa de entrada do filho, e o provedor contribui apenas com os metadados de criação inicial. Ativações têm três estados: em execução, em espera (quiescente mas detendo ativações filhas incompletas) e liquidada. Uma mensagem sem ativação viva dispara retomada a frio a partir da sessão persistida.
Retomadas a frio são a linha que as pessoas esquecem. O estado é reidratado do log, então os tokens de entrada são proporcionais ao tamanho do log. Um filho longevo pouco acionado pode custar mais por mensagem do que um sempre ativo.
Capacidades falham alto, não em silêncio
O harness valida as capacidades pedidas contra o provedor e rejeita com erro tipado em vez de ignorar silenciosamente. As capacidades de início cobrem esquemas de saída, limites de profundidade, filtros de ferramentas e personas, e mapeiam um a um para as opções do pedido. Pedir algo que o provedor não suporta aparece na partida, não na fatura.
A profundidade tem teto, e o teto não se contorna
A profundidade de delegação é persistida no cabeçalho da sessão e um campo de runtime acompanha o maior valor, de modo que uma retomada a frio não consegue reduzi-la. O início é rejeitado se a profundidade derivada ultrapassar maxDepth ou os limites de inteiro seguro.
Um pai que cria três filhos, cada um criando outros três, transformou um pedido de usuário em treze agentes. Tetos de profundidade são a diferença entre uma ramificação que você dimensionou e uma que você descobriu.
Descobrir é barato, entregar é autoritativo
listChildren() devolve um corpus com preferência pelo vivo via aceleração de três níveis: cache de marca d'água, depois checkpoint de projeção, depois inspeção da persistência. listDescendants() percorre em pré-ordem e acrescenta posições de pai e profundidade. Nenhuma consulta registros de agentes, ativações ou provedores; a entrega de mensagens continua autoritativa. Para atribuição de custo isso importa: dá para enumerar a árvore barato e quando quiser.
Resultados carregam uma razão de parada
A saída é a última mensagem de assistente não vazia ou o fluxo de texto acumulado; a saída estruturada opcional é validada contra o esquema pedido. O stopReason é uma união extensível por fusão: completed, aborted, error, max-tokens, refusal. Tudo que não é completed significa saída parcial mapeada para resultados de ferramenta com erro: paga e incompleta.
O que medir
- Filhos por turno de pai e descendentes por pedido de usuário.
- Profundidade máxima observada contra o teto configurado.
- Fatia de filhos continuáveis retomados a frio, mais o tamanho do log na retomada.
- Distribuição das razões de parada: muita incidência de max-tokens ou error é trabalho pago e inacabado.
Related
- O que é DeepSeek Harness? Guia completo
- Tudo é um plugin: a arquitetura (EN)
- Limites de gasto no harness (EN)
- O log de sessão como registro de custos (EN)
Want this applied to your own LLM spend? FinOps LLM runs a free audit of your AI costs and shows where the savings are. Book free audit →