Meu Orquestrador de Agentes consumiu de 1 a 2 milhões de tokens Opus por tarefa.

Como o custo explodiu

O orquestrador foi construído para o Claude Code e utilizava uma hierarquia de subagentes. Cada subagente herdava as configurações do pai, executava seu próprio prompt e alimentava o resultado de volta no loop até que um revisor declarasse a saída como "limpa". A ferramenta concluía as tarefas, mas o preço era astronômico.

Três "taxas" ocultas multiplicaram a contagem de tokens:

  • Taxa de modelo – Os subagentes nunca especificavam um modelo, então recorriam por padrão ao Opus, o nível mais caro. Uma operação minúscula que caberia em um modelo mais barato (Haiku ou Sonnet) era cobrada com as tarifas do Opus.
  • Taxa de cache – O cache de prompt só reutiliza correspondências exatas byte a byte. Como cada subagente adicionava instruções personalizadas, cada chamada forçava uma gravação de cache frio (cold cache). O cache do pai não podia ser reutilizado, desperdiçando a economia que um cache compartilhado normalmente proporciona.
  • Taxa de loop – A regra de "loop até estar limpo" mantinha o processo vivo enquanto um revisor encontrasse qualquer falha. Sem um limite rígido, o loop rodava até que o modelo parasse.

Juntos, esses multiplicadores transformaram um punhado de linhas de código em uma avalanche de tokens.

Por que a regra de orçamento no prompt falhou

O design original tentou conter os gastos incorporando uma regra de orçamento diretamente no prompt do sistema. Em teoria, dizer ao modelo "fique abaixo de X tokens" deveria ter limitado o uso. Na prática, uma regra baseada em prompt é apenas uma preferência. À medida que a sessão cresce, o modelo comprime o contexto e pode descartar ou ignorar essas instruções completamente. O resultado: o modelo se comportou como se a regra nunca tivesse existido.

Movendo a aplicação da regra do prompt para o código

O redesenho removeu a lógica de orçamento do prompt e a colocou em um sistema de hooks determinísticos que o modelo não pode sobrescrever.

  1. Seleção explícita de modelo – Cada despacho de subagente agora exige uma escolha concreta de modelo (Haiku, Sonnet ou Opus). A herança silenciosa acabou, então tarefas baratas permanecem baratas.
  2. Proteções rígidas via um hook PreToolUse – Antes de qualquer ferramenta ser executada, o hook verifica:
    • O número de despachos já realizados na sessão.
    • Se o modelo escolhido atende a um nível mínimo (evitando o uso acidental do Opus).
    • Um número máximo de iterações de loop, após o qual o processo é abortado.

Se qualquer proteção for acionada, o código aborta o subagente; o modelo de linguagem não tem como argumentar para continuar.

O que isso significa para os desenvolvedores

Qualquer sistema que imponha limites de gastos, políticas de segurança ou limites em comandos destrutivos deve tratar essas restrições como código, não como orientação conversacional. Um prompt pode ser sobrescrito, ignorado ou perdido na compressão interna do modelo. O código, por outro lado, é executado de forma determinística e pode ser auditado.