1. ガードレールマッチログが記録するもの
発火したすべてのルールは、ワークスペーススコープのフィード (GET /api/guardrail/match、任意の Member に開放)に 1 つのマッチを
書き込みます。フィードはリクエストログとは別個です — ガードレールが何をしたかだけ
を保存し、完全なリクエストボディは保存しません。各マッチが記録するもの:
判定
判定
rule_type(keyword、regex、pii、max_chars、external、
llm_judge、grounding)、有効な action(block / mask / flag /
annotate / spotlight)、そして stage(input または output) — これに
より、何が発火し何をしたかを即座に判別できます。どこで発火したか
どこで発火したか
guardrail_name、発火した rule_label、加えてリクエストコンテキスト:
model_name、それが乗ってきた token、呼び出し元の ip、そして
リクエストログに結合し直す request_id。詳細文字列
詳細文字列
detail — 違反に対するエンジンの短い人間可読のノート(例:どのエンティティ
またはパターンが引っかかったか)、常に記録されます。マッチした部分文字列 — オプトインしたときのみ
マッチした部分文字列 — オプトインしたときのみ
matched は、ガードレールの Log raw content トグルがオンのときに
のみ埋められます。デフォルトでオフのため、デフォルトではフィードは
ルールが発火したこととその理由を教えますが、機密文字列そのものは決して
保存しません。2. マッチログを一覧してフィルターする
デフォルトの一覧ビューは、カーソルページネーション、新しい順、そして ワークスペースにスコープされています。クエリパラメータで絞り込みます — コンソールは これらをフィルターチップとして公開します:| パラメータ | フィルター対象 |
|---|---|
guardrail_id、rule_type、action、stage | 判定 |
token_id、model_name、request_id | リクエストコンテキスト |
days / start_at + end_at、hide_fp | ウィンドウと誤検知の状態 |
/api/guardrail/* のような管理ルートは、リレーキーではなくコンソール
セッション / アクセストークンで認証します。sk-orca-... キーは /v1/*
モデル呼び出し専用です。日々の使用では、Guardrails ページの Matches タブから
フィードを直接読みます。3. リクエストでグループ化する
単一のリクエストが一度に複数のルールを引っかけることがあります — 入力 PII マスク と最大長上限、というように。グループ化されたビュー (GET /api/guardrail/match/grouped、Member)は、マッチを request_id で折りたたむ
ため、同じ呼び出しに対して 5 行をスクロールする代わりに、違反するリクエストごとに
1 行を、そのマッチをインラインで折りたたんで見られます。グループごとにインラインで
表示するマッチ数は inline_limit(デフォルト 5)でチューニングします。
4. 統計とトレンドストリップ
統計エンドポイント(GET /api/guardrail/match/stats、Member)は、Matches タブの
カウントストリップとチャートを支えます — days ウィンドウ内の合計を、オプションで
group_by で内訳します:
group_by | 内訳 |
|---|---|
| (省略) | 合計のみ |
rule_type | どのルールの種類が最も発火するか |
guardrail_id | どのガードレールがアクティビティを占めるか |
request_id を渡すと、1 つのリクエストに対する定数時間のマッチカウントが得られます
(リクエストログのクロスリンクで使用)。ここにガードレールごとの使用量、アクションの
構成、誤検知率が存在します — 生の一覧をページングするのではなく、これをスライス
します。
5. 監査証跡のためにエクスポートする
コンソールの外でマッチが必要なとき — エビデンスパック、スプレッドシート、下流の SIEM —GET /api/guardrail/match/export(Member)は、現在のフィルターセットを
CSV または JSON としてストリームします:
6. 誤検知をトリアージする
すべてのマッチが本物のヒットというわけではありません。ルールが良性のトラフィックで 発火したとき、ワークスペース Admin はマッチを誤検知としてマークできます (POST /api/guardrail/match/:id/mark-fp)。逆の
DELETE /api/guardrail/match/:id/mark-fp はそれを解除します。マークは、フィードの
残りが Member 読み取り可能であっても Admin 専用です — トリアージは特権アクション
です。
誤検知をマークすると 2 つのことが起こります:マッチにタグを付け(そのため
hide_fp=true がそれをフィードから除外します)、そして所見を記憶するため、同じ
コンテンツに対する同じルールが将来のリクエストでスキップされます。強制を復元するには
マークを解除します。ノイジーなルールのチューニングのより広いワークフローについては、
誤検知のチューニングを参照してください。
マッチは診断データであり、強制の判断ではありません。 リクエストがブロック、
マスク、または単にフラグされたかは、リクエスト時のアクションで
すでに決着しています — フィードは事後の記録です。誤検知をマークすると将来の
挙動が変わり、すでに発生した呼び出しは決して変わりません。
7. マッチがどこから来るか
マッチは、リレーパス上のガードレールエンジンによって生成されるため、フィードは アタッチされたポリシーが行ったことを正確に反映します:- 入力ステージのマッチは、モデルが目にする前にゲートウェイが スクリーニングしたものを記録します — 入力ステージを 参照してください。
- 出力ステージのマッチは、レスポンス上でスクリーニングしたものを記録します — 出力ステージを参照してください。
- ブロックされたリクエストは、呼び出し元への
HTTP 400
guardrail_blockedとしても表に出ます。マッチはそのサーバーサイドの記録です。
8. 関連
ガードレールリファレンス
完全なエンジン:ルールの種類、ステージ、アクション、プリセット、eval ハーネス。
ロギングとプライバシー
Log raw content トグルと、フィードが保存するもの — そして保存しないもの。
誤検知のチューニング
フィードを使ってノイジーなルールを見つけ、ポリシーを弱めることなく静かに
します。
バージョニング
フィードが変更の誤作動を示したとき、ガードレールを diff して revert します。
