はじめに:なぜ今、全体を俯瞰するのか
第1弾から第8弾まで、RAGを様々な角度から改善してきました。
振り返ると「何かを改善するたびに別のところが気になる」という繰り返しでした。それは当然で、RAGシステムは5つの環節(フェーズ)から構成されており、どの環節を改善するかによって効く質問タイプが変わるからです。
この番外篇では:
- RAGの5環節の全体像
- 各環節の最新技術と登場時期
- 本シリーズがどの環節を改善してきたか
- 実際のプロダクトでの採用状況
- 質問タイプ別「どこを改善すべきか」の指針
を整理します。
RAGシステムの5つの環節
ドキュメント群
↓
【環節①】インデックス構築(チャンキング)
↓
┌─────────────────┐
│ ベクトルDB │
└─────────────────┘
↑検索
【環節②】クエリ処理・変換
↓
【環節③】検索(Retrieval)
↓
【環節④】ランキング・フィルタリング
↓
【環節⑤】回答生成(Generation)
↓
最終回答
この構造を念頭に置くと、本シリーズ各弾の位置づけが明確になります。

環節① インデックス構築(チャンキング)
概要
ドキュメントをどう「切り分けて」ベクトル化するかを決める工程。ここが悪ければ後工程でどんなに工夫しても限界がある。
最新技術マップ
| 技術 | 登場・普及 | 概要 | 採用プロダクト例 |
|---|---|---|---|
| Fixed-size Chunking | 〜2022年(RAG黎明期) | 固定文字数で分割。実装が簡単だが意味の切断が起きやすい | ほぼ全サービスのベースライン |
| Markdown / 構造チャンキング | 2023年 | 見出し単位で分割。文書構造を保持する | LlamaIndex, LangChain標準機能 |
| Semantic Chunking | 2023〜2024年 | 文の埋め込み類似度で意味の境界を検出して分割 | Chroma Research, LlamaIndex |
| Small-to-Big(Parent-Child) | 2024年 | 小チャンクで検索して親チャンクを返す。精度と文脈の両立 | LlamaIndex, Azure AI Search |
| Late Chunking | 2024年 | ドキュメント全体をエンコードしてからチャンクにプーリング。文脈が保持される | Jina AI |
| Contextual Retrieval | 2024年(Anthropic) | 各チャンクに「ドキュメント全体の文脈サマリー」を付与してからインデックス | Anthropic Claude活用プロダクト |
| Proposition-based Chunking | 2024〜2025年 | LLMで原子的な命題(1文1事実)に分解してインデックス | 研究段階 → 医療・法務分野で採用 |
| HyPE(Hypothetical Prompt Embeddings) | 2025年 | インデックス時に各チャンクに対しHyDEの逆:仮説クエリを生成して埋め込む | 研究段階 |
本シリーズでのカバレッジ
- 第1弾:Fixed-size(ベースライン)
- 第4弾 Smart Chunk RAG:Markdownヘッダーチャンキングでチャンク数47→31に削減 ✅
未カバーの注目技術
Semantic ChunkingとSmall-to-Bigは2024年に実用化が進み、LlamaIndexで標準APIとして提供されています。特にSmall-to-Bigは「精密に検索しつつ十分な文脈を返す」というジレンマを解消するアプローチとして注目です。
環節② クエリ処理・変換
概要
ユーザーが入力したクエリをそのまま検索に使うのではなく、検索に適した形に変換・拡張する工程。
最新技術マップ
| 技術 | 登場・普及 | 概要 | 採用プロダクト例 |
|---|---|---|---|
| そのままベクトル化 | 〜2022年 | クエリを直接Embeddingして検索。ベースライン | 全サービスの基本 |
| HyDE(Hypothetical Document Embeddings) | 2022年論文 → 2023年普及 | 仮説回答文書を生成してから検索。クエリ・文書ギャップを埋める | Haystack, LlamaIndex組み込み |
| Query Decomposition(Multi-Query) | 2023年 | 複合質問をサブクエリに分解して並列検索 | LangChain Multi-Query Retriever, Perplexity |
| Step-Back Prompting | 2023年(Google論文) | 具体的なクエリを一段抽象化してから検索 | 研究段階 |
| Query Expansion | 古典的手法 → LLM版2023年〜 | 同義語・関連語を追加して語彙ミスマッチを解消 | Elasticsearch AI Search |
| HyPE(Hypothetical Prompt Embeddings) | 2025年 | インデックス側で仮説クエリを生成(HyDEのインデックス版) | 研究段階 |
本シリーズでのカバレッジ
- 第8弾 Query-Optimized RAG:HyDE + Query Decompositionの両方を実装 ✅
質問タイプ別の効果
| 質問タイプ | 推奨手法 | 理由 |
|---|---|---|
| 抽象的・概念的(Q1型) | HyDE | クエリと文書の表現ギャップが大きいため |
| 明確なキーワード型(Q2型) | そのまま検索 | 分解・変換は不要でオーバーヘッドのみ |
| 複合・横断型(Q3型) | Query Decomposition | 複数トピックを分けて検索することで網羅性が上がる |
環節③ 検索(Retrieval)
概要
インデックスから関連チャンクを取得する工程。量(Recall)を重視する段階。
最新技術マップ
| 技術 | 登場・普及 | 概要 | 採用プロダクト例 |
|---|---|---|---|
| Dense(ベクトル検索 / Bi-Encoder) | 2020年 DPR論文 → 2022年普及 | 意味的類似度で検索。語彙ミスマッチに強い | ChromaDB, Pinecone, Weaviate |
| Sparse(BM25) | 1994年論文 → 現在も現役 | キーワードマッチング。専門用語・固有名詞に強い | Elasticsearch, OpenSearch |
| Hybrid(Dense + BM25 + RRF) | 2021〜2022年 | 両者をRRFで融合。バランスが良い | Azure AI Search, Weaviate, Qdrant |
| GraphRAG(知識グラフ) | 2024年2月 Microsoft発表・OSS公開 | エンティティ関係グラフ。複数文書横断の質問に強い | Microsoft GraphRAG OSS, Neo4j |
| Agentic RAG(ループ再検索) | 2023〜2024年 | 品質不足なら再検索・クエリ書き換えをループ | LangGraph, AutoGen |
| Multi-Vector / ColBERT | 2020年論文 → 2024年実用化 | トークン単位の複数ベクトルで細粒度マッチング | RAGatouille, Qdrant, Vespa |
| RAPTOR(階層ツリー型RAG) | 2024年 | 文書を要約してツリー構造でインデックス。広範な質問に対応 | LlamaIndex実装済み |
本シリーズでのカバレッジ
- 第1〜8弾:Dense(ChromaDB)は全弾で使用 ✅
- 第3弾 Hybrid RAG:BM25 + RRF ✅
- 第2弾 Agentic RAG:LangGraphによるループ再検索 ✅
- 第7弾 GraphRAG:NetworkX + ChromaDB ✅
未カバーの注目技術
ColBERT / Multi-Vectorは2024年に実用化が加速。RAGatoulleライブラリでPythonから容易に使えるようになっています。クエリの各トークンベクトルとドキュメントのトークンベクトルの最大類似度スコアを集約するため、単一ベクトルのBi-Encoderが見逃す細粒度のマッチングが可能です。
環節④ ランキング・フィルタリング
概要
環節③で取得した大量の候補チャンクを精度(Precision)重視で並び替える工程。
最新技術マップ
| 技術 | 登場・普及 | 概要 | 採用プロダクト例 |
|---|---|---|---|
| Bi-Encoder初期スコア | 2020年〜 | Dense検索のコサイン類似度スコアをそのまま使用。高速だが精度に限界 | デフォルト構成 |
| Cross-Encoder Re-ranking | 2019年BERT〜 → 2022年普及 | クエリとチャンクをペアで評価。精度が高いが計算コスト大 | Cohere Rerank, Jina Reranker, Voyage |
| LLM Re-ranking | 2023〜2024年 | LLMに「この文書は関連するか?」と直接判定させる | GPT-4ベースの実装, RankGPT |
| Corrective RAG(CRAG) | 2024年(Yan et al.) | 検索品質が低い場合に自動でWeb検索にフォールバック。自己修正ループ | LangGraph実装済み |
| RAGAs・TruLens(評価フレームワーク) | 2022〜2023年体系化 | Recall@K, MRR, Faithfulness等の定量評価 | RAGAs(OSS), TruLens |
本シリーズでのカバレッジ
- 第5弾 RAG評価:Recall@K / MRR / キーワードヒット率で全手法を定量比較 ✅
- 第6弾 Re-ranking RAG:Cross-Encoder(mmarco-mMiniLMv2-L12-H384-v1)でMRR 1.000達成 ✅
未カバーの注目技術
Corrective RAG(CRAG) は第2弾 Agentic RAGの発展形として注目です。検索結果の品質を評価し、「正確」なら通常生成、「曖昧」ならクエリ再構築、「不正確」ならWeb検索へフォールバックする自己修正ループを実装します。
環節⑤ 回答生成(Generation)
概要
取得・ランキングされたチャンクをコンテキストとしてLLMに回答を生成させる工程。
最新技術マップ
| 技術 | 登場・普及 | 概要 | 採用プロダクト例 |
|---|---|---|---|
| Naive Generation | 2020年 RAG論文 | チャンクを連結してプロンプトに渡す基本形 | 全RAGサービスの基本 |
| Agentic(ループ・自己評価) | 2023〜2024年 | 生成品質を自己評価して不十分なら再検索 | LangGraph, CrewAI |
| Streaming応答 | 2023年〜(API普及) | トークンをストリームで返し、UXを改善 | ChatGPT, Claude, Perplexity全般 |
| Self-RAG(自己反省生成) | 2023年論文 → 2024年 | 検索が必要かどうかを自己判断し、生成の各ステップで反省トークンを出力 | 研究段階 |
| Fusion-in-Decoder | 2021年 | 複数チャンクをデコーダーで統合生成。大規模システム向け | 研究・大規模システム |
| Context Engineering | 2025年〜 | RAGを超えた概念。「何をコンテキストに入れるか」を体系的に設計する | 業界トレンドとして台頭 |
本シリーズでのカバレッジ
- 第1〜8弾:Naive Generation(全弾共通) ✅
- 第2弾 Agentic RAG:LangGraphによるループ・再検索 ✅
シリーズ全8弾のマッピング
まだ本シリーズで本格的に扱っていない環節:
- 環節① Semantic Chunking / Small-to-Big / Contextual Retrieval
- 環節③ ColBERT / RAPTOR
- 環節④ Corrective RAG
- 環節⑤ Self-RAG / Streaming
実際のプロダクトでの採用状況
| プロダクト | 主な技術構成 | 特徴 |
|---|---|---|
| Microsoft Copilot | Hybrid RAG(Azure AI Search)+ Re-ranking | 「RAGはエンタープライズのあらゆるAIアプリケーションの核心」とSatya Nadella氏が明言。Azure AI SearchでFortune 500企業の85%に展開 |
| Google NotebookLM | Dense RAG + Gemini 2.0 + ソース固定型 | ユーザーが指定したソースのみを参照する「閉じたRAG」。ハルシネーション低減に効果的 |
| Perplexity AI | Agentic RAG + Web検索リアルタイム統合 | クエリに応じて検索エンジンを動的に使用。CRAG的な自己修正も実装 |
| LangChain / LlamaIndex | ほぼ全技術をサポート | Semantic Chunking, Small-to-Big, HyDE, ColBERT等を標準ライブラリとして提供 |
| Qdrant | Hybrid(Dense + Sparse)+ ColBERT Re-ranking | ベクトルDB単体でHybrid検索とRe-rankingをサポート。BM42(BM25の改善版)も開発中 |
| Cohere | Re-ranking API(Rerank 3)+ Command R+ | Cross-Encoder Re-rankingをAPIとして提供。多言語対応が強み |
質問タイプ別「どこを改善すべきか」の指針
本シリーズの3つのテスト質問を例に:
Q2型「SQLインジェクションとは何ですか?」
キーワードが明確な具体的質問。
優先改善環節: ③検索
推奨手法: Hybrid RAG(BM25 + Dense)
理由: 「SQLインジェクション」という固有名詞は
BM25のキーワードマッチが圧倒的に効果的
環節②クエリ変換は効果が薄い(むしろノイズになる場合も)
Q1型「コードの品質を保ちながら開発スピードを上げるには?」
抽象的・概念的な質問。
優先改善環節: ②クエリ変換
推奨手法: HyDE
理由: 「開発スピード」「コード品質」という抽象語は
文書内の具体的な表現と乖離がある
仮説文書生成で「テスト自動化」「CI/CD」等の具体語を補完
Q3型「APIのエラーハンドリングとDBのトランザクション管理の共通点は?」
複数ドキュメントにまたがる横断質問。
優先改善環節: ②クエリ変換 + ③検索 + ④ランキング
推奨手法: Query Decomposition + Hybrid RAG + Re-ranking
または GraphRAG(エンティティ関係が豊富な場合)
理由: 2つの異なるドキュメントをつなぐ必要があるため
単一の改善では限界がある
MRR推移:シリーズを通じた改善の軌跡
各弾での実測値をもとにした推移:
| 弾 | テーマ | Q2 MRR | Q3 MRR | 全体 MRR |
|---|---|---|---|---|
| 第1弾 | Normal RAG | 低 | 低 | ベースライン |
| 第2弾 | Agentic RAG | 改善 | 改善 | 再検索で補完 |
| 第3弾 | Hybrid RAG | 改善 | 改善 | BM25でキーワード強化 |
| 第4弾 | Smart Chunk RAG | 改善 | 改善 | 構造化チャンク |
| 第5弾 | RAG評価 | 比較基準確立 | 比較基準確立 | 定量化 |
| 第6弾 | Re-ranking RAG | 1.000 | 改善 | Cross-Encoder精密化 |
| 第7弾 | GraphRAG | 1.000 | 1.000 | 文書横断ブリッジ |
| 第8弾 | Query-Optimized | - | HyDE: 1.000 | クエリ変換で補完 |
2025年の最新動向:「Context Engineering」の台頭
2024〜2025年にかけて起きた重要な変化として、ロングコンテキストLLMの普及があります。
ロングコンテキスト能力の向上はRAGの終焉を意味せず、むしろ「まず検索して、ロングコンテキストで保持する」という相乗効果を生み出している。「検索アルゴリズムの最適化」から「検索・コンテキスト組み立て・モデル推論のエンドツーエンドパイプライン設計」へのシフトが起きており、これが"Context Engineering"という新分野として台頭している。
RAGはなくならない。むしろ、より精緻な「何をコンテキストに入れるか」の設計が重要になっています。
実行環境
| 項目 | 内容 |
|---|---|
| LLM | claude-haiku-4-5-20251001 |
| Embedding | paraphrase-multilingual-MiniLM-L12-v2 |
| Vector DB | ChromaDB |
| 評価指標 | MRR, Recall@K |
シリーズ全弾は Qiita で公開しています。
