---
title: "RAG patterns — RAGパターン"
source: "https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3"
wiki: "systems-analysis.info/int"
article: "RAG_patterns_—_RAGパターン"
language: "ja"
categories:
  - "Category:Japanese"
  - "Category:Large language models"
  - "Category:Prompt engineering"
revision_id: 6119
wiki_created_at: 2026-09-06T23:58:36Z
wiki_modified_at: 2026-09-06T23:58:36Z
downloaded_at: 2026-09-07T23:12:09Z
---

# RAG patterns — RAGパターン

**RAGパターン**（英: *RAG Patterns*）とは、**Retrieval-Augmented Generation**（RAG）システムを構築するための一連のアーキテクチャ的および方法論的アプローチです。これらのパターンは、LLMを外部の動的にアクセス可能なデータソースと統合することにより、大規模言語モデル（LLM）が抱える幻覚（ハルシネーション）、知識の陳腐化、ドメイン固有性の欠如といった根本的な問題を解決するために設計されています<sup>[\[1\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-lewis2020-1)</sup>。RAGの進化は、単純な線形パイプラインから、複雑なモジュール型およびエージェント型システムへと至りました<sup>[\[2\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-survey2024-2)</sup>。

## 主なRAGパターン

技術の発展に伴い、数多くのRAGパターンが登場しました。各パターンは特定の課題を解決するために設計されており、品質、速度、コストの間でそれぞれトレードオフが存在します。

- **Classic RAG（クラシックRAG）** — 基本的なアプローチ。ユーザーのクエリをベクトル化してベクトルDB内の関連チャンクを検索し、見つかったチャンクを質問と共にLLMに渡して回答を生成します<sup>[\[1\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-lewis2020-1)</sup>。

<!-- -->

- **Multi-Query RAG（マルチクエリRAG）** — LLMが元のクエリを言い換えたり明確化したりした複数のバリエーションを生成します。すべてのバリエーションで検索を実行し、結果を統合することで、再現率（*recall*）が向上します<sup>[\[3\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-langchain-multiquery-3)</sup>。

<!-- -->

- **HyDE (Hypothetical Document Expansion)** — 短いクエリと長いドキュメントの間の「セマンティックギャップ」を埋めるためのアプローチ。LLMはまず「仮説的な」回答ドキュメントを生成し、そのエンベディングを検索に使用することで、検索品質が向上することが多いです<sup>[\[4\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-hyde-4)</sup>。

<!-- -->

- **Hybrid Retrieval（ハイブリッド検索）** — セマンティック（ベクトル）検索とレキシカル（BM25）検索の組み合わせ。ハイブリッド方式は本番システムの標準となっています。ベクトル検索は意味的な一致をカバーし、BM25は正確な用語、ID、頭字語を捉えます。結果はフュージョンによって統合されます<sup>[\[5\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-weaviate-hybrid-5)[\[6\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-qdrant-hybrid-6)[\[7\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-milvus-fulltext-7)</sup>。

<!-- -->

- **Re-ranking（リランキング）** — 2段階のプロセス。高速なリトリーバーが候補のセット（例：トップ100）を返し、その後、クロスエンコーダー（または他のリランカー）が関連性を再計算し、LLMに渡すための最良の候補（例：トップ5）を選択します<sup>[\[8\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-nogueira2019-8)[\[9\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-cohere-rerank-9)</sup>。

<!-- -->

- **Query Routing（クエリルーティング）** — 複数の異種データソース（異なるインデックス/DB/API）を持つシステムにおいて、クエリはルーター（LLMセレクターまたは分類器）を使用して最適なソースに転送されます。フォールバック戦略も含まれます<sup>[\[10\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-llama-router-10)</sup>。

<!-- -->

- **Agentic/Web RAG（エージェントRAG）** — LLMがエージェントとして機能し、複雑な質問を分解し、反復処理を計画し、ツール（ベクトル検索、ウェブ検索）をフィードバック付きで使用します。典型的な実装はReActパラダイムです<sup>[\[11\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-react-11)</sup>。ウェブ指向のデータ収集と必須の引用については、WebGPTを参照してください<sup>[\[12\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-webgpt-12)</sup>。

### 関連および発展中のパラダイム

- **GraphRAG（グラフRAG）** — ナレッジグラフをコンテキストのソースおよび選択メカニズムとして使用します。エンティティ間の関係構造とテキストの両方を検索することで、解釈可能性とマルチホップ質問の品質が向上します<sup>[\[13\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-graphrag-13)[\[14\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-graphrag-project-14)</sup>。
- **MM-RAG（マルチモーダルRAG）** — テキストと視覚的なソース（スキャン、図、表）を扱います。例として、VisRAGはマルチモーダルドキュメントに対するVLM指向の検索と生成を示しています<sup>[\[15\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-visrag-15)</sup>。
- **Packaging & Context Handling（コンテキストのパッケージング）** — 見つかったチャンクをプロンプトに統合する方法：*Stuff*、*Map-Reduce*、*Refine*、*Tree-of-Chunks (RAPTOR)*<sup>[\[16\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-raptor-16)</sup>。

## パターンの比較表

| パターン             | 適用時期                                                   | 品質への影響                                                                                                                                                                                                                                                                                                                                                                                                                                                 | コスト / レイテンシー | リスクと制約                                    |
|----------------------|------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|-------------------------------------------------|
| **Classic RAG**      | PoCや均質なデータベースに対する単純なQ&A                   | ベースラインレベル。エンベディングの品質に大きく依存<sup>[\[1\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-lewis2020-1)</sup>                                                                                                                                                                                                                                                               | 低                    | 表現への感度。無関係なコンテキストのリスク      |
| **Hybrid Retrieval** | ほとんどの本番シナリオ。コード/頭字語/IDが多い場合         | 再現率を向上させ、正確な用語をカバー<sup>[\[5\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-weaviate-hybrid-5)[\[6\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-qdrant-hybrid-6)[\[7\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-milvus-fulltext-7)</sup> | 低/中                 | フュージョンの重み調整。2つのインデックスが必要 |
| **Re-ranking**       | 高い精度が重要な場合                                       | トップkの精度を大幅に向上<sup>[\[8\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-nogueira2019-8)[\[9\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-cohere-rerank-9)</sup>                                                                                                                                                    | 中/高                 | 追加のレイテンシー/コスト                       |
| **Multi-Query**      | 短い/多面的なクエリ                                        | 再現率を向上<sup>[\[3\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-langchain-multiquery-3)</sup>                                                                                                                                                                                                                                                                                            | 中                    | 過剰/ノイズの多い言い換え                       |
| **HyDE**             | 短い/曖昧なクエリで「セマンティックギャップ」が大きい場合  | *zero-shot*での検索品質を改善<sup>[\[4\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-hyde-4)</sup>                                                                                                                                                                                                                                                                                           | 中                    | 「仮説的な」テキストの品質に依存                |
| **Query Routing**    | 複数のソース（ドキュメントDB、SQL、API、ウェブ）がある場合 | 正しいソースを選択することで関連性を向上<sup>[\[10\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-llama-router-10)</sup>                                                                                                                                                                                                                                                                      | 中                    | ルーティングエラーは検索の失敗につながる        |
| **Agentic/Web RAG**  | 複雑、探索的、多段階のクエリ                               | 線形パイプラインの範囲を超える課題を解決<sup>[\[11\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-react-11)[\[12\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-webgpt-12)</sup>                                                                                                                                               | 高                    | 複雑さ、ループのリスク。ガードレールが必要      |

主要なRAGパターンの比較

## 実践的な実装とアーキテクチャ

### 導入の段階

1.  **Proof of Concept (PoC):** 限定的だが代表的なデータセットで**Classic RAG**から始め、エンベディングの品質と基本的な検索性能を検証します<sup>[\[1\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-lewis2020-1)</sup>。
2.  **Minimum Viable Product (MVP):** 「労力対効果」が最も高い**Hybrid Retrieval**と**Re-ranking**を導入します<sup>[\[5\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-weaviate-hybrid-5)[\[8\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-nogueira2019-8)</sup>。
3.  **Production:** クエリ変換（**HyDE**、**Multi-Query**）を追加し、必要に応じて**Query Routing**を導入します。オブザーバビリティ（検索/リランキング/回答のロギング）とA/Bテストを設定します<sup>[\[3\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-langchain-multiquery-3)[\[10\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-llama-router-10)</sup>。

### 主要コンポーネント

- **チャンキング（Chunking）:** 品質の最も重要な要因の一つ。単純な固定サイズでは、意味的な単位が分断されることがよくあります。構造指向（マークアップに基づく）または再帰的なスプリッター（段落→文→単語）が推奨されます<sup>[\[17\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-rcsplit-17)[\[18\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-llama-hier-18)</sup>。
- **エンベディングとメタデータ:** 各チャンクにdocument_id、ページ/セクション、タイトル、日付などを保存します。これはフィルタリングや正確な引用に必要です。
- **ハイブリッド検索とリランキング:** BM25とベクトル検索をフュージョン（またはRRF）と組み合わせて使用し、その後、少数の候補プールに対してクロスエンコーダーでリランキングを行います<sup>[\[5\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-weaviate-hybrid-5)[\[6\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-qdrant-hybrid-6)[\[8\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-nogueira2019-8)</sup>。
- **コンテキストのパッケージング:** 大規模なコーパスには*Map-Reduce*、*Refine*、または*Tree-of-Chunks*を選択します<sup>[\[16\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-raptor-16)[\[18\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-llama-hier-18)</sup>。

### よくある間違い（アンチパターン）

- **BM25なしのベクトル検索のみ** → コード/ID/頭字語の検索に失敗<sup>[\[5\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-weaviate-hybrid-5)[\[7\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-milvus-fulltext-7)</sup>。
- **チャンクサイズが大きすぎる/小さすぎる** → コンテキストの損失またはエンベディングの「希薄化」<sup>[\[17\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-rcsplit-17)</sup>。
- **本番環境でのリランキングの欠如** → LLMがノイズの多いコンテキストを受け取る<sup>[\[8\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-nogueira2019-8)</sup>。
- **オブザーバビリティとソースのトレーシングがない** → エラーの原因分析が不可能（RAGの評価を参照）。

## 品質の評価とメトリクス

評価は、検索（オフライン）レベルと、生成（エンドツーエンド）レベルで行われます。

### リトリーバーのメトリクス

- **Hit Rate、Recall@k、MRR** — 関連ドキュメントのカバー率と順位。
- **Context Precision & Recall** — 抽出されたコンテキストに「ゴミ」がなく、必要な情報をすべてカバーしているか（RAGASに実装）<sup>[\[19\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-ragas-19)</sup>。

### ジェネレーターのメトリクス（エンドツーエンド）

- **Faithfulness / Groundedness** — 回答が提供されたコンテキストに忠実であるか。
- **Answer Relevancy（回答の関連性）** — 元の質問に対応しているか。

メトリクスの自動化には、**RAGAS**、**TruLens**（*RAG triad*: context relevance, groundedness, answer relevance）、**DeepEval**などのオープンソースフレームワークが使用されます<sup>[\[20\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-trulens-20)[\[21\]](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_note-deepeval-21)</sup>。

## 関連項目

- Retrieval-Augmented Generation (RAG)
- ベクトルデータベース
- Embedding
- AIエージェント
- GraphRAG
- MM-RAG
- LLMの評価とベンチマーク

## 参考文献

- Lewis, P., Perez, E., et al. (2020). *Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks*. NeurIPS. <a href="https://arxiv.org/abs/2005.11401" class="external text" rel="nofollow">arXiv:2005.11401</a>.
- Fan, W., Ding, Y., et al. (2024). *A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models*. KDD. DOI:10.1145/3637528.3671470; <a href="https://arxiv.org/abs/2405.06211" class="external text" rel="nofollow">arXiv:2405.06211</a>.
- Gao, L., Ma, X., Lin, J., Callan, J. (2023). *Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE)*. ACL 2023. <a href="https://aclanthology.org/2023.acl-long.99/" class="external text" rel="nofollow">ACL Anthology</a>; <a href="https://arxiv.org/abs/2212.10496" class="external text" rel="nofollow">arXiv:2212.10496</a>.
- Nogueira, R., Cho, K. (2019). *Passage Re‑ranking with BERT*. <a href="https://arxiv.org/abs/1901.04085" class="external text" rel="nofollow">arXiv:1901.04085</a>.
- Weaviate Docs. *Hybrid search (BM25+Vector)*. <a href="https://docs.weaviate.io/weaviate/concepts/search/hybrid-search" class="external autonumber" rel="nofollow">[1]</a>.
- Qdrant Docs. *Hybrid Queries*. <a href="https://qdrant.tech/documentation/concepts/hybrid-queries/" class="external autonumber" rel="nofollow">[2]</a>.
- Milvus Docs. *Full‑Text Search* / *Hybrid Search*. <a href="https://milvus.io/docs/full-text-search.md" class="external autonumber" rel="nofollow">[3]</a> / <a href="https://milvus.io/docs/hybrid_search_with_milvus.md" class="external autonumber" rel="nofollow">[4]</a>.
- LangChain Docs. *MultiQueryRetriever*. <a href="https://python.langchain.com/docs/how_to/MultiQueryRetriever/" class="external autonumber" rel="nofollow">[5]</a>.
- Cohere Docs. *Rerank — best practices*. <a href="https://docs.cohere.com/docs/reranking-best-practices" class="external autonumber" rel="nofollow">[6]</a>.
- LlamaIndex Docs. *Routing (query routers/selectors)*. <a href="https://docs.llamaindex.ai/en/stable/module_guides/querying/router/" class="external autonumber" rel="nofollow">[7]</a>.
- Yao, S., et al. (2023). *ReAct: Synergizing Reasoning and Acting in Language Models*. ICLR. <a href="https://arxiv.org/abs/2210.03629" class="external text" rel="nofollow">arXiv:2210.03629</a>.
- Nakano, R., et al. (2021). *WebGPT: Browser‑assisted question‑answering with human feedback*. <a href="https://arxiv.org/abs/2112.09332" class="external text" rel="nofollow">arXiv:2112.09332</a>.
- Microsoft Research Blog. *GraphRAG: Unlocking LLM discovery on narrative private data*. (2024). <a href="https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/" class="external autonumber" rel="nofollow">[8]</a>.
- Microsoft Research. *Project GraphRAG*. (2024). <a href="https://www.microsoft.com/en-us/research/project/graphrag/" class="external autonumber" rel="nofollow">[9]</a>.
- Yu, S., et al. (2024). *VisRAG: Vision‑based Retrieval‑augmented Generation on Multi‑modality Documents*. <a href="https://arxiv.org/abs/2410.10594" class="external text" rel="nofollow">arXiv:2410.10594</a>.
- Sarthi, P., et al. (2024). *RAPTOR: Recursive Abstractive Processing for Tree‑Organized Retrieval*. <a href="https://arxiv.org/abs/2401.18059" class="external text" rel="nofollow">arXiv:2401.18059</a>.
- Es, S., et al. (2024). *RAGAs: Automated Evaluation of Retrieval Augmented Generation*. EACL (Demo). <a href="https://aclanthology.org/2024.eacl-demo.16/" class="external autonumber" rel="nofollow">[10]</a>.
- TruLens Docs. *RAG Triad*. <a href="https://www.trulens.org/getting_started/core_concepts/rag_triad/" class="external autonumber" rel="nofollow">[11]</a>.
- DeepEval (GitHub). *The LLM Evaluation Framework*. <a href="https://github.com/confident-ai/deepeval" class="external autonumber" rel="nofollow">[12]</a>.
- LangChain Docs. *RecursiveCharacterTextSplitter*. <a href="https://python.langchain.com/docs/how_to/recursive_text_splitter/" class="external autonumber" rel="nofollow">[13]</a>.
- LlamaIndex Docs. *HierarchicalNodeParser*; *Response Synthesis (Tree/Refine)*. <a href="https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html" class="external autonumber" rel="nofollow">[14]</a>; <a href="https://docs.llamaindex.ai/en/stable/examples/low_level/response_synthesis/" class="external autonumber" rel="nofollow">[15]</a>.

## 脚注

1.  <span id="cite_note-lewis2020-1">↑ <sup>[1.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-lewis2020_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-lewis2020_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-lewis2020_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-lewis2020_1-3)</sup> Lewis, P., Perez, E., et al. (2020). *Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks*. NeurIPS. arXiv:2005.11401.</span>
2.  <span id="cite_note-survey2024-2">[↑](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-survey2024_2-0) Fan, W., Ding, Y., et al. (2024). *A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models*. KDD. DOI:10.1145/3637528.3671470; arXiv:2405.06211.</span>
3.  <span id="cite_note-langchain-multiquery-3">↑ <sup>[3.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-langchain-multiquery_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-langchain-multiquery_3-1)</sup> <sup>[3.2](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-langchain-multiquery_3-2)</sup> LangChain Docs. *MultiQueryRetriever*. <a href="https://python.langchain.com/docs/how_to/MultiQueryRetriever/" class="external free" rel="nofollow">https://python.langchain.com/docs/how_to/MultiQueryRetriever/</a></span>
4.  <span id="cite_note-hyde-4">↑ <sup>[4.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-hyde_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-hyde_4-1)</sup> Gao, L., Ma, X., Lin, J., Callan, J. (2023). *Precise Zero‑Shot Dense Retrieval without Relevance Labels*. ACL 2023. arXiv:2212.10496; ACL Anthology: 2023.acl‑long.99.</span>
5.  <span id="cite_note-weaviate-hybrid-5">↑ <sup>[5.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-weaviate-hybrid_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-weaviate-hybrid_5-1)</sup> <sup>[5.2](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-weaviate-hybrid_5-2)</sup> <sup>[5.3](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-weaviate-hybrid_5-3)</sup> <sup>[5.4](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-weaviate-hybrid_5-4)</sup> Weaviate Docs. *Hybrid search (BM25+Vector)*. <a href="https://docs.weaviate.io/weaviate/concepts/search/hybrid-search" class="external free" rel="nofollow">https://docs.weaviate.io/weaviate/concepts/search/hybrid-search</a></span>
6.  <span id="cite_note-qdrant-hybrid-6">↑ <sup>[6.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-qdrant-hybrid_6-0)</sup> <sup>[6.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-qdrant-hybrid_6-1)</sup> <sup>[6.2](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-qdrant-hybrid_6-2)</sup> Qdrant Docs. *Hybrid Queries*. <a href="https://qdrant.tech/documentation/concepts/hybrid-queries/" class="external free" rel="nofollow">https://qdrant.tech/documentation/concepts/hybrid-queries/</a></span>
7.  <span id="cite_note-milvus-fulltext-7">↑ <sup>[7.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-milvus-fulltext_7-0)</sup> <sup>[7.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-milvus-fulltext_7-1)</sup> <sup>[7.2](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-milvus-fulltext_7-2)</sup> Milvus Docs. *Full‑Text Search* and *Hybrid Search*. <a href="https://milvus.io/docs/full-text-search.md" class="external free" rel="nofollow">https://milvus.io/docs/full-text-search.md</a>; <a href="https://milvus.io/docs/hybrid_search_with_milvus.md" class="external free" rel="nofollow">https://milvus.io/docs/hybrid_search_with_milvus.md</a></span>
8.  <span id="cite_note-nogueira2019-8">↑ <sup>[8.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-nogueira2019_8-0)</sup> <sup>[8.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-nogueira2019_8-1)</sup> <sup>[8.2](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-nogueira2019_8-2)</sup> <sup>[8.3](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-nogueira2019_8-3)</sup> <sup>[8.4](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-nogueira2019_8-4)</sup> Nogueira, R., Cho, K. (2019). *Passage Re‑ranking with BERT*. arXiv:1901.04085.</span>
9.  <span id="cite_note-cohere-rerank-9">↑ <sup>[9.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-cohere-rerank_9-0)</sup> <sup>[9.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-cohere-rerank_9-1)</sup> Cohere Docs. *Rerank — best practices*. <a href="https://docs.cohere.com/docs/reranking-best-practices" class="external free" rel="nofollow">https://docs.cohere.com/docs/reranking-best-practices</a></span>
10. <span id="cite_note-llama-router-10">↑ <sup>[10.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-llama-router_10-0)</sup> <sup>[10.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-llama-router_10-1)</sup> <sup>[10.2](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-llama-router_10-2)</sup> LlamaIndex Docs. *Routing (query routers/selectors)*. <a href="https://docs.llamaindex.ai/en/stable/module_guides/querying/router/" class="external free" rel="nofollow">https://docs.llamaindex.ai/en/stable/module_guides/querying/router/</a></span>
11. <span id="cite_note-react-11">↑ <sup>[11.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-react_11-0)</sup> <sup>[11.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-react_11-1)</sup> Yao, S., et al. (2023). *ReAct: Synergizing Reasoning and Acting in Language Models*. ICLR 2023. arXiv:2210.03629.</span>
12. <span id="cite_note-webgpt-12">↑ <sup>[12.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-webgpt_12-0)</sup> <sup>[12.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-webgpt_12-1)</sup> Nakano, R., et al. (2021). *WebGPT: Browser‑assisted question‑answering with human feedback*. arXiv:2112.09332.</span>
13. <span id="cite_note-graphrag-13">[↑](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-graphrag_13-0) Microsoft Research Blog. *GraphRAG: Unlocking LLM discovery on narrative private data*. 2024. <a href="https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/" class="external free" rel="nofollow">https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/</a></span>
14. <span id="cite_note-graphrag-project-14">[↑](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-graphrag-project_14-0) Microsoft Research. *Project GraphRAG*. <a href="https://www.microsoft.com/en-us/research/project/graphrag/" class="external free" rel="nofollow">https://www.microsoft.com/en-us/research/project/graphrag/</a></span>
15. <span id="cite_note-visrag-15">[↑](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-visrag_15-0) Yu, S., et al. (2024). *VisRAG: Vision‑based Retrieval‑augmented Generation on Multi‑modality Documents*. arXiv:2410.10594; OpenReview: zG459X3Xge.</span>
16. <span id="cite_note-raptor-16">↑ <sup>[16.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-raptor_16-0)</sup> <sup>[16.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-raptor_16-1)</sup> Sarthi, P., et al. (2024). *RAPTOR: Recursive Abstractive Processing for Tree‑Organized Retrieval*. arXiv:2401.18059.</span>
17. <span id="cite_note-rcsplit-17">↑ <sup>[17.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-rcsplit_17-0)</sup> <sup>[17.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-rcsplit_17-1)</sup> LangChain Docs. *RecursiveCharacterTextSplitter*. <a href="https://python.langchain.com/docs/how_to/recursive_text_splitter/" class="external free" rel="nofollow">https://python.langchain.com/docs/how_to/recursive_text_splitter/</a></span>
18. <span id="cite_note-llama-hier-18">↑ <sup>[18.0](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-llama-hier_18-0)</sup> <sup>[18.1](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-llama-hier_18-1)</sup> LlamaIndex Docs. *HierarchicalNodeParser* and *Tree Summarization*. <a href="https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html" class="external free" rel="nofollow">https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html</a>; <a href="https://docs.llamaindex.ai/en/stable/examples/low_level/response_synthesis/" class="external free" rel="nofollow">https://docs.llamaindex.ai/en/stable/examples/low_level/response_synthesis/</a></span>
19. <span id="cite_note-ragas-19">[↑](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-ragas_19-0) Es, S., et al. (2024). *RAGAs: Automated Evaluation of Retrieval Augmented Generation*. EACL (Demo). <a href="https://aclanthology.org/2024.eacl-demo.16/" class="external free" rel="nofollow">https://aclanthology.org/2024.eacl-demo.16/</a></span>
20. <span id="cite_note-trulens-20">[↑](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-trulens_20-0) TruLens Docs. *RAG Triad*. <a href="https://www.trulens.org/getting_started/core_concepts/rag_triad/" class="external free" rel="nofollow">https://www.trulens.org/getting_started/core_concepts/rag_triad/</a></span>
21. <span id="cite_note-deepeval-21">[↑](https://systems-analysis.info/int/RAG_patterns_%E2%80%94_RAG%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3#cite_ref-deepeval_21-0) DeepEval (GitHub). <a href="https://github.com/confident-ai/deepeval" class="external free" rel="nofollow">https://github.com/confident-ai/deepeval</a></span>
