cap_cost-Firewall-Verdikt ist der
Schutzschalter dafür: Sie verfassen einmal eine Pro-Run-Cent-Obergrenze, und
das Gateway verweigert den nächsten Tool-Call in dem Moment, in dem die
akkumulierten Ausgaben eines Runs sie überschreiten — bevor dieser Aufruf das
Modell oder das Tool erreicht.
Dies ist KI-Agenten-Kostenkontrolle, durchgesetzt am Gateway, nicht an Ihre
Agentenschleife geschraubt. Wie jedes
Firewall-Verdikt lebt eine cap_cost-Regel in
einer Workspace-Policy, hängt sich an einen Key und wird beim nächsten Aufruf
ohne Redeploy wirksam.
1. Der Pro-Run-Ausgaben-Schutzschalter
cap_cost ist ein Regel-Verdikt, das Sie mit einem zusätzlichen Feld verfassen
— cap_cost_cents, der Ausgaben-Obergrenze des Runs in USD-Cent. Wenn die
Regel einen Tool-Call matcht, vergleicht die Engine die akkumulierten
Ausgaben des Agentenlaufs gegen diese Obergrenze:
- Unter der Obergrenze → der Aufruf wird erlaubt; die Auswertung läuft weiter.
- Über der Obergrenze → der Aufruf wird verweigert, mit einem Grund, der die Gesamtsumme des Runs gegen die Obergrenze benennt. Das ist das terminale, Schutzschalter-Ergebnis — der Run kann keinen weiteren gesteuerten Aufruf ausstellen, bis ein frischer Run beginnt.
Run-Scope, mit einem Pro-Request-Fallback. Wenn der Request eine
Agent-Run-ID trägt, gilt die Obergrenze für die akkumulierten Ausgaben des
Runs. Ein Aufruf ohne Run-Zuordnung (z. B. ein bloßer MCP-Dispatch ohne
weitergeleitete Session) fällt stattdessen auf einen Pro-Request-Vergleich
zurück. So oder so löst der Schutzschalter aus, bevor der über-budgetierte
Aufruf dispatcht wird.
2. Ein konkretes Beispiel
Begrenzen Sie jeden Run auf einem Key auf 5,00 $ akkumulierter Ausgaben. Eine einzelne Wildcard-Regel erledigt das —cap_cost_cents ist 500 (Cent):
firewall_policy_id an einen Key, oder machen Sie sie zum Workspace-Default,
und jeder Run, den dieser Key treibt, ist nun begrenzt.
Sie können die Obergrenze enger scopen als „jedes Tool”. Engen Sie das
Tool-Namen-Glob ein, sodass nur eine teure
Aufruffamilie zum Schutzschalter zählt — z. B. cap_cost auf *.search, um
Web-Search-Fan-out zu begrenzen, während günstige lokale Tools ungemessen
bleiben.
3. Wo es feuert — und wo es nicht kann
cap_cost macht nur vor dem Dispatchen eines Aufrufs Sinn — das ist der
eine Punkt, an dem das Stoppen des Aufrufs die Ausgabe noch verhindert. Daher
ist es auf den zwei Pre-Dispatch-Surfaces aktiv
und auf den Post-Dispatch-Surfaces abgewiesen:
| Surface | cap_cost? |
|---|---|
inbound (angebotene Tools) | Durchgesetzt. |
mcp (tools/call-Dispatch) | Durchgesetzt. |
response (modellausgegebene Aufrufe) | Beim Speichern abgewiesen — nichts mehr zu stoppen. |
egress (ausgehendes Ziel) | Beim Speichern abgewiesen — nichts mehr zu stoppen. |
cap_cost-Regel, die auf response oder egress gepinnt ist, wird zur
Speicherzeit abgelehnt, sodass eine Regel nie als aktiv erscheinen und doch
nie verweigern kann. Lassen Sie die Stage leer, um beide Pre-Dispatch-Surfaces
abzudecken, oder pinnen Sie sie auf inbound / mcp.
4. Wie der Schutzschalter aussieht, wenn er auslöst
Ein über-budgetierter Aufruf ist ein normales Firewall-deny:- Auf
inboundgibt das Relay HTTP 400 mit dem Fehlercodefirewall_blockedzurück. Der Block feuert vor dem Upstream-Modellaufruf, sodass er keine Modell-Tokens kostet, und er ist als skip-retry markiert — das erneute Ausführen desselben Aufrufs würde einfach den Schutzschalter wieder auslösen. - Auf
mcpkommt er als Tool-Fehler zurück, sodass das Modell die Ablehnung sieht und anhalten oder den Nutzer fragen kann, statt abzustürzen.
cap_cost: estimated run cost $5.40 exceeds cap $5.00, sodass ein Operator, der den
Events-Feed liest, genau sieht, warum der
Schutzschalter ausgelöst hat.
Events tragen nie ein literales
cap_cost. Sie verfassen das Verdikt als
cap_cost, aber die Engine löst es zu einem konkreten allow oder deny
auf, bevor das Event aufgezeichnet wird. Der Feed zeigt das allow/deny, das der
Agent tatsächlich gesehen hat — die Run-Kosten-Obergrenze ist der Grund,
nicht das Verdikt-Label. Dies spiegelt wider, wie
Verdikte auflösen.5. Sicher ausrollen
Weil ein ausgelöster Schutzschalter einen Run hart stoppt, validieren Sie ihn, bevor Sie durchsetzen. Schalten Sie Shadow-Mode auf der Policy ein: diecap_cost-Regel wertet weiterhin aus und ein Möchtegern-Deny wird auf audit
herabgestuft, mit Präfix [shadow] would …. Beobachten Sie den Events-Feed, um
zu bestätigen, dass die Obergrenze dort auslöst, wo Sie es erwarten — und nur
dort —, dann schalten Sie den Shadow-Mode aus, um mit dem Durchsetzen zu
beginnen.
Sie können auch eine Policy gegen einen Beispielaufruf im
Test-Tab dry-runnen (eine
Developer+-Sandbox), um das aufgelöste Verdikt und die gematchte Regel zu
sehen, bevor irgendetwas davon abhängt.
6. Wie es zum Rest der Firewall passt
cap_cost ist eines von sechs Verdikten. Es paart sich natürlich mit den
anderen Kontrollen auf derselben Policy:
Verdikte
Der vollständige Satz — allow, audit, deny, sanitize, pending_approval und
wie cap_cost auflöst.
Gefährliche Tools blockieren
Destruktive Shell, Deletes und andere hochriskante Aufrufe pauschal
verweigern.
Regel-Referenz
Die vollständige Matching-Sprache — Globs, Argument-Klauseln, Sequenzen.
Anomalieerkennung
Kosten-Spikes geflaggt gegen eine gelernte Hour-of-week-Baseline.
cap_cost für den harten Stopp, Anomalien für das
Frühsignal.
Kontingentlimits auf dem Key selbst (
credit_limit_usd) begrenzen die
Gesamtausgaben über alle Runs hinweg; cap_cost begrenzt einen einzelnen
Run. Sie komponieren — eine außer Kontrolle geratene Schleife löst den
Pro-Run-Schutzschalter aus, lange bevor sie das Lebenszeit-Guthaben des Keys
erschöpfen kann. Siehe Scope: Keys, Policies, Workspaces.Wohin als Nächstes
Policy erstellen & anhängen
Eine Policy anlegen, ein Default-Verdikt wählen, sie an einen Key binden.
Shadow-Mode
Messen Sie eine Obergrenze, bevor sie den Traffic ändert.
