Zum Hauptinhalt springen
Ein außer Kontrolle geratener Prompt ist eine außer Kontrolle geratene Rechnung. Ein Agent, der ein 400-KB-Transkript in den Kontext klebt, eine Retry-Schleife, die denselben aufgeblähten Request immer wieder sendet, ein Modell, das eine 50.000-Zeichen-Textwand streamt — jedes davon verrechnet Tokens, die Sie nie ausgeben wollten. Die Preset-Kategorie cost setzt eine harte Obergrenze vor diese Requests, sodass das Gateway sie bevor sie das Upstream-Modell und die Messung erreichen, stoppt. Dies ist eine fokussierte Landingpage für den Kostenkontroll-Anwendungsfall. Die vollständige Guardrail-Engine — jeder Regeltyp, jedes Feld und jede Route — finden Sie in der Guardrails-Referenz.

1. Der LLM-Kosten-Guardrail-Anwendungsfall

Der Hebel ist ein eingebauter Regeltyp: max_chars. Er begrenzt die Zeichenanzahl des Textes an einer Stage. Kein Modellaufruf, kein Netzwerk-Hop — eine deterministische Längenprüfung, die vor der Messung auf dem Request läuft oder auf der Response, nachdem das Modell zurückkehrt. Zwei Formen, gewählt über die Action der Regel:

Überdimensionierte Requests blockieren

Bei einer Request-max_chars-Regel mit Action block wird jeder Prompt über dem Limit mit HTTP 400 guardrail_blocked abgelehnt — und ein blockierter Request kostet kein Kontingent, weil der Block feuert, bevor die Nutzung gemessen wird.

Überdimensionierte Responses kappen

Bei einer max_chars-Regel mit Action mask wird der Text auf das Limit gekürzt, statt abgelehnt — der Aufrufer erhält weiterhin eine nutzbare Antwort, nur begrenzt. Nützlich auf der Response-Stage, um Egress zu begrenzen.
Das Limit zählt Zeichen (rune-aware — 日本語 sind drei, nicht neun), keine Tokens. Das ausgelieferte token-orientierte Preset übersetzt ein Token-Budget in eine Zeichen-Obergrenze beim Standard-char→token-Verhältnis; verschärfen Sie das max_chars-Feld der Regel direkt für ein strengeres Budget.

2. Die ausgelieferten Cost-Presets

Öffnen Sie den New guardrail-Split-Button in der Konsole und wählen Sie aus der Template-Kategorie cost. Drei Presets befüllen jeweils eine einzelne max_chars-Regel:
PresetStage · ActionLimit
Prompt-Size Capinput · block50.000 Zeichen
Token Cost Cap (prompt)input · block200.000 Zeichen (~50K Tokens)
Response Size Capoutput · block32.000 Zeichen
Jedes Preset ist ein Seed, kein Schloss — wenden Sie es an und bearbeiten Sie dann den max_chars-Wert, die Stage oder die Action passend zu Ihrem Budget. Das Verfassen und Bearbeiten von Guardrails erfordert Developer+ im Workspace.
Der Response Size Cap ist ein Output-Stage-Limit. Um eine lange Antwort zu kappen, statt sie abzulehnen, wechseln Sie ihre Action auf mask — das Gateway kürzt die Response auf das Limit, und der Benutzer erhält weiterhin eine gekürzte-aber-nutzbare Antwort statt eines Fehlers.

3. Ihr eigenes Limit verfassen

Eine Cost-Regel ist die einfachste Regel in der Engine — eine Stage, eine Action und ein Integer. Um Requests bei 20.000 Zeichen zu begrenzen und alles Größere abzulehnen:
{
  "type": "max_chars",
  "stage": "input",
  "action": "block",
  "max_chars": 20000
}
Fügen Sie sie einem beliebigen Guardrail in der Konsole hinzu. max_chars muss eine positive Ganzzahl sein; der Validator lehnt 0 oder negative Werte ab.

4. Testen, bevor Sie anhängen

Beweisen Sie, dass das Limit dort feuert, wo Sie es erwarten, bevor irgendein Key darauf zeigt. Öffnen Sie den Tab Test im Guardrail-Editor, fügen Sie ein Beispiel ein, wählen Sie die input-Stage und führen Sie die aktuelle Policy lokal aus — kein Upstream-Aufruf, kein Kontingent. Ein Beispiel über dem Limit gibt ein blockiertes Verdikt zurück; ein Beispiel unter dem Limit geht unangetastet durch. Bei einer Kapp-Regel zeigt die Sandbox den gekürzten gerenderten Text, sodass Sie bestätigen können, dass das Limit auf einer Rune-Grenze landet, bevor Sie sich darauf verlassen.

5. Das Limit an einen Key anhängen

Ein Cost-Guardrail wird genau wie jedes andere aufgelöst — hängen Sie es an einen API-Key an oder setzen Sie es als Workspace-Default. Jeder Schritt hier ist eine Konsolen-Aktion in Ihrer eigenen Session.
1

Das Guardrail speichern

Erstellen oder öffnen Sie ein Guardrail in der Konsole, fügen Sie eine max_chars-Regel hinzu (oder wenden Sie ein Cost-Preset an) und speichern Sie.
2

Einen Key anhängen

Bearbeiten Sie einen API-Key und wählen Sie das Guardrail aus dem Dropdown Guardrail (setzt guardrail_id am Key), oder markieren Sie das Guardrail als Workspace-Default. Siehe An einen Key anhängen und Account-Default.
3

Eine Anfrage senden

Rufen Sie mit diesem Key OrcaRouter genau wie zuvor auf — keine neuen Header, keine SDK-Änderung:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "...a very long prompt..."}
    ]
  }'
Wenn der Prompt über dem Limit liegt, gibt der Aufruf HTTP 400 guardrail_blocked zurück und nichts wird verrechnet.

6. Was ein blockierter Request kostet

Ein Request-Stage-Limit ist das günstigste Guardrail zum Durchsetzen: Es läuft bevor die Nutzung gemessen wird, sodass ein überdimensionierter Prompt zu null Kontingentkosten abgelehnt wird.
Nein. Ein Input-Stage-Block feuert vor der Messung. Ein Output-Stage-Block erstattet das vorab verbrauchte Kontingent zurück, nachdem die Response abgelehnt wurde. So oder so zahlt der Aufrufer kein Kontingent, erhält HTTP 400 guardrail_blocked, und der Request wird als skip-retry markiert — das erneute Ausführen desselben überdimensionierten Prompts würde einfach wieder blockieren. Siehe den guardrail_blocked-Fehler.
Ein max_chars-block auf der Output-Stage wird in beide Richtungen durchgesetzt: Bei einer Nicht-Streaming-Response wird die Antwort vor der Rückgabe geprüft, und bei einer Streaming-Response schneidet ein Scanner den Stream mitten im Flug ab, sobald der Puffer das Limit überschreitet. Ein mask (Kappen) auf Output gilt derzeit nur für Nicht-Streaming-Responses. Siehe Streaming-Abdeckung.
Nein. Eine max_chars-Regel hat kein Substring-Konzept, daher zeichnet der Matches-Feed auf, dass das Limit gefeuert hat — Typ, Action und Stage — aber nie einen getroffenen Substring, selbst bei aktiviertem Log raw content. Sie erhalten das dass-es-gefeuert-hat-Signal, ohne die überdimensionierte Payload erneut zu erfassen.

7. Wo das hineinpasst

Ein max_chars-Limit ist ein grober Kostenhebel — eine harte Obergrenze, kein Pro-Key-Ausgabenbudget. Um Dollar statt Zeichen zu begrenzen, setzen Sie credit_limit_usd am API-Key selbst (0 = unbegrenzt), das das Gateway unabhängig von jedem Guardrail durchsetzt. Die beiden stapeln sich: Das Key-Budget begrenzt die Gesamtausgaben, das Cost-Guardrail begrenzt die Größe jedes einzelnen Requests oder jeder Response.
Ein Cost-Guardrail prüft die Inhaltsgröße, nicht die Modellwahl oder die Routing-Entscheidung. Es lehnt einen überdimensionierten Prompt ab, unabhängig davon, welches Modell ihn bedient. Um die Tool-Calls eines Agenten zu steuern — destruktive Aktionen verweigern oder zur Freigabe zurückhalten — nutzen Sie die Firewall, die auf der Tool-Call-Oberfläche entscheidet (allow / deny / pending_approval), nicht auf der Inhaltsoberfläche.

8. Wie es weitergeht

Input-Stage-Regeln

Wie die Request-Prüfung vor dem Upstream-Aufruf und vor der Messung läuft.

Output-Stage-Regeln

Prüfen und Kappen der Modell-Response, gestreamt und nicht.

Der guardrail_blocked-Fehler

Die HTTP-400-Form, die No-Quota-Garantie und skip-retry.

Test & Eval

Beweisen Sie ein Limit gegen ein Korpus, bevor Sie einen Key anhängen.
Cost-Limits begrenzen die Größe. Um Inhalte zu begrenzen — PII, Secrets, unsichere Prompts — beginnen Sie mit der Guardrails-Übersicht oder lesen Sie die Guardrails-Referenz für die vollständige Engine.