AIハルシネーション検知 実務ガイド ―― 「手法」×「タイミング」で考える
»
0. まず確認すべき2つの質問
ハルシネーション検知の相談を受けたら、最初にこの2点を確認する。ここが決まらないと、どの手法が妥当かは決まらない。
- そのAIはRAG構成か、自由生成か 参照できる文書(コンテキスト)が手元にあるかどうかで、使える手法が大きく変わる。
- リアルタイムでブロックしたいのか、事後的に傾向を把握できれば十分か コストとレイテンシの許容度が変わる。全トラフィックを見るのか、サンプリングで十分なのかもここで決まる。
1. 軸1:どんな手法で検知するか
| 手法 | 前提条件 | コスト | 精度の傾向 |
|---|---|---|---|
| コンテキスト照合(Fiddler型) | RAGで参照文書がある | 低(専用の軽量モデルで100ms未満) | RAG限定だが高精度 |
| 自己一貫性チェック(WhyLabs / SelfCheckGPT型) | 不要(参照文書なしでも可) | 高(追加サンプル生成が必要) | 自由生成にも使えるが誤検知もある |
| LLM-as-a-Judge | 参照文書 or 期待値があると精度が上がる | 中〜高 | 柔軟だが、判定者側のLLMもハルシネーションしうる |
| 決定論的な事前スクリーン(引用漏れ・数値不一致の検出など) | ルール化できる範囲に限られる | 低(ほぼ無料) | 粗いが、リスク信号の一次フィルタとして有効 |
各手法の仕組み(簡潔に)
- コンテキスト照合:応答テキストと、根拠とすべき参照文書を突き合わせ、「応答が文書の内容に忠実か」を専用モデルでスコアリングする。RAGアプリケーション限定。
- 自己一貫性チェック:同じ質問に対してLLM自身に複数回サンプルを生成させ、回答同士のばらつきを見る。「本当に知っていることなら毎回同じような答えが返るはず。ブレるなら知らないことをそれらしく生成している可能性がある」という考え方。参照文書は不要な代わりに、追加生成のコストがかかる。
- LLM-as-a-Judge:別のLLM(または評価専用モデル)に「この回答は根拠のある内容か」を判定させる。柔軟に運用できるが、判定側のLLMも誤る可能性がある点には注意。
- 決定論的な事前スクリーン:引用の欠落、コンテキストに存在しない数値の出現など、ルールベースで機械的にリスク信号を検出する。単体では粗いが、後段の高コストな手法に回す対象を絞り込む「一次フィルタ」として組み合わせるとコスト効率がよい。
2. 軸2:いつ検知するか
| タイミング | 目的 | 適した手法 |
|---|---|---|
| リアルタイム・ブロッキング(Layer 3:ランタイム・ガードレール) | ユーザーに届く前に止める。低レイテンシが必須。 | コンテキスト照合(専用の軽量モデル)、決定論的な事前スクリーン |
| サンプリング・継続監視(Layer 2:オブザーバビリティ) | 全トラフィックは難しくても、傾向・劣化を把握したい。 | 自己一貫性チェック、LLM-as-a-Judgeなど、コストの高い手法もここでなら現実的 |
ポイントは、役割が違うということ。
- リアルタイム・ブロッキングは「この1回の応答を今すぐ止めるか」を決める話。
- 継続監視は「このAIシステムのハルシネーション率が、先週・先月と比べてどう推移しているか」を追う話。
コストの高い手法をいきなり全量・リアルタイムに適用しようとすると破綻しやすい。まず軽量な手法でリアルタイムに広く網をかけ、コストの高い精緻な手法はサンプリングして継続監視に回す、という二段構えが現実的。
3. 組み合わせの型(提案テンプレート)
相手の状況に応じて、以下のような組み合わせを提案する。
パターンA:RAGアプリケーションで、ユーザー向けにリアルタイムで止めたい
→ コンテキスト照合(専用の軽量モデル)をリアルタイム・ブロッキングに採用。 根拠文書がある前提を活かし、低レイテンシで高精度に判定できる。
パターンB:自由生成(要約・雑談など)で、コンテキストが手元にない
→ 決定論的な事前スクリーンで一次フィルタ → 疑わしいものだけ自己一貫性チェックやLLM-as-a-Judgeに回す。 全件に高コストな手法をかけずに済む。
パターンC:まずは現状把握から始めたい(本番投入済みだが監視体制がない)
→ サンプリングでLLM-as-a-Judge or 自己一貫性チェックを継続的に走らせ、ダッシュボードで傾向を追う。 リアルタイム・ブロッキングより先に、まず「今どれくらいハルシネーションが起きているか」を可視化するところから始める。
4. まとめ
- ハルシネーション検知は「唯一の正解手法」があるわけではなく、RAGかどうかとリアルタイム性が必要かどうかの2軸で最適な組み合わせが変わる。
- コストの高い手法(自己一貫性チェック、LLM-as-a-Judge)は継続監視(Layer 2)に、低コストで高速な手法(コンテキスト照合、事前スクリーン)はリアルタイム・ブロッキング(Layer 3)に、という役割分担が実務的。
- 相談を受けたら、まず「RAGか自由生成か」「リアルタイムか事後把握で十分か」の2点を聞き、このマトリクスに当てはめて提案するとよい。
SpecialPR