guardrail_blocked であなたのアプリケーションに応答します。このページはその
ひとつのエラーの着地リファレンスです:ボディがどう見えるか、なぜそのように
振る舞うか、そしてクライアントコードでどう扱うか。その背後のポリシーエンジンに
ついては、ガードレール概要と
完全なリファレンスを参照してください。
1. guardrail_blocked が見えるとき
ガードレールは、ゲートウェイがリクエスト入力と モデル出力に対して実行する、順序付けられたルールのリストです。アクションが block のルールが発火すると、呼び出しは拒否されます — アップストリームモデルは 決して呼び出されない(入力ステージ)か、その回答が差し控えられる(出力ステージ)か のいずれかです。クライアントはguardrail_blocked を運ぶ 400 を受け取ります。
他のアクションはこのエラーを生成しません。mask はマッチをリダクトして
サニタイズされたテキストを通し、flag はトラフィックを変えずにマッチを記録し、
プロンプト形成型アクション(annotate、spotlight)はノートを付加したり
信頼されていないテキストを囲んだりしながら呼び出しを続行させます。5 つのアクションの
うち、block のみが拒否します。アクションを参照。
guardrail_blocked はコンテンツの拒否です(テキスト入力、テキスト出力)。
対をなすツールポリシーの拒否は、エージェントファイアウォール
からの firewall_blocked です — 異なる形状の異なるエラーです。
ガードレール vs. ファイアウォールを参照。2. レスポンスボディ
ブロックはゲートウェイの標準的な OpenAI 形のエラーエンベロープで返されます。 OpenAI スタイルのエンドポイント(/v1/chat/completions、/v1/responses)では:
code — guardrail_blocked
code — guardrail_blocked
安定したマシン識別子。メッセージ文字列ではなく、これで分岐します。すべての
エンドポイントで同じ値であり、ローカライズされることは決してありません。
message — ガードレールとルールを示す
message — ガードレールとルールを示す
人間可読です。形式は
request blocked by guardrail "<name>": <detail> で、
<detail> は発火したルールの種類を <type>(<rule-detail>) として要約します
— 例えば pii(pii: ssn) または keyword(matched 1 keyword(s))。出力
ステージのブロックは response blocked by guardrail "<name>": <detail> と
読み、その動詞がどのステージが呼び出しを拒否したかを伝えます。メッセージは
ゲートウェイを離れる前に機密情報マスキングを通されるため、ここで生のマッチした
部分文字列を期待しないでください。type — orcarouter_api_error
type — orcarouter_api_error
OpenAI スタイルのエンドポイント上のジェネリックなゲートウェイエラーの種類。
区別するシグナルは
type ではなく code です。/v1/messages)では、エンベロープは Claude 形
— {"error": {"type": ..., "message": ...}} — で、guardrail_blocked は
type フィールドに現れるため、ネイティブの Claude SDK はポリシー拒否を
ジェネリックなゲートウェイ障害から区別できます。
3. なぜ guardrail_blocked はクォータを消費しないのか
ブロックされたリクエストは無料です — クレジット残高から決して引き落とされません。| ステージ | ブロックが発火するとき | クォータへの影響 |
|---|---|---|
input | アップストリーム呼び出しの前、メータリングに先立って | 何もメータリングされない |
output | モデルが応答した後、回答が返る前 | 事前消費されたクォータが返金される |
4. なぜ guardrail_blocked はリトライをスキップするのか
エラーは skip-retry とタグ付けされます。ゲートウェイ自身のルーティングは、 このリクエストを別のチャネルにフェイルオーバーしません。ブロックはあなたの コンテンツとあなたのポリシーの性質だからです — 同一のプロンプトを再実行しても、 次のチャネルでまたブロックされ、試行を無駄にするだけです。5. クライアントコードでの扱い
code フィールドで分岐し、リトライする代わりにエンドユーザーに有用なメッセージを
提示します。
sk-orca-... キーはリレーキーです — /v1/* トラフィックのみを運びます。
それでガードレールを編集することは決してありません。ポリシーの作成とアタッチは
あなたのセッション上のコンソール / 管理 API アクションであり、ガードレールの作成
または編集には Developer+ ロールが必要です。
6. ブロックの確認とチューニング
発火したすべてのルール — ブロックを含む — は、その種類、アクション、ステージ、 detail 文字列とともにワークスペースの Matches フィードに着地します。そこが、 どのルールが特定の呼び出しを拒否したかを確認し、誤検知をトリアージする場所です。マッチフィード
すべての block、mask、flag を type、action、stage とともに確認します。
マッチした部分文字列は Log raw content がオンのときのみ現れます。
ロギングとプライバシー
生コンテンツはデフォルトでオフです — プライバシー保守的な姿勢。トリアージの
ために部分文字列が必要なときはガードレールごとにオンにします。
誤検知のチューニング
誤検知はチューニングのシグナルであって、ルールを無効化する理由ではありません。
マークし、パターンを絞り込みます。
バージョニング
ポリシーを変更して元に戻したいですか?任意の 2 バージョンを diff し、新しい
バージョンとして revert します — 履歴は決して変更されません。
ストリーミングレスポンスでは、出力 block は依然として適用されます:
スキャナは、ブロック対象のコンテンツがクライアントに到達する前に飛行中のストリームを
打ち切ります。出力 mask もストリーム上でインバンドに適用されます — スキャナは
安全なプレフィックスが発される前に、ローリングバッファ内でマッチを書き換えます。
ストリーミングカバレッジと
ストリームセーフルールを参照。
7. 関連
ポリシーを理解する
ポリシーを理解する
ガードレール概要 ·
アクション ·
入力ステージ ·
出力ステージ ·
完全なエンジンリファレンス。
ライブトラフィックで確認する
ライブトラフィックで確認する
マッチフィード ·
ロギングとプライバシー ·
誤検知のチューニング ·
テストと eval。
概念と脅威にマッピングする
概念と脅威にマッピングする
