RAG is not one fixed architecture. Recent papers such as SCOUT-RAG, A-RAG, and SCMRAG 2.0 explore adaptive retrieval, distributed Graph-RAG, hierarchical interfaces, and multimodal self-correction. Their results are research observations, not evidence that an agentic design universally beats a simpler pipeline. This guide separates those papers from the production contracts needed for evidence, authorization, evaluation, cost, and rollback.

Key Takeaways

  • RAG evolution path: Naive RAG → Advanced RAG → Modular RAG → Agentic RAG
  • Agents autonomously decide "whether to retrieve / what / where from / is it sufficient"
  • SCOUT-RAG explores progressive cross-domain traversal and adaptive graph retrieval in a research setting.
  • Multimodal and graph retrieval are design options, not a standard enterprise solution.
  • Distributed retrieval can isolate ownership and scale domains, but fan-out also adds tail latency, policy complexity, and failure modes.

Research Patterns, Not a Canonical Timeline

Phase Characteristics Key Technology Era
Pattern Typical control surface Primary trade-off
--- --- ---
Single-pass RAG fixed retrieval and generation simple and cheap, but less adaptive
Workflow/iterative RAG predefined query, retrieval, and verification steps more control, less per-query flexibility
Agentic RAG model selects from allowlisted retrieval actions adaptive, but harder to bound and evaluate
Distributed Graph-RAG domain routing and graph traversal across owners preserves locality, but adds fan-out and authorization work
Multimodal RAG modality-specific or shared evidence paths preserves richer inputs, but increases indexing and validation cost

Core Architectures

SCOUT-RAG: Distributed Agentic Graph-RAG

SCOUT-RAG is the name used by Li et al. for “Scalable and Cost-Efficient Unifying Traversal.” The arXiv preprint (v1, February 2026) describes three stages: domain relevance assessment, domain-scoped seeding, and iterative cross-domain refinement, implemented with cooperating agents. It is a research framework; reproduce its baselines and data conditions before making a cost or quality claim.

code
User Query
    │
    ▼
┌─────────────────────┐
│ Domain Relevance     │ ← estimate which independently owned domains matter
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│ Domain-Scoped Seeding│ ← retrieve within selected domains
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│ Cross-Domain Refinement│ ← expand only when evidence justifies it
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│ Answer Quality Check │ ← inspect evidence gaps and provenance
└──────────┬──────────┘
       ┌───┴───┐
       │Insufficient│→ Return to Source Selection
       └───┬───┘
           │ Sufficient
           ▼
┌─────────────────────┐
│  Answer Generation   │ ← Generate from sufficient evidence
└─────────────────────┘

A-RAG: Hierarchical Retrieval Interfaces

A-RAG (Du et al., 2026) exposes keyword search, semantic search, and chunk reading interfaces at different granularities so that the model can select and interleave retrieval actions. A confidence number generated by the same model is not a sufficient authorization or stopping signal; production systems need explicit budgets, evidence checks, and server-side stop rules.

python
# Illustrative pseudocode. Tool implementations, auth, and model APIs are omitted.
def adaptive_retrieval(query, policy):
    evidence = []
    for _ in range(policy.max_rounds):
        action = policy.choose_allowlisted_action(query, evidence)
        result = policy.execute(action)
        evidence = policy.validate_and_merge(evidence, result)
        if policy.has_sufficient_cited_evidence(query, evidence):
            break
    return policy.generate_with_citations(query, evidence)

The policy layer, not the model, owns tool allowlists, tenant filters, byte/token budgets, timeouts, and cancellation.

Distributed Agentic RAG (SCMRAG 2.0)

Conceptual distributed topology for cross-domain knowledge:

code
                    ┌─────────────────┐
                    │  Orchestrator   │
                    │    Agent        │
                    └────────┬────────┘
                             │
         ┌───────────────────┼───────────────────┐
         │                   │                   │
         ▼                   ▼                   ▼
┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│ Domain Agent │    │ Domain Agent │    │ Domain Agent │
│  (Product)   │    │   (Code)     │    │ (Customer)   │
└──────┬───────┘    └──────┬───────┘    └──────┬───────┘
       │                   │                   │
       ▼                   ▼                   ▼
┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│  Vector DB   │    │  Code Index  │    │   Graph DB   │
│  (Milvus)    │    │ (Tree-sitter)│    │   (Neo4j)    │
└──────────────┘    └──────────────┘    └──────────────┘

This is a conceptual topology, not a recommendation to use the named products:

  • Each domain has an independent retrieval Agent aware of its data characteristics
  • Orchestrator distributes queries, aggregates results, resolves conflicts
  • Supports heterogeneous sources (vector DB, graph DB, code index, APIs)
  • Domain Agents may retrieve in parallel, but the system must measure tail latency, partial failures, and the cost of fan-out

Multi-Modal RAG

Architecture Comparison

Approach Principle Advantage Disadvantage
Unified Embedding CLIP-family, images+text in same space Simple unified retrieval Precision limited by embedding model
Modality Conversion VLM describes → text RAG Reuses mature text pipeline Significant information loss
Per-Modality Fusion Independent indexes + fusion generation preserves modality-specific signals Complex architecture and fusion errors

A Versioned Multimodal Retrieval Pattern

python
# Illustrative pseudocode. Pin model revisions and validate every evidence object.
def multimodal_query(question, retrievers, generator, policy):
    candidates = []
    for retriever in policy.allowed_retrievers:
        candidates.extend(retriever.search(question, limit=policy.limit_for(retriever)))
    evidence = policy.deduplicate_check_permissions_and_provenance(candidates)
    return generator.generate(question, evidence, citations=True)

Knowledge Graph + RAG Fusion

Graph RAG Workflow

code
Document Corpus
    │
    ▼
[Entity Extraction] → [Relation Extraction] → [Knowledge Graph Construction]
                                                    │
                                                    ▼
                                    ┌───────────────────────┐
                                    │   Knowledge Graph     │
                                    │ (Entities+Relations)  │
                                    └───────────┬───────────┘
                                                │
User Query → [Intent Recognition] → [Graph Query Gen] → [Subgraph Retrieval]
                                                              │
                                                              ▼
                                              [Context Augmentation] → [LLM Generation]

Use Case Fit

Question type Test first Additional graph value to verify
single-hop fact lexical/dense baseline entity disambiguation or provenance
multi-hop relation decomposed retrieval baseline path completeness and contradiction handling
global summary hierarchical or map-reduce baseline coverage, source weighting, and citation completeness
long-tail question hybrid retrieval and abstention graph recall versus construction cost

Replace Scoreboards With a Controlled Evaluation

Dimension Required protocol
retrieval fixed corpus, query slices, evidence labels, Recall@k/Recall@budget, nDCG or MRR
answer citation precision/recall, faithfulness, completeness, abstention, and contradiction handling
efficiency p50/p95 latency, model/tool calls, retrieved tokens, storage, and cost per correct answer
distributed behavior domain fan-out, partial failure, access-denial rate, cross-domain leakage tests, and tail latency
reproducibility model/checkpoint, prompt, index/parser versions, seeds, dates, and complete baseline configuration

Engineering Recommendations

Selection Decision Tree

code
What's your RAG scenario?
├── Simple Q&A (single-hop facts) → establish a single-pass baseline
├── Multi-hop reasoning/relationship questions → Graph RAG
├── Multiple data sources/cross-domain → Distributed Agentic RAG
├── Mixed text+image knowledge base → Multi-Modal RAG
└── High accuracy requirements → compare candidate workflows on labeled slices

Choose Components by Contract

Component Selection questions
vector index filter support, update semantics, recall, isolation, export, and deletion
graph index ownership, traversal limits, consistency, provenance, and query authorization
embedding/reranker language/modality coverage, version pinning, calibration, and data policy
agent runtime schema validation, cancellation, idempotency, retries, budgets, and audit events
observability redaction, tenant isolation, trace retention, cost attribution, and replay

Production Safety Boundaries

  • Apply tenant, object, and purpose authorization before retrieval and again after parent/graph expansion.
  • Treat documents, graph nodes, retrieved snippets, images, and tool results as untrusted content; defend against prompt injection and poisoned evidence.
  • Allowlist outbound web/API destinations, validate redirects, and bound response size to control SSRF and exfiltration.
  • Preserve source identifiers, versions, timestamps, licenses, and deletion lineage; generated summaries are not authoritative sources.
  • Require citations or abstention for unsupported claims, and keep human approval for high-impact writes.
  • Make domain fan-out, retries, and external side effects idempotent and observable.

Conclusion

Core evolution directions for RAG architecture in 2026:

  • From pipeline to Agent: Retrieval strategies dynamically decided by Agents, not fixed processes
  • From single to distributed: Cross-domain knowledge unified through multi-Agent collaboration
  • From text to multi-modal: Images, tables, code included in retrieval scope
  • From flat to graph: Knowledge graphs provide structured support for multi-hop reasoning

For new RAG projects, evolve in phases: establish a transparent single-pass baseline, label evidence, then add adaptive, graph, multimodal, or distributed components only when a slice-level evaluation shows a material benefit that justifies its operational and governance cost.

Primary Sources