Skip to content

The Complete Guide to RAG System Patterns: A Ten-Generation Evolution from Naive to Multi-Agent with Practical Navigation

Mar 14, 2026 1 min
TL;DR RAG has evolved far beyond simple 'search + generate' into a technology ecosystem spanning ten generations โ€” and since 2025 into an Agentic/Reasoning era. This article is a systematic navigation guide: from Naive RAG to Multi-Agent/LongRAG across ten generations, the post-ten Agentic Era (Search-R1/RL search, MCP, GraphRAG 3.x, vision-native retrieval), retrieval strategies, chunking, embedding, reranking, evaluation frameworks, observability, and cost optimization. Each topic has a dedicated deep-dive article.
Table of Contents
  1. How to Use This Guide
  2. Global Architecture Diagram
  3. Generation Comparison Overview
    1. Maturity Spectrum
  4. Gen 1-3: Naive -> Advanced -> Modular
    1. Gen 1: Naive RAG
    2. Gen 2: Advanced RAG
    3. Gen 3: Modular RAG
  5. Gen 4: Self-RAG
  6. Gen 5: CRAG (Corrective RAG)
  7. Gen 6: Graph RAG
  8. Gen 7: Speculative RAG
  9. Gen 8: Agentic RAG
  10. Gen 9: Multi-Agent RAG
  11. Gen 10: LongRAG
  12. Post-Ten: Agentic / Reasoning RAG (2025-)
  13. Frontier: MCP Tool Integration (2025 Protocol Layer)
  14. Frontier: Agent Memory
  15. Frontier: Multimodal RAG
  16. Retrieval Strategy Quick Selection
  17. Hybrid Search: BM25 + Vector + RRF
  18. HyDE: Hypothetical Answer Search
  19. Multi-Query Expansion
  20. Cross-Encoder Reranking (incl. Listwise)
  21. ColBERT: Late Interaction
  22. SPLADE: Learned Sparse Vectors
  23. RRF: Multi-Source Result Fusion
  24. MMR: Diversity Reranking
  25. Contextual Retrieval
  26. Query Classification
  27. Semantic Caching
  28. Text-to-SQL Router
  29. Infrastructure Decision Order
  30. Chunking Strategies
  31. Embedding Model Selection
  32. Vector Database Selection
  33. Prompt Design
  34. Streaming
  35. Personalization and Memory
  36. Quality Operations Priority Order
  37. Evaluation Frameworks
  38. LLM-as-Judge
  39. Common Failure Modes
  40. Guardrails
  41. Observability
  42. Cost Optimization
  43. A/B Testing
  44. Cold Start
  45. RAG vs Fine-tuning
  46. MVP Path: Get RAG Running as Fast as Possible
  47. Quality Improvement Path: Make Answers More Accurate
  48. Advanced Architecture Path: Handle More Complex Problems
  49. Production Operations Path: Running Stably in Production
  50. Frontier Exploration Path: See the Future
  51. One Final Word
  52. Changelog
  53. References

๐ŸŒ ไธญๆ–‡็‰ˆ

Search for "RAG" and you'll find hundreds of articles, each talking about something different.

Some explain the three steps of Naive RAG. Others discuss Graph RAG's knowledge graphs. Some cover Agentic RAG's ReAct loop. Others focus on reranking and embedding model selection. They all fall under "RAG," but they solve completely different problems and apply to vastly different scenarios.

The problem isn't too little information โ€” it's too fragmented.

This article is a map. It won't dive deep into any single topic โ€” each topic has its own dedicated article. What it does is: give you a bird's-eye view of the entire RAG technology landscape, then help you pick the right path based on your needs.

Who needs this guide: Engineers building RAG systems, tech leads who want to understand the full RAG landscape, and anyone lost among the various RAG variants. Whether you're starting from scratch or looking to improve an existing system, this guide will help you find your bearings.


How to Use This Guide

  1. Start with the global architecture diagram: Understand the relationship between ten generations of RAG and surrounding technologies
  2. Find your stage: Are you building an MVP? Optimizing quality? Managing production operations?
  3. Jump to the relevant section: Each section gives you 2-4 paragraphs of overview plus key insights
  4. Click into the deep-dive articles: Every topic has a standalone, comprehensive article

Global Architecture Diagram

                     RAG Technology Landscape
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚                                                     โ”‚
    โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Ten Generations โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
    โ”‚  โ”‚                                               โ”‚  โ”‚
    โ”‚  โ”‚  Gen 1: Naive RAG (Search + Generate)         โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 2: Advanced RAG (Pre/Post-processing)    โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 3: Modular RAG (Composable DAG)          โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 4: Self-RAG (LLM decides whether to      โ”‚  โ”‚
    โ”‚  โ”‚         search)                               โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 5: CRAG (Retry on bad results)           โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 6: Graph RAG (Knowledge graph reasoning) โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 7: Speculative RAG (Small model drafts)  โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 8: Agentic RAG (Autonomous Agent)        โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 9: Multi-Agent RAG (Multi-Agent          โ”‚  โ”‚
    โ”‚  โ”‚         collaboration)                        โ”‚  โ”‚
    โ”‚  โ”‚    โ†“                                          โ”‚  โ”‚
    โ”‚  โ”‚  Gen 10: LongRAG (Long context replaces       โ”‚  โ”‚
    โ”‚  โ”‚          fine chunking)                       โ”‚  โ”‚
    โ”‚  โ”‚                                               โ”‚  โ”‚
    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
    โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€ Post-Ten: Agentic Era (2025-) โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
    โ”‚  โ”‚ Reasoning ร— Retrieval + RL + Multi-tool     โ”‚  โ”‚
    โ”‚  โ”‚ Search-R1 / REX-RAG / AlignRAG / GTA-RAG    โ”‚  โ”‚
    โ”‚  โ”‚ Deep Research (product) + MCP (protocol)    โ”‚  โ”‚
    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
    โ”‚                                                     โ”‚
    โ”‚  โ”Œโ”€ Retrieval Strategies โ”€โ” โ”Œโ”€โ”€โ”€ Infrastructure โ”€โ”€โ” โ”‚
    โ”‚  โ”‚ BM25 + Vector          โ”‚ โ”‚ Chunking            โ”‚ โ”‚
    โ”‚  โ”‚ HyDE                   โ”‚ โ”‚ Embedding           โ”‚ โ”‚
    โ”‚  โ”‚ Multi-Query            โ”‚ โ”‚ Vector DB           โ”‚ โ”‚
    โ”‚  โ”‚ Cross-Encoder          โ”‚ โ”‚ Prompt Design       โ”‚ โ”‚
    โ”‚  โ”‚ ColBERT / SPLADE       โ”‚ โ”‚ Streaming           โ”‚ โ”‚
    โ”‚  โ”‚ RRF / MMR              โ”‚ โ”‚ Memory              โ”‚ โ”‚
    โ”‚  โ”‚ Semantic Cache          โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
    โ”‚  โ”‚ Text-to-SQL            โ”‚                         โ”‚
    โ”‚  โ”‚ Late Chunking          โ”‚ โ”Œโ”€ Quality & Ops โ”€โ”€โ”€โ”€โ”€โ” โ”‚
    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ Evaluation          โ”‚ โ”‚
    โ”‚  โ”Œโ”€โ”€โ”€ Frontier โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚ Guardrails          โ”‚ โ”‚
    โ”‚  โ”‚ Agent Memory          โ”‚  โ”‚ Observability       โ”‚ โ”‚
    โ”‚  โ”‚ Multimodal RAG        โ”‚  โ”‚ Cost / A/B Test     โ”‚ โ”‚
    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
    โ”‚                                                     โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Generation Comparison Overview

GenerationOne-line DescriptionCore StrengthUse Case
Gen 1: NaiveSearch -> stuff into prompt -> generateSimplest, fastest to runMVP, PoC, internal tools
Gen 2: AdvancedAdd query rewrite, reranking, chunk optimizationMajor quality improvementFirst production version
Gen 3: ModularBreak pipeline into composable modulesFlexibility, testabilityProducts needing customization
Gen 4: Self-RAGLLM decides whether to searchReduces unnecessary retrievalHybrid knowledge Q&A
Gen 5: CRAGAuto-correct and retry on bad search resultsFault toleranceOpen-domain Q&A
Gen 6: Graph RAGKnowledge graph + vector searchRelationship reasoningRegulations, healthcare, complex knowledge networks
Gen 7: SpeculativeSmall models draft in parallel, large model verifiesLow latency, low costHigh-throughput scenarios
Gen 8: AgenticAutonomous Agent + ReAct loopMulti-step reasoningComplex research-type questions
Gen 9: Multi-AgentMultiple specialized Agents collaborateScalability, specializationEnterprise multi-domain systems
Gen 10: LongRAGLarge chunks + long-context modelsPreserves full contextLong documents, legal contracts
Post-Ten: Agentic EraReasoning ร— Retrieval + RL + multi-toolAutonomous research, cross-tool integrationComplex research, enterprise deep Q&A

Post-ten has no consensus Gen 11 number โ€” treat it as an Agentic Era rather than a linear continuation. For generation boundaries, see the two 2025 surveys: Towards Agentic RAG with Deep Reasoning and Reasoning RAG via System 1 or System 2.

Maturity Spectrum

Not every generation is equally mature. When choosing, consider the production-readiness of the technology:

  • Proven (extensive production use cases): Gen 1 Naive, Gen 2 Advanced, Gen 3 Modular
  • Maturing (production use cases exist but still rapidly evolving): Gen 5 CRAG, Gen 6 Graph RAG (GraphRAG now at v3.1.2), Gen 8 Agentic RAG, Gen 9 Multi-Agent (supervisor/orchestrator patterns now ship with the mainstream agent frameworks)
  • Early adoption (mostly papers and experiments, limited general framework support): Gen 4 Self-RAG (needs purpose-built training), Gen 7 Speculative (needs your own distilled drafter), Gen 10 LongRAG
  • Frontier validation (2025-): Agentic/Reasoning RAG (e.g., Search-R1 RL multi-turn search, AlignRAG test-time critique) and MCP tool integration โ€” productized (OpenAI Deep Research) but fast-moving, not a stable baseline yet

Part 1: Ten Generations of RAG Evolution

Gen 1-3: Naive -> Advanced -> Modular

Gen 1: Naive RAG

The most primitive form of RAG: take the user's question, perform a vector search, find the most relevant chunks, stuff them all into the prompt, and let the LLM generate an answer. Three steps: Indexing -> Retrieval -> Generation.

Architecture in one sentence: Query -> Embed -> Vector Search -> Top-K Chunks -> LLM -> Answer

It works, but it has many problems. The semantics of the query and document don't always align, chunking strategy has a huge impact, retrieved results may be irrelevant, and the LLM may ignore context and hallucinate on its own. Every link in the chain is a potential failure point. Most teams get stuck on Naive RAG for two to three weeks before realizing that "just stuffing it in" isn't enough.

Gen 2: Advanced RAG

The core improvement of Advanced RAG is adding a processing layer before and after Retrieval. Pre-processing: query rewriting, HyDE, multi-query expansion โ€” making search more precise. Post-processing: reranking, compression, deduplication โ€” improving the quality of context sent to the LLM.

Architecture in one sentence: Query -> Pre-process -> Retrieve -> Post-process -> Generate

This is the starting point for most production systems. Simply adding Cross-Encoder reranking usually gives a clear improvement in the quality of the context you hand the LLM. There is no universal number for the gain โ€” it depends on how weak your base retriever is, how large a top-K you rerank, and how homogeneous your data is, so measure it on your own data instead of copying a percentage from someone's blog. If you can only do one thing to improve Naive RAG, add reranking.

Gen 3: Modular RAG

Modular RAG breaks the entire pipeline into independent modules โ€” Routing, Retrieval, Reranking, and Generation are each a replaceable component. Think of it as a DAG (Directed Acyclic Graph) where each node handles one task, connected through standard interfaces.

Architecture in one sentence: Query -> Router -> [Module A | Module B | Module C] -> Merge -> Generate

This lets you A/B test individual components, dynamically switch strategies based on query type, and even implement fallback between modules. Most mature RAG products eventually move toward a Modular architecture because you'll inevitably encounter "this type of question needs a different path."

-> Deep dive: The Three Generations of RAG: From Naive to Modular -> Deep dive: Modular RAG Pipeline: Designing RAG as a Composable DAG


Gen 4: Self-RAG

The key breakthrough of Self-RAG: the LLM decides for itself whether to retrieve.

Traditional RAG searches for every question, but the LLM already knows the answer to many of them โ€” "How do you write a list comprehension in Python?" doesn't need a search. Self-RAG trains the model to output special reflection tokens: [Retrieve] decides whether to search, [ISREL] judges whether search results are relevant, [ISSUP] judges whether the generated answer is supported by context.

User Query
    โ†“
LLM: Need to search? โ”€โ”€โ†’ [No Retrieve] โ†’ Generate directly
    โ†“ [Retrieve]
Search โ†’ Results relevant? โ”€โ”€โ†’ [ISREL=No] โ†’ Discard, try another batch
    โ†“ [ISREL=Yes]
Generate answer โ†’ Supported by context? โ”€โ”€โ†’ [ISSUP=No] โ†’ Regenerate
    โ†“ [ISSUP=Yes]
Output final answer

The benefit of Self-RAG is reducing unnecessary searches (lowering latency and cost) while ensuring result quality when search is needed. The downside is it requires special training โ€” you can't point it at an off-the-shelf general API model; you need a model fine-tuned to emit reflection tokens (the original paper released Llama 2-based weights).

Use case: When knowledge base content significantly overlaps with the LLM's own knowledge, Self-RAG can avoid redundant searches. If your questions almost always require search (e.g., enterprise internal document Q&A), Self-RAG offers little benefit.


Gen 5: CRAG (Corrective RAG)

The problem CRAG solves is straightforward: What do you do when search results are bad?

Naive RAG uses whatever it finds, even if the results are completely irrelevant. CRAG adds an Evaluator after Retrieval, using a lightweight model (or LLM) to score search results. If the score is high, use them directly; if the score is low, trigger correction strategies โ€” broaden search conditions, switch to a different search engine, or even use web search as a fallback.

Architecture in one sentence: Query -> Retrieve -> Evaluate(relevant/uncertain/irrelevant) -> [Use | Refine | Web Search] -> Generate

This "correct when search fails" mechanism prevents the RAG system from failing outright on edge cases, automatically trying different strategies instead. The CRAG paper reports significant gains across four short- and long-form generation datasets, but the size of the gain varies a lot with the dataset and the underlying retriever โ€” what it establishes is "adding a correction layer makes things more robust," not a fixed percentage.

CRAG's practical value lies in the fact that it doesn't require changing your existing search engine โ€” it's a layer added after search results come back. This means you can "bolt on" CRAG to any existing RAG system without redesigning the pipeline.

-> Deep dive: CRAG: Automatically Broadening Conditions and Retrying When Retrieval Fails


Gen 6: Graph RAG

Vector search excels at finding "semantically similar passages," but it's not good at relationship reasoning.

"Does this drug interact with that drug?" "Which other regulations does this regulation reference?" "What role does this person hold at this company, and which companies does this company partner with?" โ€” These questions require not finding similar text, but traversing relationship chains.

Graph RAG extracts entities and relationships from documents, builds them into a Knowledge Graph, then queries both the vector index and the graph during retrieval. Vector search finds relevant document fragments; the graph finds relevant entity relationships; the two are merged before being sent to the LLM.

Architecture in one sentence: Query -> [Vector Search + Graph Traversal] -> Merge Context -> Generate

Microsoft's GraphRAG paper further proposed the concept of Community Summary: pre-generating summaries for communities (highly interconnected node clusters) in the graph, enabling the system to answer questions requiring "global understanding."

Building Graph RAG costs significantly more than pure vector search โ€” you need entity extraction, relationship modeling, and graph maintenance. But in "relationship-dense" domains like regulatory compliance, healthcare knowledge, and enterprise organizational relationships, the investment is worthwhile.

-> Deep dive: GraphRAG: Building Knowledge Graphs for LLM Relationship Reasoning -> Deep dive: GraphRAG 3.x vs LightRAG vs HippoRAG 2: Three-Axis Selection on Index Cost, Incrementality and Memory


Gen 7: Speculative RAG

Speculative RAG borrows from Speculative Decoding: use small models for initial work, large models for final verification.

The specific approach: a small, distilled specialist model (7B-class in the original paper) simultaneously generates multiple candidate answer drafts, each based on a different subset of retrieved chunks. Then a large generalist model evaluates all drafts at once, selecting the best one. Which specific models sit on each side matters less than the structure: many small draft passes, one large verification pass.

Retrieved Chunks: [C1, C2, C3, C4, C5]
    โ†“
Small model (parallel):
    Draft 1 (based on C1, C2)
    Draft 2 (based on C2, C3)
    Draft 3 (based on C4, C5)
    โ†“
Large model (single verification): Select Draft 2 โ†’ Final answer

The benefits are low latency (small models run fast and in parallel) and low cost (the large model only does one verification, not full generation). The Speculative RAG paper reports accuracy up to 12.97 percentage points higher (76.60 against 63.63 โ€” an absolute difference, not a relative gain) and 50.83% lower latency on PubHealth; those are the best-case numbers on that dataset, and the margins on TriviaQA, MuSiQue, PopQA, and ARC-Challenge are considerably smaller, so don't treat them as typical. Also note the precondition: the numbers assume a distilled specialist drafter, not any off-the-shelf 7B model.

Key insight: Speculative RAG essentially trades compute parallelism for latency. If your bottleneck is insufficient GPUs rather than high latency, this pattern will actually make things worse.

-> Deep dive: Speculative RAG: Small Models Draft in Parallel, Large Model Verifies at Once


Gen 8: Agentic RAG

All previous generations of RAG are single-pass flows: query comes in, pipeline runs once, answer goes out. Agentic RAG breaks this limitation โ€” it turns the LLM into an autonomous Agent that can search multiple times, reflect, and adjust strategies.

The core mechanism is the ReAct loop (Reasoning + Acting): the LLM first thinks ("What information does this question need?"), then acts (search, call APIs, compute), observes results, and decides the next step. This loop can run multiple rounds until the Agent believes it has enough information to answer.

Agentic RAG is particularly suited for complex research-type questions โ€” those that need to be decomposed into multiple sub-questions, gather information from different sources, and synthesize into an answer. The downsides are high latency (potentially 3-10 rounds), high cost (each round is an LLM call + search), and the Agent may go off track.

Architecture in one sentence: Query -> Agent(Think -> Act -> Observe -> Think -> ...) -> Answer

Beyond ReAct, there's also the Plan-and-Execute pattern: let the LLM create a complete plan first, then execute it step by step. This performs better in scenarios requiring systematic information gathering.

When should you use Agentic RAG? A simple rule of thumb: if the user's question requires more than one search to answer (e.g., "Compare the revenue growth rates of Company A and Company B" requires searching for each company separately), consider Agentic RAG.

-> Deep dive: Agentic RAG: Letting the LLM Decide Whether to Search Again -> Deep dive: Plan-and-Execute: Plan First, Then Execute RAG Pattern


Gen 9: Multi-Agent RAG

When a system needs to cover multiple specialized domains, a single Agent struggles to handle everything well. Multi-Agent RAG's approach: one specialized Agent per domain, plus an Orchestrator for assignment and consolidation.

For example, an enterprise knowledge Q&A system: an HR Agent specializes in searching personnel policy documents, a Legal Agent searches regulations and contracts, a Tech Agent searches technical documents. The user's question first goes to the Orchestrator, which determines which Agent to ask (or asks multiple simultaneously), then merges the results into a final answer.

Architecture in one sentence: Query -> Orchestrator -> [Agent_HR | Agent_Legal | Agent_Tech] -> Merge -> Answer

The advantage of Multi-Agent is that each Agent can have its own search strategy, its own prompt, and its own knowledge base, without interference. The challenges are designing the communication protocol between Agents, the logic for merging results, and controlling overall latency.

In practice, the biggest pitfall of Multi-Agent RAG isn't technical โ€” it's "how to draw responsibility boundaries between agents." If two agents' knowledge domains overlap, the orchestrator doesn't know whom to ask, and the result is actually worse than a single agent.

-> Deep dive: Multi-Agent RAG: Distributed Retrieval Architecture with Multiple Specialized Agents


Gen 10: LongRAG

LongRAG challenges a fundamental assumption of RAG: Do chunks have to be small?

Traditional RAG splits documents into 256-512 token chunks because early LLMs had small context windows (4K-8K) that couldn't fit much. But today's models easily handle 128K-1M context windows, so this limitation no longer exists.

LongRAG uses large chunks (or even entire documents) paired with long-context models. The benefit is preserving complete context โ€” no more "the answer got split across two chunk boundaries." Search precision requirements are also lower because large chunks naturally have higher hit rates.

Architecture in one sentence: Query -> Coarse Retrieval (large chunks) -> Long-Context LLM -> Answer

The tradeoff is dramatically increased token usage (large chunks mean more tokens sent to the LLM) and increased latency. LongRAG is suited for scenarios with high completeness requirements and lower cost sensitivity, such as legal contract analysis and long research paper Q&A.

An interesting trend: context limits keep growing and per-token prices keep falling, so LongRAG's cost disadvantage keeps shrinking. The specific limits and prices change every few months, so no numbers here โ€” check your provider's official docs.

But "more context" does not mean "better answers." Long-context models still suffer from position bias and attention dilution on very long inputs; putting something in the window does not guarantee the model reads it. The pragmatic compromise: small knowledge bases can go straight to large chunks plus long context, large knowledge bases still need traditional chunking + retrieval โ€” and either way you validate with an eval set rather than assuming "a big enough context window solves it."

-> Deep dive: LongRAG: Rethinking RAG Chunking Strategy with Long-Context Models


Post-Ten: Agentic / Reasoning RAG (2025-)

If Gen 1-10 progressively enhanced the single-pass "retrieve โ†’ generate" pipeline, the 2025 cluster interleaves reasoning and retrieval: the model autonomously emits multiple search queries mid-reasoning, trained with RL to learn when to search, what to search, and how to use results. This is not a subdivision of a single Gen โ€” two independent surveys define it as a new paradigm (Towards Agentic RAG with Deep Reasoning's Synergized RAG-Reasoning and Reasoning RAG via System 1/2's Reasoning Agentic RAG).

The technical่ตท็‚น is Search-R1 (2025-03): RL (retrieved token masking + outcome reward) trains an LLM to search autonomously in multiple turns while reasoning, with significant gains over RAG baselines on Qwen2.5. Branches include REX-RAG (policy correction for RL dead-ends), GTA-RAG (graph-trajectory distillation), Interact-RAG (turning retrieval from a black-box query into steerable corpus interaction), and AlignRAG (test-time critique to align reasoning with evidence). Details are deferred to dedicated deep dives; this section only sets the boundary and hands off.

Product and protocol่ฝๅœฐ matter as much: OpenAI Deep Research (2025-02-02, o3-optimized multi-step browsing + Python tool agent) productizes Agentic RAG end-to-end; MCP (Model Context Protocol) (open-sourced by Anthropic 2024-11-25) generalizes "retrieval" from vector-store lookup to unified tool/data-source invocation (Resources / Tools / Prompts), now adopted by ChatGPT, Claude, VS Code, Cursor and integrated into orchestration runtimes like LangGraph 1.2.11. In the ten-generation taxonomy, this is an infrastructure generation jump, not a single trick.

Pragmatic note: Agentic tricks are not universally better. An Agent-Orchestrated Adaptive RAG comparative study shows query decomposition helps on structured domains but can hurt ranking precision on multi-hop tasks, and reflection improves citation precision at higher latency. Whether to adopt this era depends on whether your problems truly need multi-turn reasoning and cross-tool orchestration.

-> Deep dive: Agentic / Reasoning RAG: From Search-R1 to Deep Research and MCP


Frontier: MCP Tool Integration (2025 Protocol Layer)

Open-sourced by Anthropic in Nov 2024, MCP generalizes RAG "retrieval" from vector-store lookup to unified tool/data-source invocation. Host / Client / Server plus Resources / Tools / Prompts and Sampling / Roots / Elicitation negotiation let one MCP server serve multiple agent frameworks. Adopted in 2025 by ChatGPT, Claude, VS Code and Cursor, and integrated into LangGraph (1.2.11 durable execution / human-in-the-loop / streaming orchestration runtime), CrewAI and AutoGen 0.7. For new systems, prefer MCP-first with custom tool-use as fallback, minding host authorization and untrusted tool descriptions.


Frontier: Agent Memory

RAG is fundamentally read-only โ€” the system reads data from the knowledge base but never writes back. Agent Memory upgrades RAG into a read-write system.

As an Agent interacts with users, it writes learned preferences, facts, and decisions into memory storage. During the next interaction, these memories are retrieved alongside the knowledge base. This enables the Agent to continuously learn and personalize, rather than being a stateless Q&A machine.

Memory systems typically have three layers: Working Memory (context of the current conversation), Episodic Memory (summaries of past conversations), and Semantic Memory (extracted facts and preferences). These three layers plus the external knowledge base form the Agent's complete cognitive system.

-> Deep dive: Agent Memory Systems: Evolution from RAG to Read-Write Memory


Frontier: Multimodal RAG

Text is just one form of knowledge. Much of an enterprise's knowledge is scattered across charts in PDFs, architecture diagrams in presentations, product photos, and even videos and recordings.

Since 2025 the main line has shifted from "OCR โ†’ text โ†’ index" to vision-native retrieval: ColPali (ICLR 2025) embeds page images directly with a VLM plus ColBERT late interaction, Qwen2.5-VL (2025-01-26, 3B/7B/72B, dynamic resolution + 1hr video understanding) works as a backbone; the old colpali-engine is deprecated in favor of Sentence Transformers v6 MultiVectorEncoder. For evaluation, use ViDoRe V2 (V1 saturated at >90% nDCG@5, new version adds blind contextual / long cross-doc queries).

In practice, the biggest challenge of multimodal RAG isn't model capability but pipeline complexity โ€” PDF parsing, table extraction, image OCR, frame-by-frame video analysis โ€” each step can fail; vision-native retrieval preserves fidelity but multi-vector storage bloat requires compression such as token pooling (pool factor 3 โ†’ -66.7% vectors at 97.8% performance).

-> Deep dive: Multimodal RAG: Bringing Images into the Knowledge Base


Part 2: Retrieval Strategies

Retrieval is the heart of a RAG system. Use the wrong strategy, and no amount of LLM power downstream can save you. Below are the main retrieval strategies and the problems each one solves.

Retrieval Strategy Quick Selection

Your ProblemWhat to UseWhy
Vector search misses exact keywordsHybrid Search (BM25 + Vector)Two search types complement each other
Query and document use different wordingHyDEHypothetical answer bridges the semantic gap
Single query has insufficient coverageMulti-Query ExpansionSearch from multiple angles
Top-K results are poorly rankedCross-Encoder / Listwise RerankingPrecise re-ranking; since 2025 try jina-reranker-v3.5
Need both speed and precisionColBERTLate interaction compromise
BM25 is too dumb but need sparse vectorsSPLADELearned sparse vectors (v3 is the new baseline)
Multiple result lists need mergingRRF / DBSFRank fusion, no training; Qdrant Hybrid shows both beat single-path
Results are too homogeneousMMRRelevance + diversity
Chunks lack contextContextual Retrieval / Late ChunkingAdd context prefix vs encode-then-chunk (zero LLM cost)
Different questions need different pathsQuery ClassificationRoute at the entry point
Too many repeated questionsSemantic CachingSemantic cache
Answer is in structured dataText-to-SQL RouterSQL is more accurate than search

Hybrid Search: BM25 + Vector + RRF

Vector search excels at semantic matching but misses exact keywords. BM25 excels at keyword matching but doesn't understand semantics. Hybrid Search uses both, then merges rankings via RRF (Reciprocal Rank Fusion). This is the most common search architecture in production systems today.

-> Hybrid Search: Using BM25 + Vector Search to Cover Each Other's Blind Spots

Users' questions and documents have different language styles, resulting in low vector search recall. HyDE first has the LLM generate a "hypothetical answer," then uses that hypothetical answer for searching. Because the hypothetical answer's language style is closer to real documents, recall usually improves โ€” but the size of the gain depends heavily on the domain and the base retriever (the original paper compares against Contriever in a zero-shot, no-labelled-data setting), and the advantage narrows once you have labelled data to fine-tune a retriever with.

-> HyDE: Improving Vector Search Recall with Hypothetical Answers

Multi-Query Expansion

One question can be phrased in many ways. Multi-Query has the LLM rewrite the original question into 3-5 queries from different angles, each performing a search, with results merged at the end. This catches documents that a single query would miss.

-> Multi-Query Expansion: One Question, Multiple Search Angles

Cross-Encoder Reranking (incl. Listwise)

Vector search uses bi-encoders โ€” query and document each get their own embedding, then compared. Fast but imprecise. Cross-Encoders concatenate query and document and feed them into the model together, yielding much higher precision but slower speed. The typical approach: use vector search to pull back top-50, then Cross-Encoder reranks to top-5. Since 2025, jina-reranker-v3/v3.5 (0.6B listwise, BEIR 63.20 matching a 4B model, +9.6 on semi-structured, with further latency cuts) places the query with multiple candidates in one context window with causal attention to compare candidates directly โ€” suitable for semi-structured and cross-document comparison; validate on your own labeled set rather than copying leaderboard numbers.

-> Cross-Encoder Reranking: Getting the Most Relevant Documents to the Top

ColBERT: Late Interaction

ColBERT is a compromise between bi-encoders and cross-encoders. It computes an embedding for every token in both query and document, performing token-level interaction matching during search. More precise than bi-encoders, faster than cross-encoders.

-> ColBERT: The Third Path in Vector Search

SPLADE: Learned Sparse Vectors

BM25 relies on term frequency; SPLADE uses BERT to learn weights for each token, producing sparse vectors. It combines the advantages of keyword matching (sparse) and semantic understanding (learned). The 2024 SPLADE-v3 is a stronger sparse baseline on MS MARCO and can serve as a quantifiable upgrade after BM25 in the Hybrid section โ€” measure BM25 gains first before adding learned sparse.

-> SPLADE: Smarter Sparse Vector Search than BM25

RRF: Multi-Source Result Fusion

When you have multiple search result lists (e.g., BM25 results and vector search results), RRF uses a simple formula to merge them based on rank position. No score normalization needed, no training needed โ€” plug and play. A 2025 Qdrant Hybrid study shows dense+sparse dual prefetch + RRF/DBSF beats single-path on 5 datasets with ~0.6โ€“1.47ms extra (single-container single-concurrency baseline; re-measure in your setup) โ€” "measure first, then add learned sparse" remains a robust flow.

-> RRF: How to Merge Multi-Source Results in RAG Systems

MMR: Diversity Reranking

If your top-5 search results all talk about the same thing, you've effectively wasted 4 context slots. MMR (Maximal Marginal Relevance) considers both relevance and diversity when ranking, ensuring results cover different aspects.

-> MMR + Popularity Weighting: Making Recommendations Both Relevant and Diverse

Contextual Retrieval

A method proposed by Anthropic โ€” Contextual Retrieval: during the indexing phase, add a context segment to each chunk ("This passage is from a certain document's certain section, discussing a certain topic"). During search, this context is matched together, dramatically improving chunk discoverability. The Sep 2024 official numbers show Contextual Embeddings + Contextual BM25 cutting failure from 5.7% to 1.9% (with rerank) at ~$1.02/1M tokens (benchmark assumption; varies by chunk size/model).

A zero-LLM-cost alternative is Late Chunking: encode the whole document with a transformer once, then split into chunks and mean-pool so each chunk vector naturally carries cross-chunk context, needing no per-chunk LLM call for prefix generation โ€” suitable for long-context embedding models (32K window) and budget-constrained scenarios; benefits diminish on super-long documents or highly independent chunks. The two are not mutually exclusive; choose by cost and window size or measure head-to-head.

-> Contextual Retrieval: Adding "What This Passage Is About" to Every Chunk -> Deep dive: Late Chunking vs Contextual Retrieval: Zero-Cost Alternative and Implementation

Query Classification

Not all questions should take the same path. Factual questions use precise search, analytical questions use deep search, casual chat responds directly without searching. Query Classification classifies questions at the pipeline entry point and selects different strategies based on question type.

-> Query Classification: Letting RAG Know How to Answer This Question

Semantic Caching

Semantically similar questions ("What's the weather in Taipei" and "What's the current temperature in Taipei") don't need to run the full pipeline twice. Semantic Cache uses vector similarity to determine if a new query is close enough to a previous one, and if so, returns the cached answer directly.

-> Semantic Caching: Run RAG Only Once for Semantically Similar Questions

Text-to-SQL Router

Some questions have answers in structured data (databases), where vector search is less effective than writing SQL directly. The Text-to-SQL Router determines whether a question is suitable for conversion to a SQL query and, if so, routes it to the database path instead of RAG.

-> Text-to-SQL Router: Precise Queries Skip RAG


Part 3: Infrastructure

Half of RAG's effectiveness depends on infrastructure choices โ€” how to chunk, which embedding to use, which vector database to choose. These decisions are made early in the project, and changing them later is costly.

Infrastructure Decision Order

When building a RAG system, infrastructure decisions have a specific order. First decide on the Chunking strategy (because it affects everything downstream), then select the Embedding model (because once chosen, it's hard to switch โ€” changing models means re-embedding all documents), then choose the vector database, and finally design the prompt.

Chunking -> Embedding -> Vector DB -> Prompt Design -> Streaming
   โ†‘                                                    โ†“
   โ””โ”€โ”€โ”€โ”€ If results are poor, you usually need โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         to start fixing from here

Chunking Strategies

Chunking method directly determines whether RAG can find the answer. Too small loses context; too large introduces noise. Common strategies include: fixed size, paragraph/sentence-based, recursive splitting, and semantic splitting (using embedding similarity to determine boundary points). There is no "best size" โ€” you need to experiment based on your document types and question types.

-> Chunking Strategies: How You Split Determines Whether RAG Can Find the Answer

Embedding Model Selection

For Traditional Chinese RAG systems, embedding model selection is particularly important. BGE-M3 is a common starting point โ€” it supports dense, sparse, and multi-vector retrieval in one model and does reasonably well on Traditional Chinese. But embedding leaderboards turn over quickly, so treat no model as settled: weigh language coverage, dimensionality, maximum token length, and above all the benchmark you run on your own data. New lines to benchmark in 2025-2026 include jina-embeddings-v5-text (distillation + task contrastive, sub-1B small at 32K context), jina-embeddings-v4 (3.8B multimodal dual-mode, chart/table SOTA) and Jina-ColBERT-v2 (late-interaction multi-vector) โ€” compare as three branches (small/efficient vs multimodal/vision vs multi-vector) against BGE-M3 rather than a single swap.

-> BGE-M3: Why This Embedding Model Suits Traditional Chinese RAG

Vector Database Selection

Vector database feature matrices move fast enough that any table written down here would be stale within months, so there isn't one. What stays stable are the tradeoff axes: fully managed versus self-hosted, single-node versus distributed, native hybrid search and metadata filtering or not, and where it deploys (a cloud region or the edge). Narrow the field to two or three candidates on those axes, then check each vendor's official docs (Pinecone, Weaviate, Qdrant, Cloudflare Vectorize) for current features and pricing. Notable 2025-2026 increments: Qdrant 1.19 Turbo4 (pure 4-bit quantization, 9ร— storage cut, three memory tiers pinned/cached/cold) and Weaviate 1.30 BlockMax WAND (up to 10ร— lexical search speedup, multi-vector GA + quantization), plus the Qdrant Hybrid RRF/DBSF measurements noted above โ€” quantization and hybrid retrieval are now defaults, not add-ons.

-> Vector Database Selection: How to Choose Between Pinecone, Weaviate, Qdrant, and Vectorize

Prompt Design

RAG prompt design isn't just "stuffing context in." Pay attention to: the arrangement of context and instructions, citation format, how to instruct the LLM to say "I don't know" when context is insufficient, and how to make the LLM cite answer sources. Good prompt design can produce vastly different answer quality from the same set of retrieved chunks.

-> RAG Prompt Engineering: How to Design System Prompts and Context

Streaming

Users don't want to wait 10 seconds to see a complete answer. SSE (Server-Sent Events) lets the LLM's response display as it generates, dramatically improving user experience. When implementing, pay attention to citation handling during streaming, error handling, and abort mechanisms.

-> RAG Streaming: SSE for Displaying LLM Responses as They Generate

Personalization and Memory

Let the RAG system remember user preferences โ€” language style, frequently asked topics, context from the last conversation. This isn't just chat history, but extracting structured preference data from conversations to use as additional context during the next search and generation.

-> RAG Personalization: Learning User Preferences from Conversations


Part 4: Quality and Operations

Launching a RAG system is just the beginning. The real challenges are: How do you know if it's performing well? How do you prevent it from failing? How do you continuously improve while controlling costs?

Quality Operations Priority Order

If you've just launched, build quality infrastructure in this order:

  1. Evaluation (you can't improve what you can't measure)
  2. Failure Modes (know where it will break)
  3. Guardrails (prevent the most severe errors)
  4. Observability (find the cause when things go wrong)
  5. Cost Optimization (save money only after quality stabilizes)
  6. A/B Testing (you can only compare once you have a baseline)

Evaluation Frameworks

You can't improve what you can't measure. RAGAS (latest v0.4.3 (2025-01-13) โ€” there is no 2.0; 0.4 is a breaking collections API + BasePrompt migration), DeepEval, and TruLens are three mainstream RAG evaluation frameworks, each providing different metrics: Faithfulness (whether the answer is faithful to context), Relevance (whether retrieved results are relevant), and Answer Correctness (whether the answer is correct). Recommend running automated evaluations in CI, so every pipeline change has numbers, supplemented by RAGTruth (~18k word-level hallucination corpus) and FinanceBench (finance-domain benchmark) for hallucination taxonomy and domain matrices.

-> RAG Evaluation Frameworks: How to Use RAGAS, DeepEval, and TruLens

LLM-as-Judge

When you don't have large amounts of human-labeled test data, you can use another LLM to evaluate RAG output. Self-Reflection has the answer-generating LLM score itself; LLM-as-Judge uses an independent LLM for scoring. Both have biases, but they're sufficient as signals for rapid iteration.

-> Self-Reflection + LLM-as-Judge: Letting AI Evaluate Its Own Answers

Common Failure Modes

RAG systems have over ten common failure modes: chunks split in the wrong place causing incomplete answers, embedding semantic drift, reranking accidentally pushing correct results down, LLM ignoring context and hallucinating, context window overstuffing actually reducing quality. Knowing these failure modes lets you fix issues in a targeted way.

-> Common RAG Failure Modes: 10 Problems and Their Solutions

Guardrails

Both input and output of RAG systems need protection. Input side: prevent prompt injection, filter sensitive queries. Output side: check for hallucination, filter harmful content, ensure answers have citation support. Guardrails aren't nice-to-have โ€” they're a necessary condition for production systems.

-> RAG Guardrails: Adding a Defense Layer to Input and Output

Observability

RAG pipelines have many stages, and issues at any one can affect the final answer. The goal of observability is making this black box transparent: every step of every query (query rewrite results, retrieved chunks, post-reranking order, the LLM's complete prompt) should be traceable and replayable.

-> RAG Observability: Per-Node Tracing to Make the Black Box Transparent -> RAG Observability Tools Landscape

Cost Optimization

RAG costs come mainly from three areas: embedding computation, vector search, and LLM generation. Each has optimization potential โ€” embedding cache, chunk compression, small model + large model tiering, semantic caching, and token quota systems. The goal is minimizing per-query cost without sacrificing quality.

-> RAG Cost Optimization: Minimizing the Cost of Every Query -> RAG Quota System

A/B Testing

You switched a reranking model โ€” did quality improve or degrade? You changed chunk size from 512 to 1024 โ€” what's the effect? RAG A/B testing is much more complex than web A/B testing โ€” you're comparing the performance of two complete pipelines, and the metrics are semantic (answer quality), not click-through rates.

-> RAG A/B Testing: How to Scientifically Compare Two Pipeline Configurations

Cold Start

When a new system launches, the knowledge base is empty or sparse. How do you make the system usable at this stage? Common strategies: preload public knowledge, use the LLM's own knowledge as a fallback, guide users to upload documents, and use few-shot examples to demonstrate system capabilities.

-> RAG Cold Start: Making the System Usable When There's No Data

RAG vs Fine-tuning

Not all problems should be solved with RAG. If knowledge is static, query patterns are fixed, and you have sufficient training data, fine-tuning may be more appropriate. In practice, the strongest approach combines both: fine-tune to teach the model "how to use context," and RAG provides the latest context.

-> RAG vs Fine-tuning: It's Not Either-Or


How to Choose a RAG Generation?

Facing ten generations, the most common question is: "Which generation should I use?"

The answer depends on your problem complexity and resource constraints:

How many searches does your question need to be answered?

Just one โ”€โ”€โ†’ Gen 1-3 (Naive/Advanced/Modular)
    โ”‚           โ”œโ”€ Just starting? โ†’ Gen 1 Naive
    โ”‚           โ”œโ”€ Quality not good enough? โ†’ Gen 2 Advanced
    โ”‚           โ””โ”€ Need flexibility? โ†’ Gen 3 Modular
    โ”‚
Sometimes no search needed โ”€โ”€โ†’ Gen 4 Self-RAG
    โ”‚
Search results often wrong โ”€โ”€โ†’ Gen 5 CRAG
    โ”‚
Need relationship reasoning โ”€โ”€โ†’ Gen 6 Graph RAG
    โ”‚
Very high latency requirements โ”€โ”€โ†’ Gen 7 Speculative RAG
    โ”‚
Need multi-step reasoning โ”€โ”€โ†’ Gen 8 Agentic RAG
    โ”‚
Multiple specialized domains โ”€โ”€โ†’ Gen 9 Multi-Agent RAG
    โ”‚
Documents are long and can't be fragmented โ”€โ”€โ†’ Gen 10 LongRAG
    โ”‚
Need reasoning ร— retrieval / cross-tool integration โ”€โ”€โ†’ Post-Ten Agentic Era (Search-R1 / MCP / Deep Research)

Important reminder: Generations are not linear upgrades. Gen 10 isn't necessarily better than Gen 2 โ€” they solve different problems. A well-designed Advanced RAG (Gen 2) will outperform a poorly designed Agentic RAG (Gen 8) in most scenarios. Choose based on your problem characteristics, not by chasing the newest generation.


Recommended Reading Paths

Based on your goal, pick a path:

MVP Path: Get RAG Running as Fast as Possible

If you want to build a working RAG system in the shortest time:

  1. The Three Generations of RAG โ€” Understand the basic architecture
  2. Chunking Strategies โ€” Split your documents properly
  3. BGE-M3 Embedding โ€” Choose the right embedding model
  4. Vector Database Selection โ€” Pick a vector database
  5. RAG Prompt Engineering โ€” Write good prompts

Quality Improvement Path: Make Answers More Accurate

If your RAG is already running but answer quality isn't good enough:

  1. Hybrid Search โ€” Cover vector search's blind spots
  2. Cross-Encoder Reranking โ€” Improve ranking precision
  3. HyDE โ€” Improve recall
  4. RAG Evaluation Frameworks โ€” Measure improvements with numbers
  5. Common RAG Failure Modes โ€” Find specific problem points

Advanced Architecture Path: Handle More Complex Problems

If you need more than simple Q&A:

  1. CRAG โ€” Fault tolerance for search failures
  2. Agentic RAG โ€” Multi-step reasoning
  3. GraphRAG โ€” Relationship reasoning
  4. Speculative RAG โ€” Low latency, high throughput

Production Operations Path: Running Stably in Production

If you're taking a RAG system to production:

  1. RAG Guardrails โ€” Input/output protection
  2. RAG Observability โ€” Full-chain tracing
  3. RAG Cost Optimization โ€” Control spending
  4. RAG A/B Testing โ€” Compare configurations scientifically

Frontier Exploration Path: See the Future

If you want to learn about the latest RAG developments:

  1. Multi-Agent RAG โ€” Multi-Agent collaboration
  2. LongRAG โ€” New thinking with long context
  3. Agent Memory โ€” Read-write memory systems
  4. Multimodal RAG โ€” Multimodal knowledge bases (incl. ColPali vision-native + ViDoRe V2)

2025-: the post-ten Agentic Era (reasoning ร— retrieval + RL, multi-tool) and the MCP protocol layer are forming; dedicated deep dives are coming (Search-R1 / Interact-RAG / GraphRAG 3.x) and this guide will fill in -> Deep dive links when they ship.


One Final Word

RAG is not a single technology โ€” it's an entire technology ecosystem.

Don't try to learn everything at once. Find the problem you most urgently need to solve right now, follow the corresponding path, understand and stabilize that area, then move on to the next topic.

This guide will be continuously updated. Whenever a new deep-dive article is published, links will be added here.

Changelog

  • 2026-08-25: Added post-ten Agentic Era (2025-) frame + dedicated section (Search-R1/REX-RAG/AlignRAG, Deep Research, MCP), Late Chunking vs Contextual Retrieval comparison + listwise reranker (jina v3.5), 2025 increments for embeddings/vector DBs (jina-v5/v4, Qdrant Turbo4, Weaviate BlockMax WAND, Hybrid RRF/DBSF), vision-native Multimodal rewrite (ColPali/Qwen2.5-VL/ViDoRe V2) plus new MCP frontier section, and RAGAS version correction.
  • 2026-08-25: Added inline official-source links (BGE-M3 / four vector DB vendors / Anthropic Contextual Retrieval / RAGAS, DeepEval, TruLens) and a GraphRAG inline paper link for traceability.
  • 2026-08-19: Fact-checked against primary sources and refreshed; perishable details handed back to official docs. Added to the "RAG Techniques Compendium" series.

References