摘要:从RAG到Agentic RAG,是AI从“信息调用”走向“任务执行”的一次范式跃迁。本文将系统梳理Agentic RAG的架构演进、能力扩展与应用场景,帮助读者理解生成式AI如何从“工具”变成“智能体”。
从RAG到Agentic RAG,是AI从“信息调用”走向“任务执行”的一次范式跃迁。本文将系统梳理Agentic RAG的架构演进、能力扩展与应用场景,帮助读者理解生成式AI如何从“工具”变成“智能体”。
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合外部知识检索与大语言模型(LLM)生成的技术框架,核心目标是解决纯 LLM 存在的 “知识滞后、事实错误(幻觉)、无法引用特定来源” 等问题,让模型生成的内容更准确、更具时效性、更可追溯。
RAG大致可以分为:
①分片→索引
②召回→重排→生成这一样的一个基本流程
即将用户的query提取相应的关键词并转化成向量,通过将RAG所存入的内容,通过在内部知识库的内容,并返回chunk,并且根据模型的统计,选择其中的内容,比如说前几的内容,然后根据用户的内容内容,将相应排序前的内容放在前面,模型进行改写,结合生成相应的内容
模型首先会对上下文的内容(query+history)进行结合,并相应的改写,作为上下文工程的存在进行收集
然后模型会进行改写,并且进入RAG进行查询,然后对知识进行排序,并且将chunk和query进行排序,生成相应的prompt,进入模型,经过相应的安全绿网进行回答
使用RAG的意义
拓展模型所拥有的知识,以提升模型的局限性降低幻觉问题的概率降低自身数据的泄露问题RAG的流程(分片→索引,召回→重排→生成)分片
将文本内容切分。RAG切分的方法:
1. 规则切分方法
① 固定长度切分
原理:按固定字符数、token数或句子数分割文档,超过长度则截断。优点:实现简单,适合结构松散的文本(如纯文本、小说)。缺点:可能破坏语义完整性(如切断句子、段落逻辑)。示例:每500字符或200token切分为一个chunk,保留一定重叠(如50token)避免信息割裂。②结构感知切分
原理:根据文档固有结构(如段落、章节、标题层级)分割,优先按自然边界切分。优点:保留语义完整性,适合结构化文档(如PDF、Markdown、HTML)。③标点 / 符号切分
原理:以标点符号(如句号、分号)或特殊符号作为切分点,避免截断完整句子。优点:减少句子被割裂的概率,适合正式文本(如论文、新闻)。缺点:长句可能被过度拆分或保留过长。2. 基于语义的切分方法
①语义相似度切分
原理:通过计算句子/段落间的语义相似度(如用BERT等模型生成嵌入向量),将语义相近的内容归为一个chunk,相似度低于阈值则切分。优点:按语义逻辑分组,避免切断相关内容(如同一主题的跨段落描述)。缺点:计算成本高,依赖预训练模型。②主题检测切分
原理:通过主题模型(如LDA)或transformer模型检测文本中的主题边界,当主题发生切换时切分。优点:适合长文档(如报告、书籍),确保每个chunk聚焦单一主题。示例:用BERTopic模型识别主题变化点,作为切分依据。3. 混合切分方法
结合规则与语义的优势,平衡效率与准确性,是实际应用中的常用策略:
示例1:先按段落分割(结构规则),再对过长段落用语义相似度二次切分;示例2:固定长度切分+重叠窗口,同时用句子边界调整(确保chunk以完整句子结尾);示例3:对结构化文档(如PDF)先提取标题、正文、图表等元素,再按元素类型分别采用不同切分策略。RAG提高准确率的切分方法
1. 交叠切分 知识片段有明确主题
即每个切片可以跟上个切片和下个切片有部分重叠
即一个切片中和上下切片中的内容,有相互交叠的部分
2. 多颗粒度混合切分
多颗粒度混合,即多种颗粒度在同一情况下使用
按照颗粒度不同可以分为:
粗颗粒度,即大块的知识单元中颗粒度,即章节、模块的知识细颗粒度,即单条概念或者是知识点多颗粒度混合使用,通常会以以下方式实现:
层次化切分:按照知识的多级结构,去分层动态组合:根据需要将不同颗粒度的知识单元进行灵活组合元数据标注:为每个知识单元添加颗粒度标签,便于检索3. 知识片段的上下相邻片段也可以一并取出,提高信息完整度
通过与该知识片段的联系,帮助去将有关的知识片段做相关的链接
4. 检索时多召回结果,再用单独的模型去进行重排序
通过对多召回的结果通过rerank模型去做重排序,去看准确率
5. 向量+关键词混合检索
一般分为两个阶段:
关键词检索得到初步文档向量检索精准匹配相关段落6. user prompt重构
通过LLM通过将prompt重构成几种不同的表达,然后再根据相应的表达生成对应向量去检索,最后综合得出结果
7. 粗检+细检
粗检→提取关键词→细检
8. 考虑上下文
即上下文工程结合内容回答用户
索引
即当接收用户查询后,通过Embedding将片段文本转换为向量,将片段文本和片段向量存入数据库的一个过程
Embedding就是一个编码器,将内容转换成机器可以理解的语言
召回
就是搜索与用户相关片段的过程
即:
query→Embedding模型→向量数据库→片段文本的召回
返回的片段文本会计算与用户query有关的内容,计算向量相似度,从而选取其中的前几
成本低耗时短准确率低针对性的对返回的文本进行二次排序,挑选出与用户问题匹配度更好的文本,更加符合用户语意回答的方式
cross-encoder的特点:
成本高耗时长准确率高适合场景:精挑细选
生成
用户问题+与用户问题匹配度高的参考片段,模型参考以上内容,回答
文档解析技术模型会通过OCR,对文档进行解析,同时将内容进行分析,标题,内容,先后等内容
同时目前可以对表格进行分析,输出markdown、html、逻辑坐标
同时模型可以对内容进行分析层级分析
通过利用模型不同模态的训练,可以对于文档中的图片等内容进行解析,从而转换成自然语言,作为RAG的内容
即对图片、表格进行描述,生成相应的内容理解
在遇到query时,可以通过对内容分析,进行排序,生成相应的回复。
RAG需要注意的点RAG不等于百科全书
干扰信息过多我们需要在知识库中添加核心业务的核心问答数据好的模型+优质的数据,才可以对用户进行优质的回复
知识库的数据会随着时间的更新去过期,就需要人为的进行动态的更新维护,保证数据质量以及数据的时效性
方法:
增加时间戳设置更新机制,人为去进行优化知识库并不代表了理解
RAG的本质更多的是基于Embedding模型,针对性的在向量数据库中,召回相似的内容,然后进行回答,并不能直接对内容进行理解,在这个基础上,需要搭载模型,让模型针对性的进行理解回答
Agentic RAGAgentic RAG是增加在RAG的基础上增加了一些开创性思路
ReAct框架(协同推理与行动)
通过引入”思考-行动-观察“的循环。AI不再只是想,通过做,然后不断调整和验证自己的思考
Self-RAG框架(自我反思与修正)
赋予AI一种自我思考,判断是否需要调用一种能力,不断反思
其独特性在于可以对复杂问题进行拆解,逐步完成,并且在过程中,针对性的调整自己的策略
本文由 @一葉 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
来源:人人都是产品经理