cap_cost é o disjuntor
para isso: você cria um teto em centavos por run uma vez, e o gateway nega a
próxima chamada de ferramenta no momento em que o gasto acumulado de uma run o
cruza — antes de essa chamada chegar ao modelo ou à ferramenta.
Este é controle de custo de agente de IA aplicado no gateway, não parafusado
no seu loop de agente. Como cada veredito de firewall,
uma regra cap_cost vive numa política de workspace, vincula-se a uma chave, e
entra em vigor na próxima chamada sem redeploy.
1. O disjuntor de gasto por run
cap_cost é um veredito de regra que você cria com um campo extra —
cap_cost_cents, o teto de gasto da run em centavos de USD. Quando a regra
corresponde a uma chamada de ferramenta, o motor compara o gasto acumulado da
run de agente contra esse limite:
- Abaixo do limite → a chamada é permitida; a avaliação continua.
- Acima do limite → a chamada é negada, com um motivo nomeando o total da run versus o limite. Esse é o resultado terminal de disjuntor — a run não pode emitir outra chamada governada até uma run nova.
Escopo de run, com um fallback por requisição. Quando a requisição carrega um
id de run de agente, o teto se aplica ao gasto acumulado da run. Uma chamada sem
associação de run (ex.: um dispatch MCP puro sem sessão encaminhada) cai para uma
comparação por requisição em vez disso. De qualquer forma, o disjuntor dispara
antes de a chamada acima do orçamento ser despachada.
2. Um exemplo concreto
Limite qualquer run numa chave a $5,00 de gasto acumulado. Uma única regra wildcard faz isso —cap_cost_cents é 500 (centavos):
firewall_policy_id, ou torne-a o padrão do workspace, e cada run que essa chave
conduz agora está limitada.
Você pode dar escopo ao limite mais apertado que “cada ferramenta”. Estreite o
glob de nome de ferramenta para que apenas
uma família cara de chamadas conte para o disjuntor — ex.: cap_cost em
*.search para limitar a ramificação de busca na web enquanto deixa ferramentas
locais baratas sem medição.
3. Onde dispara — e onde não pode
cap_cost só faz sentido antes de uma chamada ser despachada — esse é o único
ponto onde parar a chamada ainda previne o gasto. Então ele está ativo nas duas
superfícies pré-dispatch e rejeitado nas
pós-dispatch:
| Superfície | cap_cost? |
|---|---|
inbound (ferramentas anunciadas) | Aplicado. |
mcp (dispatch de tools/call) | Aplicado. |
response (chamadas emitidas pelo modelo) | Rejeitado ao salvar — nada mais a parar. |
egress (destino outbound) | Rejeitado ao salvar — nada mais a parar. |
cap_cost fixada a response ou egress é recusada no momento de
salvar, então uma regra nunca pode aparecer como ativa e ainda assim ser
incapaz de negar. Deixe o stage vazio para cobrir ambas as superfícies
pré-dispatch, ou fixe-a em inbound / mcp.
4. Como é o disjuntor quando dispara
Uma chamada acima do orçamento é um deny de firewall normal:- No
inbound, o relay retorna HTTP 400 com o código de errofirewall_blocked. O block dispara antes da chamada ao modelo upstream, então não custa tokens de modelo, e é marcado como skip-retry — reexecutar a mesma chamada apenas dispararia o disjuntor de novo. - No
mcp, ela volta como um erro de ferramenta para que o modelo veja a rejeição e possa parar ou perguntar ao usuário, em vez de quebrar.
cap_cost: estimated run cost $5.40 exceeds cap $5.00, então um operador lendo o
feed de events vê exatamente por que o
disjuntor disparou.
Os events nunca carregam um
cap_cost literal. Você cria o veredito como
cap_cost, mas o motor o resolve para um allow ou deny concreto antes de
o evento ser registrado. O feed mostra o allow/deny que o agente de fato viu — o
teto de custo de run é o motivo, não o label do veredito. Isso espelha como os
vereditos resolvem.5. Faça o rollout com segurança
Porque um disjuntor disparado para uma run rigidamente, valide-o antes de aplicar. Ligue o shadow mode na política: a regracap_cost ainda avalia e um deny potencial é rebaixado para audit,
prefixado [shadow] would …. Observe o feed de events para confirmar que o
limite dispara onde você espera — e apenas onde você espera — depois desligue o
shadow mode para começar a aplicar.
Você também pode fazer dry-run de uma política contra uma chamada de amostra na
aba Test (um sandbox Developer+) para ver
o veredito resolvido e a regra correspondente antes que qualquer coisa dependa
dela.
6. Como se encaixa no resto do firewall
cap_cost é um veredito entre seis. Ele se combina naturalmente com os outros
controles na mesma política:
Vereditos
O conjunto completo — allow, audit, deny, sanitize, pending_approval, e como
o cap_cost resolve.
Bloquear ferramentas perigosas
Negue shell destrutivo, deletes e outras chamadas de alto risco totalmente.
Referência de regras
A linguagem de correspondência completa — globs, cláusulas de argumento,
sequências.
Detecção de anomalias
Picos de custo sinalizados contra um baseline de hora-da-semana aprendido.
cap_cost para a parada rígida, anomalias para o sinal antecipado.
Limites de cota na própria chave (
credit_limit_usd) limitam o gasto total
através de todas as runs; cap_cost limita uma única run. Eles se compõem — um
loop descontrolado dispara o disjuntor por run muito antes de poder esgotar o
crédito vitalício da chave. Veja
escopo: chaves, políticas, workspaces.Para onde ir a seguir
Criar e vincular uma política
Crie uma política, escolha um veredito padrão, vincule-a a uma chave.
Shadow mode
Meça um limite antes de ele mudar o tráfego.
