LLMが生成した応答を最終的にユーザーへ返す前に検査し、有害コンテンツ・ハルシネーション・機密情報漏洩・フォーマット違反を検出・修正する出力側の防御機構。
Output Guardrail(出力ガードレール)は、LLMが生成した応答をユーザーに返す前に検査・修正するセーフティレイヤーである。入力ガードレールをすり抜けた攻撃や、モデル自体が生成する有害コンテンツ・ハルシネーション・機密情報の漏洩を最終防衛線として捕捉する。
モデル応答に含まれるヘイトスピーチ・暴力表現・性的コンテンツ・違法行為の教唆などを検出する。OpenAI Moderation API、Perspective API、またはカスタム分類器が利用される。
| カテゴリ | 検出対象例 | 一般的な閾値 |
|---|---|---|
| Toxicity | 侮辱・差別・ヘイト | 0.7以上でブロック |
| Violence | 暴力的描写・脅迫 | 0.8以上でブロック |
| Sexual | 性的コンテンツ | 0.6以上でブロック |
| Self-harm | 自傷行為の助長 | 0.5以上でブロック(低閾値で安全側に) |
RAG(検索拡張生成)システムでは、モデルの応答が検索結果に基づいているかを検証する。ソースドキュメントとの整合性スコアを算出し、閾値以下の場合は「情報源に基づく回答が見つかりません」と返す。
検証手法は主に3つある。
モデルがシステムプロンプト・内部API情報・訓練データの一部を応答に含めてしまうケースを検出する。正規表現パターンマッチとエントロピー分析の組み合わせで、APIキー形式の文字列や内部URL、社内ドメイン名などを検出・除去する。
JSON・XML・Markdownなど構造化出力が求められる場合、スキーマバリデーションで応答の構造的正確性を検証する。Guardrails AIのRAIL仕様やPydanticベースの検証が代表的である。
出力ガードレールが問題を検出した場合の対応は3段階で設計する。
A: チャンクバッファリングで対応可能。一定トークン数ごとに部分検査を行い、問題検出時にストリームを中断してフォールバック応答に切り替える実装が一般的である。
A: NLIベースで F1 0.75-0.85程度。完全な検出は困難だが、「ソースに根拠なし」を検出する再現率(Recall)を高めに設定し、安全側に倒す運用が推奨される。
A: LLM-as-Judge方式は追加のAPI呼び出しが発生するため応答あたりコストが1.5-2倍になる。NLIベースやルールベースは軽量でコスト影響は軽微(5%以下)である。