実際に効く検索拡張

多くの RAG パイプラインが冴えない理由と、効く打ち手:チャンク分割、ハイブリッド検索、再ランク、引用の規律。

intermediate · Claude / GPT-5
#RAG#検索#retrieval

原因は生成ではなく検索にあることが多い

RAG の回答が誤っていると、チームはモデルを疑いがちです。まず測りましょう。正しい記述がそもそも検索で取れていたかを確認します。

「ハルシネーション」と診断された症例の多くは最初のケースです。

チャンク分割は結果を変える

チャンクサイズは最も効くノブで、普遍的な正解はありません。適切な大きさは「1 つの質問に答える最小の証拠単位」で決まります。

最後の点は一般化できます。構造的文脈(タイトル、見出し階層)を前付けする ことです。「期限は 30 日」という断片は、どの規程か分からなければ無意味です。

文書種別分割境界理由
FAQQ&A 1 組自己完結している
API リファレンスエンドポイント 1 件説明とパラメータが分離するため
物語文段落、10〜15% オーバーラップ流れを保つ
コード関数またはクラス構文単位、import 込み

単独よりハイブリッド検索

両方走らせて統合します。単純な和集合でも実務では単独より良く、スコア融合(RRF)ならさらに良く、実装も簡単です。

ERR_2049 や Model-3B のような検索があるなら、キーワード検索は任意ではなく必須です。

生成の前に再ランク

top-k=20 の取得は安価で、それを厳密な top-5 に再ランクすると回答品質が大きく上がります。パターンは次:

  1. 20〜50 件を取得(高速・再現率重視)
  2. クロスエンコーダや LLM で関連度を採点し並べ替え
  3. 上位 3〜5 件だけを生成に渡す

呼び出しが 1 回増えるだけで、「誤った記述を取得」する失敗の多くが直ります。

引用を強制し、検証する

各主張にチャンク ID の引用を必須にします。利点は 2 つ。ユーザーが検証できることと、引用されたチャンクが本当にその主張を含んでいるかを機械的に検査できる ことです。

回答させた後、採点器で抜き取り確認します。チャンク X は文 Y を裏付けるか。取得済みチャンクを安定して引用する回答は、記憶から言い換えた回答よりはるかに信頼できます。

測るべき指標

指標分かること
Recall@k正しいチャンクが候補に入ったか
引用精度引用チャンクは本当に主張を支えるか
有効文脈なし率検索が無駄骨に終わる頻度
チャンク利用率取得したチャンクが実際に参照されたか

再現率が高く利用率が低いなら、コンテキストにゴミを詰めている証拠です。増やすのではなく k を減らします。