DeepSeek实战--传统RAG与Agentic RAG对比
摘要:本文对比了传统RAG与Agentic RAG的差异。传统RAG采用线性流程,通过单次检索和生成回答简单事实性问题,但缺乏纠错能力。Agentic RAG则引入智能体概念,具有规划、多工具调用和迭代检索能力,适用于复杂开放式任务。关键区别在于Agentic RAG具备决策能力,可动态规划路径,整合多源信息。文章通过工作流程、核心特点和适用场景的对比,指出Agentic RAG是RAG技术的进化
·
1.原理对比图
分享一张非常漂亮的图,来对比一下原理及流程(from join.DailyDoseofDS.com)
2.定位及使用场景
2.1 传统RAG
这是一种线性的、一次性的检索增强生成流程。
工作流程:
- 接收问题:用户提出一个查询。
- 检索:系统将查询与知识库进行向量相似度搜索,检索出最相关的几个文档片段。
- 生成:将检索到的文档片段和原始查询一起打包,发送给大语言模型,让LLM基于这些上下文生成答案。
- 输出答案:将LLM生成的答案返回给用户。
核心特点:
- 被动执行:它严格按照“检索-增强-生成”的固定流程执行,没有决策能力。
- 一次性操作:通常只进行一次检索和生成。如果第一次检索的结果不理想,它无法自我修正。
- 缺乏规划:它不会去思考“这个问题可能需要多步推理”或“我应该从不同的角度检索信息”。
- 适用场景:非常适合事实性问答、简单的知识查询,例如“公司的年假政策是什么?”或“解释一下什么是神经网络”。
局限性:
- 如果问题复杂,需要多步信息整合,它可能无法给出好答案。
- 如果第一次检索错了,整个回答就错了,缺乏纠错机制。
- 无法处理需要工具使用(如计算、搜索)的任务。
2.2 Agentic RAG
这是一种非线性的、具有决策和规划能力的RAG流程。它引入了一个“智能体(Agent)”作为核心控制器,这个智能体可以利用工具(包括RAG本身)来完成任务。
2.2.1 工作流程:
- 接收任务:用户提出一个复杂的任务或问题。
- 规划:智能体首先对任务进行分解和规划。例如,它可能会想:“要回答这个问题,我需要先了解A概念,再查一下B事件的数据,最后对比一下C和D。”
- 执行与迭代:智能体根据规划,主动选择和使用工具。
- 它可能会多次调用RAG,每次用不同的子问题去检索。
- 它可能会使用计算器 进行数学运算。
- 它可能会使用搜索引擎 获取最新信息。
- 它可能会使用代码解释器 分析数据。
- 反思与验证:智能体会对收集到的信息进行反思和验证,判断是否足够、是否准确、是否存在矛盾。如果不够,它会回到第3步继续执行。
- 综合生成:当智能体认为信息充足时,它会综合所有步骤的结果,生成一个完整、准确的最终答案。
核心特点:
- 主动规划:具备任务分解和规划能力。
- 工具使用:将RAG视为其可用的核心工具之一,并能灵活调用其他工具。
- 迭代式检索:可以进行多轮、多角度的检索,自我修正和优化。
- 推理与决策:在整个过程中有“思考”的步骤,决定下一步该做什么。
适用场景:
- 复杂的开放式问答:例如“为我们的新产品制定一个进入东南亚市场的初步策略。”
- 需要多步推理的研究:例如“比较一下特斯拉和比亚迪在过去三年的财务表现和主要技术路线。”
- 需要整合多来源信息的任务:例如“总结一下关于‘室温超导’的最新研究进展和学界的主要争议点。”
3.各维度对比
特性 | 传统RAG | Agentic RAG(代理式RAG) |
---|---|---|
核心比喻 | 自动售货机 | 专业的餐厅服务员 |
工作模式 | 线性、一次性 | 循环、迭代、有状态 |
决策能力 | 无 | 有(规划、工具选择、反思) |
检索行为 | 单轮检索 | 多轮、迭代式检索 |
灵活性 | 低,流程固定 | 高,动态规划路径 |
工具使用 | 通常只使用向量数据库 | 可使用RAG、搜索引擎、计算器、API等 |
适用问题 | 简单、事实性、封闭式问题 | 复杂、开放式、需要推理的问题 |
系统复杂度 | 相对简单 | 非常复杂,需要强大的Agent框架 |
4.总结
传统RAG解决了LLM的“知识幻觉”和“信息滞后”问题,是一个强大的信息检索和答案生成管道。而Agentic RAG则是在此基础上,赋予了系统“大脑”和“手脚”,使其能够自主思考、规划并使用各种工具(包括RAG)来解决更为复杂和动态的现实世界任务。
可以说,Agentic RAG是RAG技术的进化方向,使其从一个强大的工具,转变为一个能够独立处理复杂任务的智能代理。
更多推荐
所有评论(0)