序論:検索拡張生成の理論的位置づけ
検索拡張生成(Retrieval-Augmented Generation; RAG)は、大規模言語モデル(LLM)のパラメトリック知識を外部知識ソースからの検索結果で補強する枠組みであり、LLMの実用的展開における中核的パラダイムとして確立されている。Lewis et al.(2020)による原著論文以降、RAGは学術研究と産業応用の両面で急速に発展し、ハルシネーション(幻覚)の緩和、知識の最新性確保、およびドメイン特化型応用の実現において不可欠な技術となっている。
RAGの基本的な発想は、LLMのパラメータに全知識を暗記させるのではなく、必要な情報を動的に検索し、生成時のコンテキストとして提供するというものである。これは、人間の認知における「内部記憶」と「外部参照」の使い分けに対応する、直観的かつ合理的なアプローチである。
本稿では、RAGシステムの理論的基盤を構成する主要コンポーネント——密検索(dense retrieval)、チャンキング戦略、リランキング、プロンプト構成——を数理的観点から分析し、Naive RAGから Advanced RAGへの発展的アーキテクチャパターンを体系的に解説する。
密検索の数理的基盤
RAGシステムの検索コンポーネントは、クエリに対して意味的に関連するドキュメントを大規模コーパスから効率的に取得する機能を担う。疎検索(sparse retrieval)——BM25(Robertson et al., 2009)に代表される語彙的手法——と密検索(dense retrieval)——ニューラルエンコーダに基づく意味的手法——が主要なアプローチである。
密検索は、クエリとドキュメントをそれぞれ密なベクトル表現に変換し、ベクトル空間での類似度に基づいて検索を行う。DPR(Dense Passage Retrieval; Karpukhin et al., 2020)は、BERTベースの二重エンコーダ(bi-encoder)アーキテクチャを用いた密検索の先駆的研究であり、クエリエンコーダ E_q とドキュメントエンコーダ E_d を別個に訓練する:
sim(q, d) = E_q(q)⊤ · E_d(d)
訓練は、正のペア(クエリと関連ドキュメント)と負のペア(クエリと非関連ドキュメント)に対する対照損失で行われる。In-batch negatives(同一バッチ内の他のクエリに対応するドキュメントを負例として使用)は、計算効率的な負例サンプリング手法として広く採用されている。
E5(Wang et al., 2024)、BGE(Xiao et al., 2024)、GTE(Li et al., 2023)等の最新の埋め込みモデルは、対照学習と指示付き微調整を組み合わせることで、汎用的かつ高品質な文書埋め込みを実現している。特にE5-Mistral(Wang et al., 2024)は、LLMベースの埋め込みモデルとして、従来のBERTベースモデルを大幅に上回る検索性能を達成した。
近似最近傍探索(Approximate Nearest Neighbor; ANN)は、大規模ベクトルデータベースにおける効率的な類似度検索を実現する技術であり、RAGシステムのスケーラビリティに不可欠である。HNSW(Hierarchical Navigable Small World; Malkov & Yashunin, 2020)は、階層的グラフ構造に基づくANNアルゴリズムであり、高い再現率と検索速度の両立を実現する。IVF-PQ(Inverted File with Product Quantization)は、ベクトルの量子化による圧縮とインデックス構造の組み合わせにより、メモリ効率と検索速度を最適化する。FAISS(Johnson et al., 2021)、Milvus、Qdrant、Weaviate等のベクトルデータベースがこれらのアルゴリズムを実装している。
RAGアーキテクチャの全体構成
チャンキング戦略の理論と実践
チャンキング(chunking)は、原文書を検索単位となるテキスト断片に分割する前処理であり、RAGシステムの検索品質に決定的な影響を与える。チャンクサイズ、分割方法、およびオーバーラップの設計は、検索精度と文脈の完全性のトレードオフを伴う重要な設計判断である。
固定サイズチャンキングは、テキストを一定のトークン数(典型的には256〜1024トークン)で機械的に分割する最も単純な手法であり、実装が容易である一方、文の途中での分割や文脈の断絶が発生しうる。オーバーラップ(典型的には10〜20%)の導入により、チャンク境界での情報損失を緩和できる。
再帰的文字分割(RecursiveCharacterTextSplitter)は、段落、文、単語等の自然な区切りを階層的に利用して分割する手法であり、LangChainにおける標準的な実装が広く使用されている。セマンティックチャンキングは、文間の意味的類似度に基づいて分割点を決定する手法であり、隣接文のペアの埋め込み類似度が閾値を下回る点で分割する。
文書構造を考慮したチャンキング(structure-aware chunking)は、見出し、段落、リスト等のHTML/Markdown構造を利用して意味的に一貫性のあるチャンクを生成する。このアプローチは、技術文書やFAQ等の構造化された文書に対して特に有効である。
Small-to-Big検索戦略は、小さなチャンク(例:1〜2文)で検索の精度を高めつつ、LLMに提供するコンテキストとしては親チャンク(当該文を含むより大きな段落)を返す手法であり、検索精度と文脈の完全性を両立させる。
ハイブリッド検索とリランキング
実用的なRAGシステムでは、密検索と疎検索を組み合わせたハイブリッド検索が標準的手法となっている。密検索は意味的類似性の捕捉に優れる一方、固有名詞やキーワードの完全一致には疎検索が有利であり、両者の相補的特性を活用する。
Reciprocal Rank Fusion(RRF; Cormack et al., 2009)は、複数の検索結果リストを統合するための代表的手法であり、各文書のスコアをランク順位の逆数の和として計算する:
RRF_score(d) = Σ_r 1 / (k + rank_r(d))
ここで k(典型的には60)はスムージングパラメータ、rank_r(d) は検索手法 r における文書 d のランクである。RRFは、異なるスケールのスコアを正規化する必要がなく、ロバストな結果統合を実現する。
リランキング(reranking)は、初期検索で取得された候補文書群をより精密なモデルで再順位付けする手法であり、検索品質の大幅な向上を実現する。Cross-Encoderベースのリランカーは、クエリと文書のペアを同時に入力として受け取り、関連度スコアを直接出力する:
score(q, d) = CrossEncoder([q; d])
Bi-Encoder(密検索で使用)が独立にエンコードされた表現の類似度を計算するのに対し、Cross-Encoderはクエリと文書の間の細粒度な相互作用をモデル化できるため、より精確な関連度推定が可能である。ただし、すべてのクエリ-文書ペアに対して推論を行う必要があるため、計算コストが高く、初期検索の上位候補(典型的には20〜100件)に対してのみ適用される。
Cohere Rerank、Jina Reranker、BGE Reranker等の特化型リランカーモデルが公開されており、RAGシステムにおける標準的なコンポーネントとなっている。ColBERT(Khattab & Zaharia, 2020)は、トークンレベルの遅延相互作用(late interaction)を導入し、Bi-EncoderとCross-Encoderの中間的な計算効率と精度のトレードオフを実現する。
Advanced RAGパターン
Naive RAG(単純な検索→生成パイプライン)の限界を克服するため、多様なAdvanced RAGパターンが提案されている。これらは、クエリの前処理、検索の改善、および生成の後処理において、より洗練された戦略を導入する。
Query Transformation(クエリ変換)は、ユーザーの元のクエリを検索に最適化された形式に変換する手法群である。HyDE(Hypothetical Document Embeddings; Gao et al., 2023)は、LLMに仮想的な回答文書を生成させ、その埋め込みをクエリとして使用する。これにより、クエリとドキュメント間の表現ギャップ(クエリは短い質問、ドキュメントは説明的な文章)を緩和する。Multi-Query Retrieval は、元のクエリから複数の類義的クエリを生成し、それぞれの検索結果を統合する。Step-back Prompting(Zheng et al., 2024)は、具体的なクエリからより抽象的な質問を導出し、関連する背景知識の検索を可能にする。
Self-RAG(Asai et al., 2024)は、モデル自身が検索の必要性を判断し、検索結果の関連性を評価し、生成された応答の品質を自己批判する枠組みである。特殊なリフレクショントークンを用いて、検索・生成・評価の各段階でモデルの判断を明示的に制御する。
CRAG(Corrective RAG; Yan et al., 2024)は、検索結果の品質を評価し、不適切な場合にクエリの修正やWeb検索へのフォールバックを行う補正的なRAGフレームワークである。
Agentic RAG は、LLMをエージェントとして機能させ、検索ツールの選択、検索結果の評価、追加検索の実行等を動的に判断する枠組みである。ReAct(Yao et al., 2023)パターンに基づき、推論(Reasoning)と行動(Acting)を交互に繰り返すことで、複雑なクエリへの段階的な回答構築を実現する。
GraphRAGと構造化知識の活用
GraphRAG(Microsoft, 2024)は、テキストコーパスからナレッジグラフを自動構築し、グラフ構造を活用した検索と生成を行う手法である。従来のベクトル検索が局所的な類似性に基づくのに対し、GraphRAGはエンティティ間の関係やグローバルなテーマ構造を活用した検索を可能にする。
GraphRAGのインデキシングプロセスは、LLMを用いたエンティティと関係の抽出、コミュニティ検出(Leiden algorithm等)、およびコミュニティサマリーの生成からなる。検索時には、局所検索(エンティティの近傍を探索)とグローバル検索(コミュニティサマリーを利用)の二つのモードが提供される。
RAPTOR(Sarthi et al., 2024)は、テキストチャンクの階層的クラスタリングとサマリー生成に基づく木構造インデックスを構築し、異なる抽象度レベルでの検索を実現する。異なるレベルのサマリーを検索対象とすることで、具体的な事実から高レベルのテーマまで、クエリの粒度に応じた適切な情報取得が可能となる。
RAGアーキテクチャの進化:Naive → Advanced → Agentic
RAGシステムの評価フレームワーク
RAGシステムの評価は、検索コンポーネントと生成コンポーネントの両方を対象とする多面的な指標体系を必要とする。RAGAS(Retrieval Augmented Generation Assessment; Es et al., 2024)は、代表的なRAG評価フレームワークであり、以下の主要指標を定義している。
Faithfulness(忠実性): 生成された回答が、検索されたコンテキストの情報に忠実であるかを評価する。回答中の各主張(claim)がコンテキストに支持されているかをLLMが判定し、支持される主張の割合を算出する。
Answer Relevancy(回答関連性): 生成された回答がユーザーのクエリに対して関連性を持つかを評価する。回答から逆にクエリを生成し、元のクエリとの類似度を測定する。
Context Precision(コンテキスト精度): 検索されたコンテキスト中の関連チャンクが上位にランクされているかを評価する。
Context Recall(コンテキスト再現率): 回答に必要な情報がコンテキスト中にどの程度含まれているかを評価する。
これらの指標は、LLM-as-a-Judge(LLMを評価者として使用)パターンに基づいており、大規模な人間評価なしに自動的な評価を実現する。ただし、LLM評価者自身のバイアスや不正確性が結果に影響しうるため、重要なアプリケーションでは人間評価との相関検証が推奨される。
実装最適化と本番運用
RAGシステムの本番運用においては、レイテンシ、スループット、コスト、および信頼性の最適化が重要な工学的課題である。
キャッシュ戦略は、頻出クエリに対する応答のキャッシングにより、レイテンシとコストの両面で効果を発揮する。セマンティックキャッシュは、クエリの完全一致ではなく意味的類似性に基づいてキャッシュヒットを判定し、表現の揺れに対するロバスト性を提供する。
ストリーミング生成は、LLMの出力を逐次的にユーザーに送信することで、体感的なレイテンシを大幅に低減する。検索と生成の並列化(例:検索結果の一部が利用可能になった時点で生成を開始)も、エンドツーエンドのレイテンシ削減に寄与する。
コンテキストウィンドウの効率的活用は、RAGの性能とコストのトレードオフに直接影響する。検索結果の圧縮(LongLLMLingua; Jiang et al., 2024)、冗長チャンクの除去、および動的なチャンク数調整により、限られたコンテキストウィンドウを最大限に活用する。
メタデータフィルタリングは、検索前にメタデータ(日付、カテゴリ、ソース等)に基づく候補の絞り込みを行うことで、検索精度の向上と計算量の削減を同時に実現する。これはベクトル検索とフィルタリングの組み合わせとして実装され、多くのベクトルデータベースがネイティブにサポートしている。
理論的課題と今後の方向性
RAGの理論的理解と技術的発展には、多くの未解決課題が残されている。第一に、検索と生成の最適な統合方法の理論的原理が確立されていない。検索されたコンテキストがLLMの生成にどのように影響するかのメカニズム——注意機構におけるコンテキストの処理パターン——の理解は、RAGの改善に不可欠である。
第二に、長いコンテキストウィンドウ(128K〜1Mトークン)の実現に伴い、RAGの必要性自体が問い直されている。Gemini 1.5の100万トークンコンテキストは、多くのRAGユースケースを「全文書をコンテキストに入れる」というアプローチで代替可能にしている。しかし、コスト、レイテンシ、およびLost-in-the-Middle問題(Liu et al., 2024)を考慮すると、RAGは依然として実用的に重要であり、長コンテキストとRAGの最適な併用戦略の確立が求められている。
第三に、マルチモーダルRAG——テキストのみならず、画像、表、図等の多様なモダリティを含む文書からの検索と生成——は、急速に重要性を増している研究領域である。ColPali(Faysse et al., 2024)は、文書画像の直接的なビジョン埋め込みによる検索を提案し、OCRやパーサーに依存しない新しいアプローチの可能性を示した。
参考文献
- Asai, A., et al. (2024). Self-RAG: Learning to retrieve, generate, and critique through self-reflection. Proceedings of ICLR 2024.
- Cormack, G. V., Clarke, C. L. A., & Buettcher, S. (2009). Reciprocal rank fusion outperforms condorcet and individual rank learning methods. Proceedings of SIGIR 2009.
- Es, S., et al. (2024). RAGAS: Automated evaluation of retrieval augmented generation. Proceedings of EACL 2024.
- Faysse, M., et al. (2024). ColPali: Efficient document retrieval with vision language models. arXiv:2407.01449.
- Gao, L., et al. (2023). Precise zero-shot dense retrieval without relevance labels. Proceedings of ACL 2023.
- Johnson, J., Douze, M., & Jégou, H. (2021). Billion-scale similarity search with GPUs. IEEE Transactions on Big Data, 7(3), 535–547.
- Karpukhin, V., et al. (2020). Dense passage retrieval for open-domain question answering. Proceedings of EMNLP 2020.
- Khattab, O., & Zaharia, M. (2020). ColBERT: Efficient and effective passage search via contextualized late interaction over BERT. Proceedings of SIGIR 2020.
- Lewis, P., et al. (2020). Retrieval-augmented generation for knowledge-intensive NLP tasks. Advances in Neural Information Processing Systems, 33.
- Liu, N. F., et al. (2024). Lost in the middle: How language models use long contexts. Transactions of the ACL, 12.
- Malkov, Y. A., & Yashunin, D. A. (2020). Efficient and robust approximate nearest neighbor search using hierarchical navigable small world graphs. IEEE Transactions on PAMI, 42(4), 824–836.
- Robertson, S., & Zaragoza, H. (2009). The probabilistic relevance framework: BM25 and beyond. Foundations and Trends in Information Retrieval, 3(4), 333–389.
- Sarthi, P., et al. (2024). RAPTOR: Recursive abstractive processing for tree-organized retrieval. Proceedings of ICLR 2024.
- Wang, L., et al. (2024). Improving text embeddings with large language models. arXiv:2401.00368.
- Yan, S.-Q., et al. (2024). Corrective retrieval augmented generation. arXiv:2401.15884.
- Yao, S., et al. (2023). ReAct: Synergizing reasoning and acting in language models. Proceedings of ICLR 2023.