Alex:Lewis,我注意到,随着 RAG 系统向更深层次发展,它已经不再只是一个“简单检索 + 生成”的模型。新的检索策略和范式正在不断涌现。
Lewis:没错。RAG 系统已经不再局限于传统的关键词检索或向量检索与生成。它现在正在尝试将检索与推理、上下文理解、知识图谱、跨模态信息处理和自适应优化结合起来,形成一系列高级检索策略和范式,也就是所谓的复杂 RAG 范式。
图 10.1:复杂 RAG 范式列表。
复杂 RAG 范式概览
Alex:你能不能给我概览一下,一些更具创新性的复杂 RAG 范式?
Lewis:当然。不过,由于本课程篇幅有限,我会用比较简洁的方式介绍几种典型复杂 RAG 范式。更多细节需要你自己去查阅相关技术网站。另外,这些新范式正处于快速发展阶段。在编写本课程时,许多技术仍在持续演化。
因此,我建议你保持对最新研究进展的关注,并通过阅读前沿文献深入学习。随着时间推移,这些创新方法会在实践中接受检验,并逐渐形成更加成熟、可靠的技术体系。
GraphRAG:RAG 与知识图谱的融合
Graph-based Retrieval-Augmented Generation,也就是 GraphRAG,通过引入知识图谱 KG,增强大模型的检索能力。它的目标是解决传统 RAG 系统在复杂查询、多跳推理和全局信息整合方面面临的问题。GraphRAG 的核心思想是将非结构化文本转换为结构化知识图谱,并利用图数据库算法,例如关联检索和社区发现,来提升生成响应的准确性和可解释性。
图 10.2:相互连接的供应商、产品和物流社区,展示供应风险。
Microsoft 开源的 GraphRAG 项目展示了如何通过构建知识图谱,实现跨文档的语义连接,从而显著提升 RAG 系统在处理知识库时的效果。与把知识仅仅看作一组独立文档不同,GraphRAG 会从知识库中生成知识图谱,将实体及其关系连接起来。在检索过程中,系统不仅会考虑节点,也就是实体本身的文本信息,还会沿着图边搜索相关实体,以获得更高层级的上下文。这种方式使检索结果更加相关,也更具逻辑性。
GraphRAG 的实现分为两个主要阶段:索引阶段和查询阶段。
索引阶段的特点如下:
文本切分与实体抽取:将文档切分为段落或句子单位,并使用大模型抽取实体、关系和关键断言,例如人物、地点、事件等,以构建初始知识图谱。
层级聚类与社区摘要:采用 Leiden 算法对图进行层级聚类,形成紧密关联的社区结构,并自底向上生成社区摘要。例如,在一个学术论文库中,数学和物理学科可能会形成独立社区,每个社区都会生成其核心主题摘要。
查询阶段的特点如下:
全局搜索:对于涉及整个数据集的查询,例如“过去 5 年 AI 研究趋势”,系统会通过社区摘要进行多轮信息聚合,生成综合性回答。
局部搜索:聚焦于特定实体,例如“Microsoft Cosmos DB 的新特性”,系统会从向量数据库中检索相关实体,并结合社区报告生成精准答案。
GraphRAG 的优势和劣势都非常明显。它可以极大扩展检索覆盖范围,并揭示当前检索内容与底层关联节点之间的关系链条;但同时,它也会消耗大量计算资源,并可能在生成过程中引入过多无关上下文信息。针对这些问题,业界已经提出了一些优化方法。
Microsoft 随后推出的 LazyGraphRAG,通过简化索引构建过程显著降低计算成本。LazyGraphRAG 不再依赖大模型抽取实体关系,而是使用 NLP 名词短语和共现关系构建轻量图,其索引成本只有传统 GraphRAG 的 0.1%。在查询过程中,LazyGraphRAG 会动态调用大模型进行相关性评估,并结合 best-first search 和 breadth-first search 策略,实现与完整 GraphRAG 相当的答案质量,同时显著降低查询成本。
OG-RAG 引入领域本体,将文档映射为超图结构,并使用贪心算法选择覆盖最多相关节点的超边,从而生成紧凑上下文。例如,在农业领域,通过定义 “crop-soil” 这样的实体关系,可以提升特定领域查询的精度。
HyBGRAG 结合文本检索,也就是向量搜索,和图检索,也就是实体关系抽取,并通过 router 和 reflection modules 优化检索策略。如果初始检索结果不够准确,大模型 reviewer 会提供反馈,并调整检索模块选择,以提升结果可靠性。
通过结构化知识图谱与大模型的深度融合,GraphRAG 正在重塑信息检索和生成范式。技术演化不断在效率和质量之间寻找平衡,行业应用也已经渗透到医疗、金融等领域。未来,随着多模态扩展和自适应框架逐渐成熟,GraphRAG 有望成为 AI 认知能力的核心引擎,推动更加智能、可信的生成式应用发展。
Contextual retrieval:突破传统 RAG 的上下文挑战
Contextual retrieval 方法由 Anthropic 提出,旨在解决传统 RAG 系统中文本切块造成的语义孤立问题。该方法会在 embedding 之前,为每个文本块添加特定解释性上下文,从而增强检索效果,提高检索准确率和生成内容质量。
在 contextual retrieval 中,retriever 不仅会考虑你的 query 语义,还会纳入对话历史、用户偏好和任务目标等上下文因素。例如,在连续对话中,当你需要上一轮问答中的背景信息时,比如询问 “What was the company’s revenue growth in Q2 of 2025”,如果某个信息块只包含 “revenue growth 3%”,却没有公司名称和时间,就无法准确匹配你的查询需求。
Contextual retrieval 会通过以下方式自动将这类信息纳入检索范围,从而提供更符合当前上下文的文档:
Context embedding:在切块之前,使用大模型为每个文本块生成一段 50–100 tokens 的上下文描述。例如,将 “revenue growth 3%” 扩展为:“This chunk is from the company’s Q2 2025 financial report. Last quarter’s revenue was $314 million, with a 3% growth this quarter.”
Context BM25:将原始文本与上下文描述合并后,构建 BM25 索引,以增强对精确术语匹配的能力。
根据 Anthropic 的实验,将语义向量搜索与 BM25 通过混合检索策略结合,可以将 Top 20 相关 chunks 的检索失败率降低 49%。如果进一步加入 reranking,检索失败率还可以额外降低 67%。同时,借助 prompt caching 技术,contextual retrieval 可以一次性将文档加载到缓存中,从而减少重复调用大模型带来的冗余 token 消耗。
进行 contextual retrieval 时,可能会遇到动态更新带来的挑战。可以通过增量图构建或滑动窗口策略来更优地解决这些问题。
Modular RAG:从固定流程走向灵活架构
随着应用需求持续增长,传统 RAG 系统的复杂度也在增加,这限制了它的灵活性和可扩展性。因此,Lewis 在本课程中对 RAG 组件进行了细致拆解,并为每个组件提供了优化方向。
同济大学 Dr. Yunfan Gao 等人在论文 Modular RAG: Transforming RAG Systems into Lego-like Reconfigurable Frameworks 中提出了 Modular RAG 框架。该框架将复杂 RAG 系统拆分为独立模块,也就是组件,形成一种高度可重构架构。通过这种模块化设计,RAG 系统可以像乐高积木一样,根据具体需求灵活组装和调整。
这种设计超越了传统线性的 “retrieve-generate” 流程,引入了 routing、scheduling 和 fusion 机制。它支持更复杂的运行模式,例如条件分支和循环处理。论文提出了几种常见 RAG 模式,例如顺序型、条件分支型、多分支型和循环型,并分析了每种模式的实现细节。
Modular RAG 面临的一个主要挑战,是组件之间协调复杂度较高。为了解决这一问题,通常会引入 agent 协作机制。例如,通过多个智能体分工协作,或者采用自适应决策模型优化组件之间的交互。Corrective RAG 中的自校正循环,可以根据反馈自动调整检索和生成流程,从而提升系统准确性和效率。
Agentic RAG 或 agent 驱动的 RAG 系统
从 RAG 走向 Agentic RAG 是一个重要趋势,标志着系统从被动响应转向主动参与信息检索和决策过程。Agentic RAG 不仅能够被动回应用户查询,还可以作为一个“智能 agent”,主动制定检索计划、选择信息来源、质疑结果,并通过迭代优化提升输出质量。因此,RAG 系统已经从一个简单工具,演化为具备策略思考和决策能力的“智能信息交互体”,能够主动为用户提供高质量信息和解决方案。
Agentic RAG 引入 autonomous agents,以实现动态决策和任务规划。它的核心模式主要包括以下四类:
Reflection mode:agent 通过迭代评估自身决策和输出质量来优化检索策略。例如,在医疗诊断中,agent 可以根据患者反馈调整检索范围,以提高诊断准确性。
Planning mode:将复杂查询分解为一系列子任务,进行多步推理。例如,金融分析 agent 可以规划 “data retrieval → trend analysis → risk assessment” 的工作流,以生成投资建议。
Tool utilization mode:集成外部工具,例如 APIs、databases 等,扩展自身能力。例如,法律 agent 可以调用合同数据库和合规规则库,生成法律意见。
Multi-agent collaboration mode:多个专业 agents 协同工作,分工完成复杂任务。例如,在客服系统中,FAQ 检索 agents、工单处理 agents 和情绪分析 agents 可以协同工作,提高响应效率和服务质量。
前面介绍过的 CRAG、Self-RAG 和 RRR,都是对传统 RAG 系统的重要改进,也可以被视为迈向 agentic RAG 的一步。下面这些设计体现了 agentic RAG 的特征:
对检索文档相关性打分。
必要时重新优化 queries。
使用 web search 补充信息。
当初始检索到的文档不够相关或不够全面时,agentic RAG 可以动态调整检索策略,例如根据 query 复杂度在单步检索和多步检索之间切换,从而显著增强系统回答复杂问题的能力。
Multimodal RAG
当信息不再局限于文本,而是还包括图像、音频、视频等模态数据时,就需要 multimodal retrieval-augmented generation,也就是 MMRAG 或 Multimodal RAG 来处理。这类系统可以从图像中提取特征向量用于检索,例如从视频中选择合适片段,或者从音频中提取关键词信息,并将这些结果与基于文本的检索融合起来,提供更全面的知识支持。
Multimodal RAG 通过整合文本、图像、音频等多模态数据,扩展了传统 RAG 系统的语义理解边界。其技术架构如下:
Multimodal encoder:使用 CLIP,也就是 Contrastive Language-Image Pretraining 等模型,对齐跨模态语义。例如,将文本 “red sports car” 与对应图像关联起来。
Dynamic retrieval strategy:根据 query 类型选择优先处理的模态。例如,在视觉问答场景中,系统会优先检索图像,再辅以文本描述。
Cross-modal fusion:使用 attention mechanisms 整合不同来源的信息。例如,在医疗报告分析中,同时考虑影像内容和文本内容。
代表性框架包括阿里巴巴的 OmniSearch 和 HyBGRAG。这些框架支持文本、表格和图像的混合检索,有助于减少大模型幻觉,并通过图像检索和多模态数据结合增强复杂推理能力。
Multimodal RAG 的典型应用场景如下:
医学影像分析:结合 CT 图像和病历文本生成诊断建议,例如肿瘤定位和分期分析。
工业质量检测:整合产品图像和缺陷数据库,实时检测生产线异常。
教育:实现多模态教学材料检索,例如结合物理实验视频和解释文本,促进互动学习。
零售推荐:分析用户评论文本、商品图像视觉信息和购买记录结构化数据,生成个性化推荐。
未来,multimodal RAG 具备巨大发展潜力。开发者可以使用轻量级多模态模型,降低环境感知所需算力,从而让系统能够在消费级硬件上高效运行。此外,通过引入动态路由机制,可以根据任务需求自动选择最优模态组合,例如优先使用语音输入并输出文本。
一个非常有前景的方向,是 agentic RAG 和 multimodal RAG 的深度融合。例如,在自动驾驶领域,可以使用多模态 agents 实时整合道路图像、传感器数据和交通规则数据库,实现动态路径规划。类似地,面向医疗、制造等特定行业,开发专用垂直 MMRAG 系统框架,也具有巨大潜力。
总结
除了本章列出的新进展之外,RAG 领域仍然不断涌现新的范式和方法。下面简要列出其中一些,或许能给你一些启发:
Turing-Complete RAG,TC-RAG:目标是让检索过程可编程,甚至接近图灵完备。通过将 operators 和 programming logic 嵌入检索过程,RAG 系统可以动态组合 query 和数据处理步骤,从而完成复杂推理任务。
Iterative retrieval,例如 ITER、CRAG、Self-RAG、RRR 等:在单次查询中多次调用检索模块,每次都利用前一次检索结果和 generator 反馈来细化 query strategy。这样逐渐提升检索质量,使最终找到的文档更接近用户期望。
Adaptive retrieval,例如 FLARE 等方法:根据系统状态、用户反馈和上下文变化,动态调整检索策略。通过在线学习和动态优化,RAG 系统可以随着时间不断改进,持续提升检索准确性和可用性。
Information retrieval Chain-of-Thought,IRCoT:将 chain-of-thought 概念引入检索阶段。它不仅返回结果文档,还可以展示检索路径和中间推理过程,帮助用户和更高层生成模块更好理解检索策略的来龙去脉,减少盲区和误导性结果。
PlanRAG:在检索阶段引入显式规划逻辑,制定检索策略“计划”,例如先查询特定领域知识,再扩展到相关上下游知识点。这使检索结果更有组织,也让 generator 能更高效地利用资源。
T-RAG:在检索过程中引入任务分解和角色分工,将复杂任务拆解成子任务,并由不同专业 retrievers 分别处理。随后聚合结果,为 generator 提供多维信息输入。
AutoRAG:尝试自动化和优化 RAG 流程,通过自动选择最佳检索策略和参数,并在不同阶段持续调优检索和生成模块,实现闭环优化,减少人工干预。
Retrieval-augmented fine-tuning,RAFT:将检索信息引入大模型微调过程。在模型训练时,使用 retriever 提供的知识进行强化学习或监督微调,使模型在推理时自然具备一种“知识嵌入”特征,提高答案准确性和实用性。
Anna:这些复杂检索策略和范式,让 RAG 系统不再只是从信息海洋中抽取内容,而是赋予它分层思考、灵活适配和多模态融合能力。未来的 RAG 会更像一个万能信息中介,能够自动为用户筛选、分析并整合有价值的信息。
Lewis:完全正确。这些复杂策略的引入,使 RAG 从传统单一检索模式升级为一个多维、多策略的知识获取与利用框架。再结合 AI Agent、MCP 以及其他大模型应用开发技术,它为实现更高层级的智能交互铺平了道路。