Phase 15 - Lesson 13
Orçamentos de Ação, Limites de Iteração e Governadores de Custo
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
O custo mensal de LLM de um agente de e-commerce de médio porte saltou de
.200 para $4.800 após sua equipe ativar a habilidade de "order-tracking". Isso não é um bug de precificação. Isso é um agente que encontrou um novo loop e continuou gastando dentro dele. O Agent Governance Toolkit da Microsoft (2 de abril de 2026) codifica a defesa contra essa classe:max_tokenspor requisição, orçamentos de tokens e dólares por tarefa, limites por dia/mês, limites de iteração, roteamento de modelo em camadas, cache de prompt, janelamento de contexto, pontos de verificação HITL em ações caras, interruptores de desligamento (kill switches) em caso de violação de orçamento. O Claude Code Agent SDK da Anthropic fornece as mesmas primitivas sob nomes diferentes. Limites de velocidade financeira — por exemplo, cortar o acesso se o gasto for maior que $50 em 10 minutos — capturam loops mais rapidamente do que os limites mensais.Tipo: Aprender Linguagens: Python (biblioteca padrão, simulador de governador de custos em camadas) Pré-requisitos: Fase 15 · 10 (Modos de permissão), Fase 15 · 12 (Execução durável) Tempo: ~60 minutos
O Problema
Os agentes autônomos gastam dinheiro real a cada turno. A saída ruim de um chatbot é uma resposta ruim; o loop ruim de um agente é uma conta a pagar. O termo documentado pelo setor para esse modo de falha é "Denial of Wallet" (Negação de Carteira) — o agente continua raciocinando, continua chamando ferramentas, continua faturando, e nada o impede porque nada foi projetado para isso.
A solução não é um único número. É uma pilha de limites em diferentes escalas de tempo e granularidades: por requisição, por tarefa, por hora, por dia, por mês. Uma pilha bem projetada captura um loop fora de controle em minutos, um vazamento lento em poucas horas e uma versão ruim em um dia. Essa mesma pilha garante a existência de um orçamento quando o agente é de longo prazo (long-horizon) e autônomo.
Esta é uma lição de engenharia: a matemática é trivial, a disciplina é onde as equipes falham. A lista de limites abaixo é toda nomeada no Agent Governance Toolkit da Microsoft ou na documentação do Claude Code Agent SDK da Anthropic.
O Conceito
A pilha do governador de custo
max_tokenspor requisição. Simples. Impede que qualquer chamada única gere uma conclusão ilimitada.- Orçamento de tokens por tarefa. Ao longo de toda a execução, não exceda N tokens. Parada obrigatória no limite.
- Orçamento em dólares por tarefa. O mesmo que tokens, mas em moeda corrente.
max_budget_usdno Claude Code.- Limite de chamadas por ferramenta. Não mais que N chamadas
WebFetch, N chamadasshell_exec, etc.- Limite de iteração (
max_turns). Total de iterações do loop do agente; evita loops de raciocínio infinitos.- Limite por minuto / por hora / por dia / por mês. Janelas deslizantes. Captura vazamentos em diferentes escalas de tempo.
- Limite de velocidade financeira. Por exemplo, "se o gasto exceder $50 em 10 minutos, corte o acesso". Captura o consumo baseado em loop antes que os limites mensais sejam acionados.
- Roteamento de modelo em camadas. Usa como padrão um modelo menor; escala para um maior apenas quando um classificador julgar que a tarefa justifica isso.
- Cache de prompt. O prompt do sistema e o contexto estável são armazenados no cache do provedor; o custo em tokens de reenvio é próximo de zero.
- Janelamento de contexto. Compactação / sumarização para manter o contexto ativo abaixo de um limite; redução direta do custo de tokens.
- Pontos de verificação HITL em ações caras. Antes de uma ação que se sabe ser cara (chamada de ferramenta longa, download grande, atualização dispendiosa de modelo), exige a aprovação de um humano.
- Interruptor de desligamento (kill switch) em caso de violação de orçamento. A sessão é abortada quando qualquer limite é atingido. O limite é registrado; requer um caminho separado para reativação.
Por que a pilha, e não apenas um limite
Um único limite mensal só captura um agente fora de controle depois que a carteira já se esgotou. Um único limite por requisição não captura nada no nível da sessão. Diferentes modos de falha exigem diferentes escalas de tempo:
- Loop fora de controle (agente travado em uma tentativa de repetição a cada 5 segundos): capturado pelo limite de velocidade.
- Vazamento lento (agente fazendo ~2x o trabalho esperado por tarefa): capturado pelo limite diário.
- Versão ruim (nova versão usa 5x mais tokens): capturado pelo limite semanal / mensal.
- Pico legítimo (demanda real, não um bug): capturado pelo limite de hora / dia com um log claro.
Superfície de orçamento do Claude Code
O Claude Code Agent SDK expõe (documentos públicos):
max_turns— limite de iterações.max_budget_usd— limite em dólares; a sessão é abortada em caso de violação.allowed_tools/disallowed_tools— lista de permissões e lista de bloqueio de ferramentas.- Pontos de gancho (hooks) antes do uso de ferramentas para contabilidade de custos personalizada.
Combine com a escada de modos de permissão (Lição 10). Uma sessão em
autoModesemmax_budget_usdé autonomia sem governança. A Anthropic define explicitamente que o Auto Mode requer controles de orçamento; o classificador é ortogonal ao custo.Lei de IA da UE, OWASP Agentic Top 10
O Agent Governance Toolkit da Microsoft cobre o OWASP Agentic Top 10 e os requisitos do Artigo 14 da Lei de IA da UE (supervisão humana). Para produção na UE, o registro de logs e a aplicação de limites não são opcionais.
O caso observado de
.200 → $4.800O caso real nos documentos da Microsoft: um agente de e-commerce cujo custo mensal triplicou após a adição de uma nova ferramenta. A ferramenta permitia que o agente consultasse (poll) o status do pedido durante cada sessão. Sem detecção de loop. Sem limite por ferramenta. Sem alerta sobre crescimento semana a semana. A solução foi um limite por ferramenta mais um alerta de crescimento diário. Este é um modelo: cada nova superfície de ferramenta é um novo loop potencial; cada nova ferramenta precisa de seu próprio limite e de seu próprio alerta.
Use
code/main.pysimula a execução de um agente com e sem uma pilha de governadores de custo em camadas. O agente simulado entra em um loop de consulta (polling) após alguns turnos; a pilha em camadas o captura dentro da janela de velocidade, enquanto um único limite mensal não seria acionado até dias depois.Entregue
outputs/skill-agent-budget-audit.mdauditoria a pilha de governadores de custo de uma implantação de agente proposta e sinaliza camadas ausentes.Exercícios
Execute
code/main.py. Confirme que o limite de velocidade é acionado antes do limite de iteração em uma trajetória de loop de consulta (polling). Agora desative o limite de velocidade e meça quanto o agente "gasta" antes que o limite de iteração o capture.Projete um conjunto de limites por ferramenta para um agente de navegador (Lição 11). Qual ferramenta precisa do limite mais rigoroso? Qual ferramenta pode ser executada sem limites, sem riscos?
Leia a documentação do Agent Governance Toolkit da Microsoft. Liste todos os tipos de limite indicados no kit de ferramentas. Mapeie cada um para um dos modos de falha (loop fora de controle, vazamento lento, versão ruim, pico).
Precifique uma execução não supervisionada durante a noite para uma tarefa realista (por exemplo, "fazer a triagem de 50 issues em um repositório"). Defina
max_budget_usdcomo o dobro de sua estimativa inicial. Justifique o fator de 2x.O
max_budget_usddo Claude Code é acionado no custo agregado da sessão. Projete um limite de velocidade complementar que você aplicaria externamente. O que ativa a interrupção e como seria a reativação?Termos-Chave
Termo O que as pessoas dizem O que realmente significa Denial of Wallet "Conta fora de controle" Loop do agente gerando gastos sem limite para pará-lo max_tokens "Limite por requisição" Teto para o tamanho de uma única conclusão max_turns "Limite de iteração" Teto para iterações do loop do agente em uma sessão max_budget_usd "Interruptor de desligamento em dólares" Limite de custo da sessão; aborta em caso de violação Velocity limit "Limite de taxa" Limite de gastos por janela curta (por exemplo, $50 / 10 min) Tiered routing "Modelo menor primeiro" Padrão de modelo barato; escala somente quando o classificador justificar Prompt caching "Prompt do sistema em cache" O cache do provedor reduz o custo de tokens de reenvio a quase zero HITL checkpoint "Portão de aprovação humana" Confirmação humana necessária antes de uma ação cara Leituras Adicionais
- Anthropic Claude Code Agent SDK — loop do agente e orçamentos —
max_turns,max_budget_usd, listas de permissões de ferramentas.- Microsoft Agent Framework — humano no circuito (human-in-the-loop) e governança — pontos de verificação do governador de custos.
- Anthropic — Visão geral dos Claude Managed Agents — controles de custo do lado do provedor.
- Anthropic — Cache de prompt (documentos da API do Claude) — mecânica de cache.
- Anthropic — Medindo a autonomia do agente na prática — perfil de custo para agentes de longo prazo (long-horizon).