1. なぜ安全でない AI 出力を出力ステージでスクリーニングするのか
入力スクリーニングは悪いプロンプトを捕捉します。悪い回答は捕捉できません: ポリシー外に誘導されたモデル、組み込みガードレールが弱いファインチューン、あるいは 完全に妥当なプロンプトが不当な補完を生んだ場合。出力ステージは、「なぜであれ、 このテキストはゲートウェイを離れない」と主張する場所です。 ゲートウェイルールは決定的に発火し、キーの背後のすべてのモデルに等しく適用されます。 そして発火したすべてのルールはワークスペースの Matches フィード — ルール型、アクション、 ステージ — に残るため、何が捕捉され何が通過したかの監査証跡があります。防御はアプリではなくゲートウェイに存在します。 ガードレールを編集すると、その
変更はアタッチされたすべてのキーで次の呼び出しに反映されます — 再デプロイ不要、SDK
変更不要。アプリは引き続き
/v1/chat/completions をこれまでと全く同様に呼び出します。2. 捕捉する 2 つの方法
決定的な拒否リストとセマンティックジャッジをペアにして、多層防御を構築します。リテラル — keyword / regex(ゼロレイテンシ)
リテラル — keyword / regex(ゼロレイテンシ)
keyword ルールは大文字小文字を区別しない部分文字列マッチです;regex ルールは
RE2 パターン(線形時間、後方参照なし)です。両方ともネットワーク呼び出しなしで
ホットパス上を実行します — 既知の禁止語リスト、競合他社拒否リスト、あるいは
構造的パターン(漏洩したチャットテンプレートトークン、断定的な「あなたは損害賠償の
権利がある」フレーズ)に理想的です。セマンティック — llm_judge(どの正規表現も捕捉できないものを捕捉)
セマンティック — llm_judge(どの正規表現も捕捉できないものを捕捉)
llm_judge ルールは、ワークスペース内のモデルを使って、あなたが書くルーブリックに
対してレスポンスを評価します — どのリテラルリストも捕捉しない毒性、ブランド外の
トーン、ポリシー外のアドバイス。judge_timeout_ms を持ち、デフォルトで
フェイルオープン(ジャッジエラーはログされレスポンスは続行)で、そのトークンは
ジャッジサブラインとして課金されます。
LLM ジャッジリファレンスを参照してください。3. ひとつの具体例 — 有害をブロック、ブランド外をマスク
有害なレスポンスをセマンティックにブロックし、残ったもの内の禁止ブランド語を マスクする単一の出力ステージガードレール:/console/guardrails → New guardrail を開き、
2 つのルールを追加し、Token エディタからキーにアタッチします(バインディングは
guardrail_id としてキー上にあります)。設定はリレーキーではなくコンソールセッション
上で実行されます;下の /v1/* 呼び出しだけが sk-orca-... キーを使います。
guardrail_blocked で
差し止められます。クリーンだが禁止語を口にした場合、そのスパンは型付きリダクションと
してレンダリングされ、残りは通過します。
4. プリセットから始める
New guardrail テンプレートライブラリは、Safety、Brand、Compliance カテゴリに既製の出発点を出荷しています。プリセットはシードです — 適用してから自由に 編集してください。| カテゴリ | 始めるための出力ステージプリセット |
|---|---|
| Safety | System-Prompt Leak Detector(output)、Strong System Prompt Leak — システムプロンプトやチャットテンプレートトークンをエコーするレスポンスを flag/block します。 |
| Brand | Profanity Filter(mask) — 両ステージで実行され、レスポンス内の拒否リスト語をマスクします。(ブロック型の Profanity / Brand Safety と Competitor Mentions プリセットは入力ステージのシードです;回答をスクリーニングしたい場合はコピーを output に再ターゲットしてください。) |
| Compliance | Legal Disclaimer Enforce — 断定的な法的/金融アドバイスを与えるレスポンスをチームレビュー用に flag します。 |
5. ストリーミング:重要な注意点
出力ルールがライブで強制されるかどうかは、アクションと、ストリームするかどうかに 依存します。| アクション | 非ストリーミング | ストリーミング |
|---|---|---|
block | レスポンス差し止め;HTTP 400 guardrail_blocked | スキャナがストリームを途中で切断し置換メッセージを発行 — ブロックされたコンテンツはクライアントに決して到達しない |
mask | 返されたテキスト内でマッチをリダクト | 今日は非ストリーミングのみ;インバンドのストリーム書き換えはロードマップ上 |
flag | マッチを記録、何も変えない | マッチを記録、何も変えない |
6. 推奨されるポリシーの形
1 つのガードレールに 3 つのルールを重ねる
-
outputでのkeyword/regex— 既知の禁止語と構造的パターンの ゼロレイテンシ捕捉。 -
outputでのllm_judge— リテラルリストが見逃すもののセマンティックな 毒性 / ブランド外 / ポリシー外捕捉。 -
まず
flagでロールアウトし、 Matches フィードを監視し、誤検知率が 許容できるようになったらblockにプロモートします。 強制モードを参照してください。
ガードレールリファレンス
ルール型、アクション、ステージ、LLM ジャッジ、プリセット、eval ハーネス、
Matches フィードの完全リファレンス。
データ持ち出し
機微データがモデルのレスポンスやツール呼び出しで漏れ出るのを止めます。
