guardrail_blocked. Diese
Seite ist die Landing-Referenz für genau diesen einen Fehler: wie der Body
aussieht, warum er sich so verhält und wie man ihn in Client-Code behandelt.
Für die Policy-Engine dahinter siehe
Guardrails-Überblick und die
vollständige Referenz.
1. Wann Sie guardrail_blocked sehen
Ein Guardrail ist eine geordnete Liste von Regeln, die das Gateway gegen den Request-Input und den Modell-Output ausführt. Wenn eine Regel, deren Action block ist, feuert, wird der Aufruf abgelehnt — das Upstream-Modell wird nie aufgerufen (Input-Stage) oder seine Antwort wird zurückgehalten (Output-Stage). Der Client erhält eine 400, dieguardrail_blocked trägt.
Keine andere Action erzeugt diesen Fehler. mask redigiert den Treffer und
lässt den bereinigten Text durch, flag zeichnet einen Match auf, ohne den
Traffic zu ändern, und die prompt-formenden Actions (annotate,
spotlight) lassen den Aufruf fortfahren, während sie eine Notiz
hinzufügen oder nicht vertrauenswürdigen Text einfassen. Von den fünf Actions
lehnt nur block ab. Siehe Actions.
guardrail_blocked ist eine Content-Ablehnung (Text rein, Text raus).
Die ergänzende Tool-Policy-Verweigerung ist firewall_blocked von der
Agent-Firewall — ein anderer Fehler mit einer
anderen Form. Siehe
Guardrails vs. Firewall.2. Der Response-Body
Der Block wird im standardmäßigen OpenAI-förmigen Error-Envelope des Gateways zurückgegeben. An einem OpenAI-artigen Endpunkt (/v1/chat/completions,
/v1/responses):
code — guardrail_blocked
code — guardrail_blocked
Der stabile Maschinen-Identifier. Verzweigen Sie hierauf, nicht auf den
Message-String. Er ist auf jedem Endpunkt derselbe Wert und nie
lokalisiert.
message — benennt das Guardrail und die Regel
message — benennt das Guardrail und die Regel
Menschenlesbar. Die Form ist
request blocked by guardrail "<name>": <detail>, wobei <detail> die ausgelösten Regeltyp(en) als
<type>(<rule-detail>) zusammenfasst — zum Beispiel pii(pii: ssn) oder
keyword(matched 1 keyword(s)). Ein Block der Output-Stage liest sich
response blocked by guardrail "<name>": <detail>, sodass das Verb Ihnen
sagt, welche Stage den Aufruf abgelehnt hat. Die Nachricht durchläuft das
Maskieren sensibler Informationen, bevor sie das Gateway verlässt, also
erwarten Sie hier nicht den rohen gematchten Teilstring.type — orcarouter_api_error
type — orcarouter_api_error
Der generische Gateway-Fehlertyp an OpenAI-artigen Endpunkten. Das
unterscheidende Signal ist
code, nicht type./v1/messages) ist der Envelope
Claude-förmig — {"error": {"type": ..., "message": ...}} — und
guardrail_blocked taucht im type-Feld auf, sodass ein natives
Claude-SDK eine Policy-Verweigerung von einem generischen Gateway-Fehler
unterscheiden kann.
3. Warum guardrail_blocked kein Kontingent kostet
Ein blockierter Request ist kostenlos — er belastet Ihr Guthaben nie.| Stage | Wann der Block feuert | Kontingent-Effekt |
|---|---|---|
input | Vor dem Upstream-Aufruf, vor der Messung | Nichts wird gemessen |
output | Nachdem das Modell geantwortet hat, bevor die Antwort zurückkehrt | Vorab verbrauchtes Kontingent wird zurückerstattet |
4. Warum guardrail_blocked keinen Retry macht
Der Fehler ist als skip-retry getaggt. Das eigene Routing des Gateways wird diesen Request nicht an einen anderen Channel umschalten, weil der Block eine Eigenschaft Ihres Inhalts und Ihrer Policy ist — das erneute Ausführen des identischen Prompts würde am nächsten Channel einfach wieder blockieren und den Versuch verschwenden.5. Behandlung in Client-Code
Verzweigen Sie auf dascode-Feld und bringen Sie dem Endnutzer eine
nützliche Nachricht zur Oberfläche, statt einen Retry zu machen.
sk-orca-...-Key hier ist ein Relay-Key — er trägt nur
/v1/*-Traffic. Sie bearbeiten ein Guardrail nie damit; das Verfassen und
Anhängen von Policy ist eine Konsolen-/Management-API-Aktion auf Ihrer
Session, und das Erstellen oder Bearbeiten eines Guardrails erfordert die
Rolle Developer+.
6. Einen Block bestätigen und tunen
Jede Regel, die feuert — Block eingeschlossen — landet im Workspace-Matches-Feed mit ihrem Type, Action, Stage und einem Detail-String. Dort bestätigen Sie, welche Regel einen gegebenen Aufruf abgelehnt hat, und triagieren Fehlalarme.Matches-Feed
Sehen Sie jeden Block, Mask und Flag mit Type, Action und Stage. Der
gematchte Teilstring erscheint nur, wenn Log raw content an ist.
Logging & Datenschutz
Rohinhalt ist standardmäßig aus — die datenschutzfreundliche Haltung.
Schalten Sie ihn pro Guardrail ein, wenn Sie den Teilstring zum Triage
brauchen.
Fehlalarme tunen
Ein Fehlalarm ist ein Tuning-Signal, kein Grund, die Regel zu
deaktivieren. Markieren Sie ihn und verengen Sie das Muster.
Versionierung
Policy geändert und wollen es rückgängig machen? Diffen Sie beliebige zwei
Versionen und reverten Sie als neue Version — die Historie wird nie
mutiert.
Bei einer streamenden Response gilt ein Output-block weiterhin: der
Scanner kappt den Stream mittendrin, bevor blockierter Inhalt den Client
erreicht. Output-mask gilt auf Streams ebenfalls in-band — der Scanner
schreibt den Treffer im rollenden Puffer um, bevor das sichere Präfix
ausgegeben wird. Siehe
Streaming-Abdeckung und
stream-sichere Regeln.
7. Verwandt
Die Policy verstehen
Die Policy verstehen
Auf Live-Traffic sehen
Auf Live-Traffic sehen
Auf Konzepte und Bedrohungen abbilden
Auf Konzepte und Bedrohungen abbilden
