なぜ単一の検索方式では足りないのか
社内検索のクエリは多様です。「在宅勤務の申請方法は?」のような言い換え型もあれば、「ISMS-03-12 の改訂日は?」のような識別子直打ちもあります。
- 密ベクトル検索:意味的類似に強い。言い換え・要約質問に強い
- 疎検索(BM25等):語句一致に強い。ID・固有名詞・コードに強い
どちらか一方だと、もう一方の失敗モードを吸収できません。そこで並行検索+融合が必要になります。
RRF(Reciprocal Rank Fusion)とは
RRFは、各検索器の「順位」だけを使ってスコアを足し合わせる融合法です(Cormack, Clarke, Buettcher, SIGIR 2009)。コサイン類似度とBM25のようにスケールが違うスコアを無理に正規化しなくてよいのが利点です。
代表的な式は、各リストの順位 r に対して 1/(k + r) を加算する形です。平滑化定数 k は 60 がよく使われる起点値です。
実装の標準パイプライン
- BM25 とベクトル検索を並列実行(各 top 50〜200 程度から開始)
- RRF で候補を統合
- (任意)クロスエンコーダで再ランキングし、最終 5〜12 チャンクを文脈へ
- 生成時は出典IDを強制し、根拠外の断定を抑制
チューニングの勘所
- まず Recall(正解文書が候補に入るか)を上げる
- 融合後にノイズが増えたら再ランクやメタデータフィルタで絞る
- 技術文書・ログ・コード混在コーパスではハイブリッドの効果が大きい傾向
- 意味中心のコーパスでは差が小さいこともあるため、必ず自社データで測る
デモクロでの位置づけ
Agentic RAG の前段として、通常RAGの検索基盤をハイブリッド化しておくと、エージェントが再検索しても「そもそも候補に載らない」失敗を減らせます。データ処理で付与したメタデータ(部門・文書種別・版)と組み合わせると、権限制御とも相性が良くなります。
参考:RRF原論文(SIGIR 2009)、ハイブリッド検索とRRFの実装解説、エンタープライズRAG最適化の実践ガイド。