regex ルールを使えば、
すべての呼び出しでその形状にマッチし、プロンプトがモデルに届く前、そして
レスポンスがユーザーに届く前に、それを block、mask、flag できます。
これは構造化パターンのユースケースに焦点を当てたランディングページです。完全な
ガードレールエンジン — すべてのルールの種類、フィールド、ルート — については
ガードレールリファレンスを参照してください。
ここでのすべてのステップは、ホスト型ゲートウェイ(
api.orcarouter.ai)上の
コンソール アクションです。ガードレールは自分のセッション下で作成します。
最後の /v1/* 呼び出しのみが sk-orca-... リレーキーを使います。ガードレールの
作成と編集にはワークスペースで Developer+ が必要です。1. regex ガードレール LLM 制御が必要なとき
regex ルールは、捕捉したいものがリテラル拒否リストでは表現できない構造を
持つが、pii 検出器がすでにカバーしている
標準的なアイデンティティではない場合に、適切なツールです。
構造化されたコード
SKU、クーポンコード、契約参照番号、内部チケット ID — 固定プレフィックスに
加えて数字または英数字の連なり。
フォーマット形状のトークン
有限の単語リストではなく形状でマッチするもの — 注文番号のレイアウト、
シリアルフォーマット、内部 URL パターン。
出力漏洩パターン
内部ホスト名、ファイルパス、レコード ID フォーマットを表に出すべきでない
レスポンス — モデルの出力をその形状でスキャンします。
安価で決定的なチェック
純粋なパターンマッチング、モデル呼び出しなし、ネットワークなし — どちらの
方向のすべてのリクエスト上で実行しても安全です。
2. RE2 — 線形時間、後方参照なし
regex ルールの pattern は Go RE2 正規表現です。RE2 は regex ルールを
すべてのリクエスト上で実行しても安全にするエンジンです:
線形時間マッチング — 破滅的バックトラックなし
線形時間マッチング — 破滅的バックトラックなし
RE2 は、パターンに関わらず、入力の長さに対して線形なマッチング時間を保証
します。バックトラックエンジンは敵対的な入力に対して指数的に膨れ上がる
可能性があります(「ReDoS」)が、RE2 はそうなりません。だからこそ、あなたの
パターンはすべての呼び出しでホットパス上で評価しても安全なのです。
後方参照なし、先読み / 後読みなし
後方参照なし、先読み / 後読みなし
RE2 は後方参照(
\1)、先読み、後読みをサポートしません。それらに依存する
PCRE パターンを移植している場合は、それらなしで書き直してください。文字
クラス、アンカー、量指定子、選択、非キャプチャグループはすべて期待どおりに
動作します。大文字小文字の区別とフラグはパターン内に入れる
大文字小文字の区別とフラグはパターン内に入れる
別個の「大文字小文字を無視」スイッチはありません — フラグをインラインで
設定します。大文字小文字を区別しないには
(?i) を、複数行には (?m) を
プレフィックスします。例:(?i)\bproject-orca\b。パターンはコンパイルされなければならない — 保存時にチェックされる
パターンはコンパイルされなければならない — 保存時にチェックされる
ルールビルダーは、ガードレールを保存するときにパターンをコンパイルします。
コンパイルできないパターンは、エラー内にルールインデックスを添えて拒否
されるため、不正な検出器がリレーパスに到達することはありません。
3. regex ルールの構造
regex ルールは、keyword に次いでエンジン内で最も小さなルールです:パターン、
ステージ、アクション。
| フィールド | 何をするか |
|---|---|
pattern | Go RE2 正規表現(線形時間、後方参照なし)。コンパイルできなければなりません。 |
stage | input(リクエスト)、output(レスポンス)、または both。 |
action | block、mask、または flag。 |
[REDACTED] タグに
置換されます — regex ルールは型付けされていないため、[EMAIL] のような
エンティティごとのタグはレンダリングしません。型付きタグやカスタム置換トークンが
欲しい場合は、代わりに形状をカスタム PII エンティティとして
モデル化してください。
4. 具体例 1 つ
社内の注文番号がORD- の後に 8 桁の数字という形をしており、モデルの
レスポンスにそれが返ってくることを決して望まないとします。output
ステージに単一の regex ルールを追加します:
regex ルールを追加する
ルールを 1 つ追加します — Type: Regular expression、Stage: Output、
Action: Mask — そしてパターン
ORD-\d{8} を貼り付けます。保存します。キーをアタッチする
API キーを編集し、Guardrail ドロップダウンから
order-id-filter を選びます
(キーに guardrail_id を設定します)か、ガードレールをワークスペース
デフォルトにマークします。キーにアタッチと
アカウントデフォルトを参照してください。5. ステージとストリーミングカバレッジ
選んだアクションは、レスポンスがストリーミングするかどうかと相互作用します:| アクション | 非ストリーミング | ストリーミング |
|---|---|---|
block(output) | 強制 | 強制 — スキャナがストリームを打ち切る |
mask(output) | 強制 | 強制 — スキャナがバッファを書き換える |
入力ステージのルールはアップストリーム呼び出しの前に走るため、ストリーミングの
影響を受けません — モデルが目にする前にリクエストをマスクすることは稼働中です。
出力 mask と出力 block は、ストリーミングと非ストリーミングのいずれの
レスポンスでも強制されます。ストリーミングカバレッジを
参照してください。
6. アクションを選ぶ
regex ルールは、ルールごとに 1 つのアクションを選びます:
Block — 呼び出しを拒否する
Block — 呼び出しを拒否する
マッチがあれば、リクエストを HTTP 400
guardrail_blocked で拒否します。
ブロックされたリクエストはクォータを消費しません — 入力ステージのブロックは
メータリングの前に発火し、出力ステージのブロックは事前消費されたクォータを
返金します — そして skip-retry とマークされます。
guardrail_blocked エラーを
参照してください。Mask — マッチをリダクトする
Mask — マッチをリダクトする
各マッチがその場で
[REDACTED] に置換され、リクエストはサニタイズされた
テキストで継続します — アップストリームモデル(入力ステージ)またはユーザー
(出力ステージ)が元のものを目にすることはありません。
アクションを参照してください。Flag — 観察のみ
Flag — 観察のみ
マッチを記録し、トラフィックについて何も変えません。新しいパターンに適切な
出発点です:
flag として出荷し、Matches フィードを観察し、信頼できるように
なったら mask/block にプロモートします。Annotate — ノートを添付する
Annotate — ノートを添付する
マッチを記録し、トラフィックを変えることなくノート(例:トリアージで表に
出す所見)を添付します。アクションを
参照してください。
Spotlight — 信頼されていないデータとして囲む
Spotlight — 信頼されていないデータとして囲む
入力ステージの防御:各マッチが区切り文字(例:
⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧)で囲まれ、そのテキストを指示ではなくデータ
として扱うようモデルに伝えます — プロンプトインジェクションの緩和策です。
アクションを参照してください。7. 何が発火したか確認する — そして精度をチューニングする
発火したすべてのルールは、ワークスペースの Matches フィードにマッチ — ルールの種類、アクション、ステージ、詳細文字列 — を記録します。 広すぎるパターンは古典的な regex の落とし穴です —\d{8} はあなたの注文番号
だけでなく、すべての 8 桁の連なりにマッチします。それをアンカーし(ORD- の
ような固定プレフィックス、単語境界 \b)、Matches フィードを観察し、進めながら
誤検知をマークして絞り込みます。コーパスに対する A/B グリッド — パターンが、
良性のトラフィックをフラグせずに捕捉すべきものを捕捉することを証明する —
については、Eval ハーネスが隣のタブに
あります。誤検知のチューニングを
参照してください。
8. 次に進む先
カスタム PII エンティティ
形状が、ただの
[REDACTED] ではなく、型付きマスクタグや Luhn チェックサムを
求めるアイデンティティであるとき。機密語
リテラル用語の有限リスト — 構造が不要なときはパターンよりシンプルです。
アクション
block、mask、flag がどう異なり、いつ各々を使うか。
ガードレールリファレンス
完全なエンジン — すべてのルールの種類、フィールド、ルート。
regex ルールはコンテンツを統制します。エージェントのツール呼び出しを
統制する — 破壊的アクションを拒否し、ツール呼び出し引数をリダクトし、承認を
要求する — には、ファイアウォールとその
ルールマッチャーを使います。どのパターンでも
表現できない曖昧なポリシー(有害性、トピック外れ、インジェクションの意図)には、
llm_judge ルールがワークスペースモデルに対してセマンティックチェックを実行
します。regex が全体設計のどこに位置づけられるかを確認するには、
ガードレール vs. ファイアウォールを
読んでください。