核心内容摘要
springboot-vue.js课程在线学习考试平台管理系统
文章详细分析了RAG技术的演进历程从朴素RAG的局限性到Agentic RAG的创新突破。
通过实际案例展示Agentic RAG通过结构化数据处理、多层级存储和智能工作流程解决了传统RAG的上下文割裂、信息丢失等问题。
其核心是将检索过程转化为可控的SOP通过多个Agent角色实现路由、导航、证据收集等功能显著提升知识检索的准确性和可靠性是构建智能问答系统的重要技术方向。
过时的“RAG”不好用的东西过时了这个还是很能达成一致的之前我们把一整段文档直接丢给向量库效果奇差这也是最近两三年前兴起的**“朴素RAG”**模式一次向量检索、Top-K chunks 直接塞进 prompt、最终垃圾进垃圾出。
这种“朴素RAG”最常见的问题是上下文割裂文档分块的时候对原文的完整性进行了破坏比如表格阶段、论证逻辑切断最终结果是信息丢失。
所以结论是分块导致问题而现在模型上下文这么大了百万上下文即将来临是不是全部丢给模型就好不需要分块了可能也不是这么回事因为长上下文虽然可以缓解分段割裂的问题但背后的检索效率和精度问题依旧还在所以还是必须分块具体来说有以下原因主流的文本Embedding模型有其最佳编码长度中度长度。
将一本数万token的书编码成一个向量就像用一句话概括整本书大量细节会丢失导致检索精度暴跌。
这里有些同学可能不太理解我做下解释每个基座模型都具备Embedding的接口他不关注你输入量有多大无论是200字还是2万字最终他都会给你压缩成一个向量这里的结果是输入越长信息越多压缩越狠结果往往更“平均化”检索分辨率下降。
所有的信息在传递过程中都具有扩散和压缩的特性并不是越多越好可参考此图也就是因为这个原因出了很多工程层面的技术做“迁就”只不过如果都做到这种程度的结构化了我完成可以给每个子文档先做一个大类再给具体文档一段摘要描述description每次问题来了穷举先进具体类型再用模型去判断description就好了这里用小模型的话效率挺高的向量库就可以不用了。
所以真实情况下向量库也不是必须的很多时候都在混用。
然后随着Agent的需求激增模型侧对Agent的基础支持做了大量优化包括MCP、Skills等的提出可以说工具侧最烦的问题处理的差不多了明年很可能模型会在记忆侧发力给出更有的工程策略举个例子理想情况的知识数据就是我把文档全量喂给某个智能库而后我在做知识检索的时候这个智能库能够给我正确的回答。
之前大家是用向量库在做语义检索这块很显然他不好用需要我们叠加很多工程技术才能勉强实现后面大家就发现一个情况小模型配合结构化知识库也能做语义检索啊干嘛非要用向量库于是整个工程范式有很大的变化。
如何把这种复杂的工程技术做内化包装如何将向量技术内置到模型黑盒里面应该是下个阶段模型技术突破的命题之一。
好了在大概解释清楚什么是过时RAG后因为其实我也不知道他们在说什么过时了…我们再回归到Agentic RAG。
Agentic RAG为了更好的AI体验我们做了很多工程层面的优化包括多源知识整合、更动态的上下文验证以及与外部工具的深度融合等。
而后Agent概念火了后大家发现这东西可以用Token去换架构用不停的循环增加的成本去解决Workflow的泛化工程问题。
于是就有好事者在想是不是可以引入Agentic RAG的概念进行精细的计划、多步骤推理并充分利用外部工具去处理复杂问题。
总而言之都是所有Agent字样的出现都是想去偷工程复杂性的懒是一种时间换架构的范式Agentic RAG的工作是在多个文档和数据源间比对信息、提炼
总结从而产出全面且准确的答案。
换言之Agentic RAG实现了从被动检索到主动推理的转变将静态问答过程升级为动态、智能的知识探索过程…PS可以看到反正沾了Agent字样的就很玄妙这里来个传统RAG上与Agentic RAG下流程对比Agentic RAG使用循环迭代流程引入Agent对查询进行分析和决策如选择查询内部知识库还是进行网络搜索然后再对结果相关性进行评分Grade。
如果结果不理想Agent会改写查询重新检索。
如此反复迭代直到收集到足够有用的上下文再由LLM生成可靠答案。
换句话说Agentic RAG 是一种泛化能力很强的Workflow架构能够让模型自己拿到更好的数据我知道大家依旧有点迷糊来个之前的案例吧粗暴RAG的问题成都某大型律所之前有个小需求在审阅一份800页的跨境并购协议时需要快速定位数十个关键条款赔偿、终止、担保、知识产权转移等并对每个条款的风险点进行初步分析。
一个资深律师完成全面审阅需要
小时。
于是乎他们老板问我10万AI能不能搞定我说能搞定、并且去做了也“搞定了”。
只不过可扩展性不高毕竟10万你不可能搞个Harvey出来吧初期我也是想空手套白狼派了个本地成都学员去搞一套基于Dify的标准打法文档处理将PDF合同文本化按固定长度如512字符进行重叠分块向量化使用Dify知识库功能自动分块检索用户提问时召回Top-5最相似分块生成将分块与问题拼接交给GPT-4生成答案实际效果堪称灾难
关键条款丢失一些条款可能跨越
页包含定义、范围、限额、除外情形等固定分块将其切成
段后每段语义都不完整。
表格数据丢失合同附录中会有很多表格一般是需要Markdown化的如果不处理、或者处理不对也会被切碎了模型可能只看到表头或零散数据。
引用混乱模型经常自信地引用第523页第2段但实际上该页讨论的是完全不同的议题甚至有引用页码超出了文档总页数这个就很屌了…
图片问题这个就不用说了图片没特殊处理Markdown 简单描述几乎丢了。
一致性问题同一问题在不同时间提问得到的答案和引用完全不同完全无法用于正式法律意见只要错一个律师就会不信所有。
…上述问题都有成熟的工程解法因为导致其问题的最主要原因一定是粗暴的插入过程原始文档800页PDF ↓ 文本提取800页纯文本 ↓ 机械分块每512字符切一块共约1500个chunk ↓ 向量化1500个向量存入向量数据库 ↓ 完。
Agentic RAGAgentic RAG 效果要好就一定要在输入侧做文章比如不再把文档当成一堆文字而是当成有结构的对象# Agentic RAGs data storage is effectively hierarchical and multimodaldocument_structure{metadata:{doc_id:contract_001,title:并购协议,total_pages:800,version:
0},# Layer 1: Table of Contents (stored in a relational database)toc:[{chapter:1,title:定义,pages:
},{chapter:8,title:赔偿条款,pages:
},{chapter:
2,title:赔偿范围,pages:
},{chapter:
8.
2,title:间接损失,pages:
},{chapter:
3,title:赔偿限额,pages:
}],# Layer 2: Chapter summaries (hybrid vector text storage)chapter_summaries:{
8.
2:{vector:[
12,
34,...],# embedding for the summarysummary:本节规定间接损失的赔偿条件需可合理预见且在30日内书面通知。
,key_entities:[间接损失,合理预见,30日],relevance_score:None# computed at runtime}},# Layer 3: Detailed content (vectorized on-demand)detailed_chunks:{
8.
2_para1:{vector:[
45,
67,...],# only vectorize when queriedtext:
8.
2 间接损失赔偿。
尽管有第
8.
1条规定...,page:48,chunk_type:正文},
3_table1:{vector:None,# tables are not vectorized; handled speciallytype:table,data:[[损失类型,上限比例],[间接损失,50%],...],page:56}},# Layer 4: Cross-reference graph (stored in a graph database)references:{
8.
2:[
8.
6,
3,
8.
3],# references to other clauses
3:[
8.
2,附录D]}}大家可以看到这里的数据处理更前面的PageIndex是否类似只不过这套东西维护成本奇高说白了不管什么RAG效果要好都得处理数据甚至80%的工作量都在数据处理Agentic RAG 也没有多么神奇换句话说Agentic RAG 如果最终不解决数据处理成本过高问题那么他也是花架子这里再补一句Agentic RAG的核心在于数据已经处理好的情况下利用得更好。
如果理解这个点后大家会更Agentic RAG的意义在相同数据质量的情况下会呈现出更优的表现但基础的数据建设依旧要跟上不然效果一定不会很好。
在基本数据得到保证的情况下就可以真正进入Agentic RAG了模拟真人律师的实际工作的SOPWorkflow。
SOP → Agentic RAG先强调一句Agentic RAG 不是“再检索一次”这么简单它是把“检索”做成一个可控的流程。
你只要把这个 SOP 跑通也就基本学会了所以重点是真人怎么做然后用代码做实现。
一个资深律师拿到问题他会做这几步澄清问题边界 → 先定位章节 → 逐层下钻 → 处理交叉引用 → 拿原文做证据链 → 写之前先核对 → 如果证据不足就继续找不硬写回到第2步。
Agentic RAG 要做的就是把上面这套 SOP 变成代码。
比如把系统拆成五个“角色”也可以叫 Skills路由Agent Router决定先看哪些章节/数据源只做决策不回答导航Agent Navigator按“章节 → 条款 → 段落”逐层下钻把范围缩小证据Agent Collector抽取“可引用锚点”的证据片段page/span引用Agent Verifier检查“引用是否存在、结论是否被证据支持”写作Agent Writer把证据链变成“律师能看的”结论与风险提示来一个案例本协议对间接损失indirect damages是否赔偿如果赔偿条件是什么是否有 cap/basket请给可引用页码。
输入理解先把问题拆成 3 个子问题这一步非常关键否则后面永远找不全Q1间接损失是否被排除/允许Q2如果允许有哪些条件Q3上限/门槛是多少
第一轮路由Router 不读正文只读你结构化存的 toc 和 summary 卡片输出一个非常简单的结构化决策示意{route:[{node:
8.
2,why:直接命中间接损失规则,confidence:
92},{node:
3,why:cap/basket通常在限额条款或表格,confidence:
88},{node:LoL,why:间接损失常被责任限制排除,confidence:
65}],stop_condition:证据必须覆盖 Q1-Q3且每条结论可引用}这一步没有向量 Top-K 的随机性因为是在“章节树”上路由搜索空间天然被压小了。
信息下钻进入
8.
2把范围从“章节”缩小到“可读段落”。
如果
8.
2 很短直接拉全文如果
8.
2 仍然很长继续按段落/子条款拆这时系统才会触发在 detailed_chunks 里的 on-demand 向量化只对
8.
2 的段落做 embedding而不是 800 页全量同时把页码锚点带上page48–50得到候选证据片段p48_s03解释间接损失范围p49_s01条件合理预见、30日书面通知p50_s02例外/除外如果有这里就是前面说的在输入侧做文章的收益证据天然带锚点后面引用不会乱飞。
补齐证据Q3是上限/门槛这类信息在合同里很爱到处藏要么在正文写死要么就在某个表格附件所以证据Agent需要明确的指令对于数字信息优先查表格附件如果没有则查询正文。
对于传统RAG来说这里也会是个难点他很难稳定把表格里某个单元格召回进 Top-K。
关系链这里是最为关键一步他意味着拿出来的数据是不是全面就是Agent需要判断原文里面的references 引用的相关内容是不是需要被包含。
数据组装最后就是数据组装了他大概长这样{evidence:[{id:E1,node:
8.
2,page:48,span:p48_s03,text:...间接损失...},{id:E2,node:
8.
2,page:49,span:p49_s01,text:...合理预见...30日内书面通知...},{id:E3,node:
3,page:56,span:
3_table1_row2,text:间接损失 上限比例 50%},{id:E4,node:
3,page:53,span:p53_s02,text:...aggregate cap...}],coverage:{Q1:true,Q2:true,Q3:true}}数据已经充足情况下就是输出问题我们这里就不展开了…结语其实这篇文章真的挺难写的因为我们当时做的时候确实没有用什么Agentic RAG而是用了非常多、也非常常规的工程手法去解决这一切。
事实上我也翻阅了很多资料什么是Agentic RAG该有的案例是什么结果无一例外的没有发现特别合适的然后又与很多业内人员做了交流这个图应该是比较好的说明整个Agentic RAG 的工程发展方向是把数据接口做细 → 封装成工具/Agent → 用 ReAct 让模型决定是否调用。
这里的关键是将复杂的RAG流程拆解成一系列定义明确的 Skills (或 Tools、Agent)然后通过一个 ReAct (Reasoning Acting) 框架让模型自己决定何时、以何种顺序调用这些技能从而完成查询。
这里可能也是Agentic RAG最大的难点或者问题所在了这里的Skills (或 Tools、Agent)他是一个黑盒比如现在有个医疗、法律Agent现在要给我提供API这里复杂度是很高的。
也就是这个数据Agent需要提供各种证据链也要解决复核性等问题。
比如医疗/法律这类 Data Tool 的复杂度高根因不在工具数量而在工具必须提供可追溯、可校验的证据服务最后近期科技圈传来重磅消息行业巨头英特尔宣布大规模裁员2万人传统技术岗位持续萎缩的同时另一番景象却在AI领域上演——AI相关技术岗正开启“疯狂扩招”模式据行业招聘数据显示具备
年大模型相关经验的开发者在大厂就能拿到50K×20薪的高薪待遇薪资差距肉眼可见业内资深HR预判不出1年“具备AI项目实战经验”将正式成为技术岗投递的硬性门槛。
在行业迭代加速的当下“温水煮青蛙”式的等待只会让自己逐渐被淘汰与其被动应对不如主动出击抢先掌握AI大模型核心原理落地应用技术项目实操经验借行业风口实现职业翻盘深知技术人入门大模型时容易走弯路我特意整理了一套全网最全最细的大模型零基础学习礼包涵盖入门思维导图、经典书籍手册、从入门到进阶的实战视频、可直接运行的项目源码等核心内容。
这份资料无需付费免费分享给所有想入局AI大模型的朋友扫码免费领取全部内容部分资料展示
AI大模型学习路线图
全套AI大模型应用开发视频教程从入门到进阶这里都有跟着老师学习事半功倍。
大模型学习书籍文档
AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。
大模型大厂面试真题整理了百度、阿里、字节等企业近三年的AI大模型岗位面试题涵盖基础理论、技术实操、项目经验等维度每道题都配有详细解析和答题思路帮你针对性提升面试竞争力。
大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。
学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。
因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。
扫码免费领取全部内容这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。
本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。
这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】