多段検索の繰り返しが、RAGシステムのボトルネックになっている。
この記事では、Metaの研究者が発表したLLM拡張BM25ベースの検索エージェント「SIRA(SuperIntelligent Retrieval Agent)」を紹介する。arXivに投稿された論文とともに、GitHubでコードが公開された。
この記事でわかること
- 現在のRAGシステムが多段検索に頼る理由と問題点
- SIRAが検索を1回のBM25呼び出しに圧縮する仕組み
- 10のBEIRベンチマークでの性能
- GitHubからSIRAを試す手順
多段検索がRAGを遅くする
RAGシステムの多くは、検索を「黒い箱」として扱っている。クエリを投げてスニペットを確認し、結果が不十分なら再びクエリを修正する。この繰り返しは、データベースに不慣れな新人が手探りで検索するやり方に近い。
問題は効率だ。複数回の検索ラウンドはレイテンシを増やし、再現率を下げる。大規模な知識ベースを扱うエージェントほど、この非効率が顕在化しやすい。SIRAの論文はこの構造的な問題を「不要な検索ラウンド、レイテンシの増大、低い再現率」と整理している。
SIRAとは — 1回の検索で完結させる
https://arxiv.org/abs/2605.06647
SIRA(SuperIntelligent Retrieval Agent)は、「優秀な検索者ならどうするか」という観点でゼロから設計された検索パイプラインだ。専門家はクエリに関連する単語を探すのではなく、「どの語句がノイズから目的の証拠を分離できるか」を考える。SIRAはこの思考をLLMで再現する。
設計の核心は「コーパス識別力の高い検索語を1度で特定する」ことにある。多段の探索的検索を1回のBM25呼び出しに圧縮できれば、レイテンシと計算コストの両方を削減できる。
3フェーズのパイプライン
SIRAのパイプラインはコーパス拡充・クエリ拡張・統計フィルタリングの3段階で構成される。
コーパス拡充(オフライン処理)
LLMが各ドキュメントを読み、そのドキュメントが検索されやすくなるインデックスフレーズを生成する。元のテキストに不足している検索語彙を補完し、BM25がマッチできる語の幅を広げる。この処理はオフラインで完了するため、検索時のレイテンシには影響しない。
クエリ拡張
ユーザーのクエリに対し、LLMが「このクエリが指す証拠ドキュメントには、どんな単語が含まれているはずか」を予測する。クエリが省略している語彙を補い、BM25の入力に追加する。
統計フィルタリング
文書頻度統計をツール呼び出しで参照し、提案された拡張語句から「コーパスに存在しない語句」「出現頻度が高すぎてノイズになる語句」「識別力のない語句」を除去する。最終的な検索は、元のクエリと検証済み拡張語句を組み合わせた1回の重み付きBM25呼び出しになる。
BEIRベンチマークでの性能
10のBEIRベンチマークと下流の質問応答タスクで評価した結果、SIRAは密検索モデル(dense retriever)および最新の多段エージェント型ベースラインを上回る性能を示した。
特筆すべき点はSIRAが学習不要(training-free)であることだ。追加のファインチューニングなしに、推論時の計算だけで高い精度を達成する。また、検索語の採択・除外ロジックが明示的なため、なぜその結果になったか追跡しやすい。コスト面でも「実質的に高価な多段検索を超えられる」と論文は主張している(参考)。
密検索との位置づけ
BM25は古典的な全文検索アルゴリズムで、語彙のマッチに依存する。クエリと異なる表現で書かれたドキュメントを見落とす語彙ミスマッチ問題を持つ。密検索モデル(DPRやColBERTなど)はベクトル類似度でこの問題を回避できるが、大量のラベル付きデータによるファインチューニングが必要でコストが高い。
SIRAはその間を狙う。LLMの知識でBM25の語彙ミスマッチをあらかじめ解消し、訓練コストなしに密検索と同等以上の精度を得る戦略だ。解釈可能性が維持される点も、本番システムへの組み込みを検討する際の利点になる。
GitHubからSIRAを試す
https://github.com/facebookresearch/sira
リポジトリはMITライセンスで公開されている。動作にはPython 3.12以上、CUDA対応GPU(論文ではNVIDIA H100で検証)、Rustツールチェーンが必要だ。
セットアップはcondaで環境を作り、pip install -e . で依存関係をインストールする。実行は以下のコマンドで開始できる。
python scripts/run_pipeline.py data=scifact server.auto_start=true
data=scifact の部分をBEIRの他のデータセット名に変えることで、複数データセットへの適用も可能だ。コーパスのサイズや利用するLLMに応じて設定ファイルを調整する設計になっている。
まとめ
SIRAはLLMによる語彙拡張とBM25の組み合わせで、多段RAG検索の非効率を解消するアプローチだ。学習不要・解釈可能・効率的という三つの特性を持ち、論文とコードの両方が公開済みで検証しやすい。既存のRAGパイプラインの検索レイヤーを見直す際の選択肢として挙がる研究だ。