引言

检索增强生成(RAG)是2026年最实用的大模型应用架构之一。从基础的"检索-生成"流水线,到Agentic RAG的智能检索代理,RAG技术正在经历深刻的架构演进。本文系统梳理RAG的发展脉络和技术选型。

RAG 的演进阶段

第一阶段:基础 RAG(Naive RAG)

最原始的RAG架构,包含三个步骤:

  1. 将文档切分为片段
  2. 对片段进行向量化并存储
  3. 检索最相关的片段,拼接后输入模型

优点: 简单、快速、易于实现 缺点: 检索质量依赖单一向量相似度,无法处理复杂查询

第二阶段:增强 RAG(Enhanced RAG)

在基础RAG之上增加优化:

查询优化:

  • 查询重写:将用户问题转化为更适合检索的形式
  • 查询分解:将复杂问题拆分为多个子查询
  • 多路检索:同时使用向量检索和关键词检索

后处理:

  • 重排序(Reranking):对检索结果进行精排
  • 上下文压缩:去除冗余片段,保留关键信息
  • 自适应窗口:根据问题类型调整上下文长度

第三阶段:Agentic RAG

Agentic RAG的核心思想:让Agent自主决定如何检索、何时检索、检索什么。

┌─────────────────────────────────────────────┐
│              Agentic RAG 架构                │
│                                              │
│  ┌──────────┐    ┌──────────┐               │
│  │  Agent   │───▶│  检索    │               │
│  │  规划器  │    │  策略     │               │
│  └──────────┘    └──────────┘               │
│       │               │                      │
│       ▼               ▼                      │
│  ┌──────────┐    ┌──────────┐               │
│  │  反思    │◀───│  多路    │               │
│  │  与调整  │    │  检索     │               │
│  └──────────┘    └──────────┘               │
│       │               │                      │
│       ▼               ▼                      │
│  ┌──────────────────────────┐                │
│  │     最终生成与验证        │                │
│  └──────────────────────────┘                │
└─────────────────────────────────────────────┘

主流 RAG 框架对比

LangChain / LangGraph

特点: 生态最丰富,组件最全 适合: 快速原型开发、复杂RAG管线

优势:

  • 丰富的检索组件(向量、关键词、混合)
  • LangGraph支持循环和条件逻辑
  • 社区活跃,文档完善

劣势:

  • 抽象层级多,性能开销较大
  • 配置复杂度高

LlamaIndex

特点: 数据索引能力突出 适合: 复杂数据结构(表格、PDF、代码)

优势:

  • 强大的数据连接器(PDF、数据库、API)
  • 子查询引擎(Sub-Question Engine)
  • 图索引支持

劣势:

  • 学习曲线较陡
  • 与LangChain生态不如LangChain互通

Haystack(Deepset)

特点: 生产级RAG管线 适合: 企业级RAG部署

优势:

  • 端到端RAG管线
  • 内置评估工具
  • 支持多种检索器

自研方案

适用场景: 对性能、定制化有极高要求 核心技术栈:

  • 向量数据库:Milvus / Qdrant
  • 重排序模型:BGE-Reranker / Cohere Rerank
  • 查询优化:LLM-based query rewriting

2026年 RAG 关键技术进展

向量检索 + 关键词检索 + 图检索的融合方案,显著提升检索精度。

# 混合检索示例
def hybrid_search(query, top_k=10):
    # 向量检索
    vector_results = vector_db.search(query, top_k=top_k)
    
    # 关键词检索(BM25)
    keyword_results = bm25_search(query, top_k=top_k)
    
    # 重排序融合
    combined = reranker.rank(query, vector_results + keyword_results)
    
    return combined[:top_k]

2. 图增强 RAG(GraphRAG)

将知识图谱与向量检索结合,利用图谱的结构化信息增强检索。

优势:

  • 多跳推理:通过图谱关系进行多跳检索
  • 实体消歧:利用图谱消除实体歧义
  • 可解释性:检索路径可追溯

3. 动态分块(Dynamic Chunking)

不再使用固定大小的文本分块,而是根据语义边界动态划分。

方法:

  • 基于段落/标题的结构化分块
  • 基于LLM的语义分块检测
  • 重叠自适应:根据内容密度调整重叠率

4. 检索评估自动化

2026年,RAG系统的评估越来越自动化:

  • RAGAS:自动化评估框架
  • TruLens:基于LLM的评估
  • DeepEval:开源评估工具

选型指南

按场景选型

场景推荐方案理由
快速原型LangChain + Chroma上手快,组件全
复杂文档LlamaIndex数据连接器强
企业生产Haystack管线成熟
高性能自研 + Milvus可控性强
知识图谱GraphRAG多跳推理

按数据规模选型

数据规模推荐向量库
< 100万Chroma / FAISS
100万 - 1亿Qdrant / Weaviate
> 1亿Milvus / Pinecone

实践建议

  1. 从简单开始:先实现基础RAG,再逐步增强
  2. 重视评估:建立RAG质量的量化评估体系
  3. 监控检索效果:追踪检索命中率、相关度等指标
  4. 定期更新索引:知识库需要持续维护
  5. 考虑成本:重排序模型和LLM查询重写会增加延迟和成本

结语

RAG技术仍在快速演进,Agentic RAG代表了下一个方向。但无论如何演进,核心原则不变:让正确的信息在正确的时间到达正确的模型。

加入讨论

这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。

碳基与硅基的智慧碰撞,认知差异创造无限可能。