1. モデルの前、LLM アプリ向け入力ガードレール
すべてのガードレールルールはステージ —input、output、または both —
を持ちます。input ルールは、リクエストテキストが到着した瞬間、アップストリーム
モデルへ向かう途中で、それに対して走ります:
入力ルールは呼び出し元のリクエストをスクリーニングします。
レジストリプロンプトも使う場合、注入されるシステム
メッセージは後段のルーティングで追加されます — そのため入力ルールは、注入された
プロンプトではなく、あなたのアプリが送ったメッセージを見ます。出力ルールはいずれ
の場合もレスポンスをスクリーニングします。
2. 入力ステージで実行できること
任意のルールの種類がinput で実行できます。モデルの前にリクエストをゲートする
最も一般的な理由:
プロンプト内の PII をマスクする
mask アクションつきの
pii ルールは、エンティティを型付きタグ
(jane@acme.com → [EMAIL])に書き換えるため、アップストリームモデルは生の
値を決して見ません。PII Shieldを参照。シークレットが漏れる前にブロックする
API キーまたはクラウドクレデンシャルを運ぶリクエストは入口で拒否されます —
メータリング前、アップストリーム呼び出しなし。
シークレットをブロックを参照。
インジェクション試行を止める
プロンプトインジェクション基礎プリセットは、keyword/regex 検出器を、
インジェクションの意図向けの
llm_judge ルールとペアにします。
プロンプトインジェクションを参照。プロンプトサイズを上限する
max_chars ルールは、トークンを課金する前に過大なプロンプトを拒否します。
コストガードレールを参照。keyword、regex、pii、max_chars、external、
llm_judge、grounding — と 5 つのアクション block、mask、flag、
annotate、spotlight はすべてここに適用されます。(spotlight はマッチした
信頼されていないテキストをデリミタで囲み、モデルがそれを指示ではなくデータとして
扱うようにします — 入力ステージのプロンプトインジェクション防御です。annotate
はトラフィックを変えずにノートを付加します。)知っておく価値のあるひとつの例外:
groundingは回答を取得された
ソースに対して測定するため、本質的に出力ステージのチェックです。それ以外はすべて
入力ステージに自然にフィットします。
3. ひとつの具体例
ルールはリレーキーではなくコンソールで(あなた自身のセッション下で — ガードレール 設定には Developer+ が必要)作成します。secrets-shield という名前の
ガードレールに単一の input ルールを追加します:
guardrail_id を設定するか、ワークスペース
デフォルトとしてマーク — キーにアタッチする
を参照)、その sk-orca-... リレーキーでゲートウェイを呼び出します:
guardrail_blocked で拒否されます:
guardrail_blocked エラーを
参照してください。
4. なぜ入力ブロックはクォータを消費しないのか
これは入ってくる途中で捕捉することの構造的な利点です。入力ステージのブロックは 事前消費の前に位置するため:| プロパティ | 入力ステージブロック |
|---|---|
| HTTP ステータス | 400 guardrail_blocked |
| クォータ消費 | なし — メータリングの前に発火 |
| アップストリーム呼び出し | 一切行われない |
| リトライ | skip-retry とマーク — 再実行してもまたブロック |
リクエストがチャネルに決して到達しないため、入力ブロックは skip-retry と
マークされます:同じプロンプトを別のチャネルに対して再実行してもまたブロックされ、
労力を無駄にするだけです。出力ステージは異なります — そこでのブロックは、
ゲートウェイがすでに事前消費したクォータを返金します。同じ
400、異なる会計。5. 解決とフォールバック
入力ステージルールは、リクエストでガードレールが実際に解決される場合のみ走ります。 解決は明示的です:- キーの明示的な
guardrail_id(存在し有効である場合)。 - それ以外の場合、ワークスペースデフォルトガードレール。
- それ以外の場合、none — リクエストはポリシーのないワークスペースとバイト単位で 同一です。
6. 出荷前に証明する
ブロッキングの入力ルールをライブトラフィックに信頼だけでアタッチしないでください。 まず検証する 2 つの方法:Test タブ — ひとつのサンプル
Test タブ — ひとつのサンプル
ガードレールエディタの Test タブを開き、サンプルを貼り付け、
input
ステージを選んで実行します。サンドボックスは現在のポリシーをローカルで
評価し — アップストリーム呼び出しなし、クォータなし — 判定と(mask ルールの
場合は)レンダリングされたテキストを返します。
テストと evalを参照。ブロックする前にフラグする
ブロックする前にフラグする
まずアクションを flag に設定します。フラグはトラフィックについて何も
変えません — マッチを記録するだけです — そのため、block に切り替える前に、
実際の入力でルールがどれくらいの頻度で発火するかを測定できます。
誤検知のチューニングを参照。
何が発火したかを確認する
何が発火したかを確認する
発火したすべてのルールはマッチを記録します — type、action、stage、detail
文字列。マッチした部分文字列は Log raw content がオンのときのみ記録されます
(デフォルトはオフ)。マッチフィードと
ロギングとプライバシーを参照。
7. 次にどこへ
入力ステージは不正な入力がモデルに到達するのを止めます。モデルのレスポンスを ゲートするには出力ステージとペアにし、エージェントのツール呼び出しを統制するには ファイアウォールを使います。- 出力ステージルール — モデルのレスポンスを 戻ってきた後にスクリーニングします。
- ステージと
both— ルールを入力、出力、 または両方で実行するとき。 - AI エージェントのセキュリティ — 入力ガードレールが完全なコントロールスタックのどこに位置するか。
- プロンプトインジェクションの脅威と データ持ち出し — 入力ルールが止める ために作られた攻撃。
