メインコンテンツへスキップ
自身の安全性学習を通過するモデルでも、出荷できないテキストを発行することがあります: 顧客への返信内の罵倒、ブランド化されたアシスタント内の競合他社名、コンプライアンス チームが決して承認しない断定的な法的主張。プロンプトは問題なく見えました; レスポンスが問題なのです。 OrcaRouter は、モデルのレスポンスをゲートウェイで出力ステージで、 クライアントに到達する前にスクリーニングします。チェックは、アップストリームモデルが レスポンスした後に実行され、ひとつの判定にまとまるガードレール ルールです — レスポンスをブロックするか、問題のあるスパンをマスクするか、レビュー用に フラグするか — どのモデルがリクエストを処理したかに関わらず。

1. なぜ安全でない AI 出力を出力ステージでスクリーニングするのか

入力スクリーニングは悪いプロンプトを捕捉します。悪い回答は捕捉できません: ポリシー外に誘導されたモデル、組み込みガードレールが弱いファインチューン、あるいは 完全に妥当なプロンプトが不当な補完を生んだ場合。出力ステージは、「なぜであれ、 このテキストはゲートウェイを離れない」と主張する場所です。 ゲートウェイルールは決定的に発火し、キーの背後のすべてのモデルに等しく適用されます。 そして発火したすべてのルールはワークスペースの Matches フィード — ルール型、アクション、 ステージ — に残るため、何が捕捉され何が通過したかの監査証跡があります。
防御はアプリではなくゲートウェイに存在します。 ガードレールを編集すると、その 変更はアタッチされたすべてのキーで次の呼び出しに反映されます — 再デプロイ不要、SDK 変更不要。アプリは引き続き /v1/chat/completions をこれまでと全く同様に呼び出します。

2. 捕捉する 2 つの方法

決定的な拒否リストとセマンティックジャッジをペアにして、多層防御を構築します。
keyword ルールは大文字小文字を区別しない部分文字列マッチです;regex ルールは RE2 パターン(線形時間、後方参照なし)です。両方ともネットワーク呼び出しなしで ホットパス上を実行します — 既知の禁止語リスト、競合他社拒否リスト、あるいは 構造的パターン(漏洩したチャットテンプレートトークン、断定的な「あなたは損害賠償の 権利がある」フレーズ)に理想的です。
llm_judge ルールは、ワークスペース内のモデルを使って、あなたが書くルーブリックに 対してレスポンスを評価します — どのリテラルリストも捕捉しない毒性、ブランド外の トーン、ポリシー外のアドバイス。judge_timeout_ms を持ち、デフォルトで フェイルオープン(ジャッジエラーはログされレスポンスは続行)で、そのトークンは ジャッジサブラインとして課金されます。 LLM ジャッジリファレンスを参照してください。

3. ひとつの具体例 — 有害をブロック、ブランド外をマスク

有害なレスポンスをセマンティックにブロックし、残ったもの内の禁止ブランド語を マスクする単一の出力ステージガードレール:
{
  "name": "safe-output",
  "rules": [
    {
      "type": "llm_judge",
      "stage": "output",
      "action": "block",
      "judge_model": "openai/gpt-4o-mini",
      "judge_format": "yes_no",
      "judge_rubric": "Does this response contain toxic, harassing, hateful, or otherwise unsafe content? Answer yes or no.",
      "judge_fail_open": true
    },
    {
      "type": "keyword",
      "stage": "output",
      "action": "mask",
      "keywords": ["competitor-name", "internal-codename"]
    }
  ]
}
これをコンソールで記述します — /console/guardrailsNew guardrail を開き、 2 つのルールを追加し、Token エディタからキーにアタッチします(バインディングは guardrail_id としてキー上にあります)。設定はリレーキーではなくコンソールセッション 上で実行されます;下の /v1/* 呼び出しだけが sk-orca-... キーを使います。
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": "Draft a reply to this angry customer"}]
  }'
モデルが有害な下書きを返した場合、レスポンスは HTTP 400 guardrail_blocked で 差し止められます。クリーンだが禁止語を口にした場合、そのスパンは型付きリダクションと してレンダリングされ、残りは通過します。
アタッチする前に反復してください。エディタ内の Test タブは、現在のポリシーを output ステージでサンプルレスポンスに対して実行します — アップストリーム呼び出しなし、 クォータなし — そして Eval タブはコーパスに対して実行するので、本番前に捕捉率と 誤検知率を証明できます。eval ハーネスを 参照してください。

4. プリセットから始める

New guardrail テンプレートライブラリは、SafetyBrandCompliance カテゴリに既製の出発点を出荷しています。プリセットはシードです — 適用してから自由に 編集してください。
カテゴリ始めるための出力ステージプリセット
SafetySystem-Prompt Leak Detector(output)、Strong System Prompt Leak — システムプロンプトやチャットテンプレートトークンをエコーするレスポンスを flag/block します。
BrandProfanity Filter(mask) — 両ステージで実行され、レスポンス内の拒否リスト語をマスクします。(ブロック型の Profanity / Brand Safety と Competitor Mentions プリセットは入力ステージのシードです;回答をスクリーニングしたい場合はコピーを output に再ターゲットしてください。)
ComplianceLegal Disclaimer Enforce — 断定的な法的/金融アドバイスを与えるレスポンスをチームレビュー用に flag します。
Compliance カテゴリは、フレームワーク準拠のポリシーもパッケージ化します; フレームワーク駆動の監査済みロールアウトには、 コンプライアンスパックをインストールし、監査証跡を 監査証跡とペアにしてください。

5. ストリーミング:重要な注意点

出力ルールがライブで強制されるかどうかは、アクションと、ストリームするかどうかに 依存します。
アクション非ストリーミングストリーミング
blockレスポンス差し止め;HTTP 400 guardrail_blockedスキャナがストリームを途中で切断し置換メッセージを発行 — ブロックされたコンテンツはクライアントに決して到達しない
mask返されたテキスト内でマッチをリダクト今日は非ストリーミングのみ;インバンドのストリーム書き換えはロードマップ上
flagマッチを記録、何も変えないマッチを記録、何も変えない
出力 mask はストリーミングレスポンスでまだライブではありません。 ストリームし、 ブランド外スパンをリダクトするためにマスキングに頼っている場合、元のチャンクは マスクされずに通過します。レスポンスをマスクするときは非ストリーミングをリクエストするか、 ゲートウェイを決して離れてはならないコンテンツには block ルール(ストリーミング および非ストリーミングで強制)を使ってください。同じ注意点は、ライブマスキングが 今日入力ステージである PII Shield プリセットにも 適用されます。
ブロックされたレスポンスはクォータを消費しません — 出力ステージのブロックは レスポンスが拒否された後に事前消費されたクォータを返金します — そして skip-retry とマークされます。同じプロンプトの再実行はまたブロックされるだけだからです。

6. 推奨されるポリシーの形

1 つのガードレールに 3 つのルールを重ねる

  1. output での keyword / regex — 既知の禁止語と構造的パターンの ゼロレイテンシ捕捉。
  2. output での llm_judge — リテラルリストが見逃すもののセマンティックな 毒性 / ブランド外 / ポリシー外捕捉。
  3. まず flag でロールアウトし、 Matches フィードを監視し、誤検知率が 許容できるようになったら block にプロモートします。 強制モードを参照してください。
リクエストもスクリーニングするには — そもそも安全でない出力を生む jailbreak と インジェクションの試み — このルールと並べて入力ステージのガードレールを実行します。 Jailbreakプロンプトインジェクションを参照してください。

ガードレールリファレンス

ルール型、アクション、ステージ、LLM ジャッジ、プリセット、eval ハーネス、 Matches フィードの完全リファレンス。

データ持ち出し

機微データがモデルのレスポンスやツール呼び出しで漏れ出るのを止めます。