← Back to Index

RAG Taxonomy: Classification and Architecture Mapping

All 52 RAG architectures mapped by mechanism, data source, retrieval control, and production fit.


Classification Axes

Every RAG system can be classified along four independent dimensions. Understanding these axes helps you systematically answer "How does X RAG work?" and "When do you choose Y over Z?"

1. Retrieval Control

2. Data Modality

3. Feedback Loop

4. Retrieval Scope

Each axis maps to a different set of failure modes and trade-offs. Mastering these axes makes every RAG interview question answerable.


The Full Taxonomy: All 52 Architectures

Architecture Retrieval Control Data Modality Feedback Loop Scope Fine-tune Required? Latency Class Production Maturity
Naive RAG Static Text-only None Single-hop No Fast (<200ms) Stable (since 2020)
Advanced RAG Static Text-only None Single-hop No Fast (<200ms) Stable (mature)
Modular RAG Static Text-only None Single-hop No Fast (<200ms) Stable (mature)
Adaptive RAG Dynamic Text-only None Single-hop or Multi-hop No Fast (<200ms) Emerging (2023+)
Agentic RAG Agent-driven Text-only Self-critique Multi-hop No Slow (>1s) Emerging (2023+)
Corrective RAG Dynamic Text-only Self-critique Single-hop No Medium (200ms–1s) Emerging (2023+)
Self-RAG Agent-driven Text-only External signal Iterative Yes Medium (200ms–1s) Cutting-edge (2023+)
Speculative RAG Dynamic Text-only None Single-hop No Fast (<200ms) Research-frontier
Graph RAG Agent-driven Graph Self-critique Multi-hop No Slow (>1s) Emerging (2024+)
Structured RAG Dynamic Structured None Single-hop No Medium (200ms–1s) Stable (growing)
Multimodal RAG Static Multimodal None Single-hop No Medium (200ms–1s) Emerging (2023+)
Long-Context RAG Static Text-only None Single-hop No High (>1s) Stable (2024+)
RAPTOR Static Text-only None Multi-hop (tree) No Fast (query-time) Emerging (2024+)
Contextual RAG Static Text-only None Single-hop No Fast (<200ms) Emerging (2024+)
LightRAG Agent-driven Graph None Multi-hop No Medium (200ms–1s) Emerging (2024+)
RAFT Static Text-only None Single-hop Yes Fast (<200ms) Emerging (2024+)
CAG Static Text-only None Single-hop No Fast (<200ms)* Emerging (2024+)
RAG-Fusion Static Text-only None Single-hop (N-query) No Medium (200ms–1s) Emerging (2024+)
Iterative / Multi-hop RAG Dynamic Text-only Self-critique (optional) Iterative / Multi-hop No Slow (>1s) Emerging (2023+)
HippoRAG Agent-driven Graph None Multi-hop (single pass) No Fast (query-time)* Research-frontier (2024+)
Memory / Conversational RAG Dynamic Text-only None Single- or Multi-hop No Medium (200ms–1s) Stable (growing)
HyDE Static Text-only None Single-hop No Medium (200ms–1s) Stable (2022+)
FLARE Agent-driven Text-only Self-critique Iterative No Slow (>1s) Emerging (2023+)
KAG Dynamic Graph + Text Self-critique (logical) Multi-hop No Medium (200ms–1s) Emerging (2024+)
GraphReader Agent-driven Graph (notes) Self-critique Iterative / Multi-hop No Slow (>1s) Emerging (2024+)
GNN-RAG Static (learned) Graph None Multi-hop Yes (GNN) Fast (query-time) Emerging (2024+)
REALM † Static (learned) Text-only None Single-hop Yes Fast (<200ms) Foundational (2020)
RETRO † Static (frozen) Text-only None Per-chunk Yes Medium (200ms–1s) Foundational (2021)
Atlas † Static (learned) Text-only None Single-hop Yes Medium (200ms–1s) Foundational (2022)
Fusion-in-Decoder † Static Text-only None Single-hop (many passages) Yes (reader) Medium (200ms–1s) Foundational (2020)
ColRAG / ColBERT Static Text-only None Single-hop No Fast (<200ms) Stable (2020+)
Agentic Web RAG Agent-driven Text-only (live web) Self-critique (optional) Multi-hop No Slow (>1s) Stable (2023+)
Few-Shot Example RAG Static Text-only None Single-hop No Fast (<200ms) Stable (growing)
Verifiable / Citation RAG Static Text-only Self-critique (attribution) Single-hop No Medium (200ms–1s) Emerging (2023+)
Privacy-Preserving RAG Static Text-only None Single-hop No Medium (200ms–1s) Emerging (2024+)
Streaming / Real-Time RAG Dynamic Text-only None Single-hop No Fast (<200ms) Stable (growing)
Table-Aware RAG Static Structured (tables in docs) None Single-hop No Medium (200ms–1s) Emerging (2023+)
Tree of Thought RAG Agent-driven Text-only Self-critique Multi-hop (tree) No Slow (>1s) Research-frontier (2024+)
DPR (Dense Passage Retrieval) Static (learned) Text-only None Single-hop Yes Fast (<200ms) Foundational (2020)
WebGPT / Tool-Augmented LM Agent-driven Text-only (live web) Self-critique Multi-hop Yes (RLHF) Slow (>1s) Foundational (2021)
SURGE (Schema-Grounded RAG) Static Text-only Self-critique (NLI) Single-hop No Medium (200ms–1s) Emerging (2024+)
Recursive Document Summarization RAG Static Text-only None Multi-hop (tree) No Fast (<200ms) Emerging (2024+)
Search-R1 / Reasoning RAG Agent-driven Text-only External signal Iterative Yes Medium (200ms–1s) Experimental (2025+)
Deep Research / Agentic Research RAG Agent-driven Text-only (live web) Self-critique (optional) Multi-hop No High (>1s, minutes) Production (commercial), Emerging (open-source)
MemoRAG Dynamic Text-only None Single-hop (per clue), Multi-hop (aggregate) Yes Medium (200ms–1s) Experimental (2024+)
LongRAG + Self-Route Dynamic Text-only Self-critique Single-hop No Medium (200ms–1s)* Emerging (2024+)
VisRAG Static Multimodal (page-images) None Single-hop Yes (retrieval encoder) Medium (200ms–1s) Experimental (2024+)
LazyGraphRAG Dynamic Graph Self-critique Iterative No Medium (200ms–1s)* Emerging (2024+)
Astute RAG Static Text-only Self-critique Single-hop No Medium (200ms–1s) Experimental (2024+)
Auto-RAG / DeepRAG Agent-driven Text-only Self-critique Multi-hop / Iterative Yes Medium (200ms–1s)* Experimental (2024+)
CoRAG (Chain-of-Retrieval) Agent-driven Text-only External signal Multi-hop / Iterative Yes Medium (200ms–1s)* Emerging (2025+)
RQ-RAG Agent-driven Text-only Self-critique Multi-hop / Iterative Yes Medium (200ms–1s) Experimental (2024+)
REFRAG Static Text-only Self-critique Single-hop Yes Fast (<200ms) Emerging (2025+)

* Query-time latency is low; HippoRAG and CAG pay a large up-front (index-build / KV-cache) cost instead. LongRAG, LazyGraphRAG, and Auto-RAG/DeepRAG vary with routing/expansion/step-count decisions made per query. CoRAG's latency also scales with the chosen chain length (a test-time compute knob). ‡ DPR is also a training-time architecture but is listed separately as the foundational bi-encoder retrieval model rather than a full RAG pipeline. † Training-time / parametric architectures: retrieval is integrated into pre-training or the model architecture (and the retriever/reader is trained), rather than bolted on at inference. They form a distinct branch from the inference-time architectures above.


Taxonomy Tree Diagram

Here's how the core architectures relate (the tree shows the original 12 base types; the 17 newer architectures in the table above are specializations or compositions of these — e.g. HippoRAG, LightRAG, KAG, GraphReader and GNN-RAG extend the Graph branch; FLARE and Iterative RAG extend the iterative-scope branch; HyDE is a query-transformation layer over any static retriever; and REALM/RETRO/Atlas/FiD form a separate training-time / parametric branch where retrieval is baked into pre-training or architecture rather than added at inference). Every path from root to leaf is a valid RAG system.

                          RAG
                          │
        ┌─────────────────┼──────────────────┐
        │                 │                  │
    Text-Only         Specialized        Context-Aware
        │           (Data Modality)      (Scope)
        │                 │                  │
   ┌────┼────┐        ┌───┼───┐         ┌───┴────┐
   │    │    │        │   │   │         │        │
Static Dyn  Agent   Graph Struct Multi  Long-  Spec
        │    │        │   │   │      Context  ulative
   ┌────┘    │    ┌───┘   │   │         │        │
   │         │    │       │   │         │        │
Naive    Adaptive Agentic GraphRAG Struct Multi   │
RAG      RAG      RAG     RAG     RAG    RAG   Long-Context
   │         │             │       │          │
Advanced  Modular      (multi-hop)         (single-hop,
RAG       RAG                            context
   │         │                           window)
Corrective  (self-critique)
RAG         Self-RAG
   │          │
(validation) (fine-tune)

How New RAG Architectures Get Created

The field produces new architectures by combining these three generative patterns:

Pattern 1: Add a New Retrieval Source

Pattern 2: Add a Feedback Loop

Pattern 3: Add Orchestration / Control Logic

Most production systems combine two or more patterns. For example, a system that uses Adaptive RAG (pattern 3) to pick a strategy, then adds Self-RAG's feedback loop (pattern 2) is a valid hybrid.


Hybrid Systems in Practice

Most production RAG systems are not pure. They combine two or more of the 52 architectures.

Common Combination Why It's Done Trade-off
Adaptive + Agentic Route simple queries through fast adaptive RAG; use agent for complex multi-hop queries Added complexity; must maintain two retrieval paths
Graph + Advanced Use semantic search on text, entity linking on graphs; merge results with RRF Embedding model for text, entity indexing for graph; slower but higher recall
Modular + Corrective Plug in a validation step after any modular retrieval choice Added latency (one extra validation call per query)
Self-RAG + Structured Use Self-RAG for text, route structured queries to SQL directly Requires query classifier; different evaluation metrics per path
Long-Context + Adaptive For queries that fit in context window, use long-context; for others, use adaptive retrieval Mixed latency; must document context window limits

Taxonomy Anti-patterns

Five common mistakes when classifying or choosing a RAG type:

1. Over-Engineering (Choosing Agentic when Naive Would Do)

2. Under-Specifying (Calling Everything "Advanced RAG")

3. Modality Mismatch (Using Text Embeddings on Structured Data)

4. Scope Creep Without Feedback (Multi-Hop Without Validation)

5. Ignoring Latency Budget


Using the Taxonomy

  1. To understand a new architecture: Find it in the table. Read the retrieval control, feedback loop, and scope. That tells you the mechanism.
  2. To choose which one to implement: Start with the left side of the table (Static, Single-Hop, No Feedback). Move right only if you hit a forcing function (the roadmap covers these).
  3. To explain the difference in an interview: Use the classification axes. "Self-RAG differs from Advanced RAG in three ways: agent-driven orchestration, iterative scope, and external feedback loop."
  4. To spot opportunities for optimization: Check the "Latency Class" column. If you're at Medium or Slow, can you move left (simpler orchestration)?