当前位置: 首页 > article >正文

RAG + Agent = 王炸组合:知识增强型Agent详解

完整版合集、面试题库、项目实战全网同名【图解 AI 系列】前几篇文章我们讲了Agent的核心能力调用工具、记忆系统、规划能力、多Agent协作。但有一个问题一直没解决Agent的知识从哪来大模型的知识是训练时学到的有截止日期不可能什么都知道。你问GPT-4你们公司年假政策是什么它会一脸懵。它不知道它只能瞎猜一个。你问它最新的AI法规说了什么它会告诉你一些训练数据截止前的内容至于最新法规是什么它不知道。那Agent遇到不知道的事怎么办答案给它接一个知识库。这就是今天的主题RAG Agent。先说个真实的痛点我之前做过一个企业客服Agent。需求听起来很简单帮用户解答产品使用问题、查询订单状态、处理售后咨询。我以为接一个大模型就能搞定。结果上线第一天就翻车了。用户问“这个功能怎么用”Agent的回答是“您可以在设置中找到相关选项。”听起来没问题对吧但实际上这个产品的设置界面去年改版了老的设置入口已经移到了新的位置。Agent给的回答是错的。用户问“我的订单什么时候到”Agent的回答是“一般情况下订单会在3-5个工作日内送达。”听起来也没问题对吧但实际上这个用户的订单是加急配送承诺的是次日达。Agent不知道。用户问“你们支持退换货吗”Agent的回答是“支持的我们提供完整的退换货政策。”但实际上这个品类属于特殊商品不在常规退换货范围内。Agent不确定但瞎答了。问题出在哪问题出在Agent的知识来源。它只知道训练数据里的内容不知道你们公司的具体政策、不知道产品的最新版本、不知道这个用户的历史订单。大模型的知识是通用的不是你们公司专有的。要让Agent回答准确必须给它接入你们公司的知识库。Agent的知识困境先说清楚问题。大模型的知识有两个根本局限。局限一知识有截止日期。GPT-4的知识截止到2023年12月。Claude的知识截止到2024年4月。如果问它今天发生的事它只能瞎编。你可能见过这种情况你问AI一个最近发生的事件它说得头头是道但仔细一看全是胡编的。它不是故意骗你它是真的不知道但它觉得自己知道。这就是幻觉问题。大模型的工作原理是预测下一个词最可能是什么它回答问题的方式是听起来最像正确答案的话是什么而不是正确答案是什么。当它不知道正确答案的时候它会生成一段听起来很像正确答案的话。对于有截止日期的知识这个问题是致命的。法规会变产品会更新政策会调整。如果Agent只知道截止日期之前的内容那它给出的回答可能已经过时了。局限二专业知识不足。大模型的训练数据是通用的。医学、法律、金融、工程——这些专业领域的知识要么不够深要么不够新。通用知识可以解决大部分日常问题。但专业场景不行。医学Agent需要知道最新的临床指南法律Agent需要知道最新的司法解释金融Agent需要知道最新的监管政策。这些内容大模型的训练数据里可能根本没有。Agent也是一样。Agent本质上还是靠大模型大模型的局限就是Agent的局限。如果大模型不知道Agent也不可能知道。解决方案是什么给Agent接一个知识库。遇到不确定的问题先去知识库查一下再回答。这样Agent回答的内容是基于真实文档的不是大模型自己编的。RAG是什么RAG全称Retrieval-Augmented Generation检索增强生成。它的核心思想是给AI接一个外部知识库让它能查资料再回答。传统大模型的工作流程是用户提问大模型直接回答。回答的内容来自训练数据可能过时可能错误可能根本不存在。RAG增强后的工作流程是用户提问系统先去知识库检索相关资料把资料和问题一起给大模型大模型基于真实资料来回答。举个例子。用户问“公司年假政策是什么”没有RAG的时候大模型根据自己训练数据里的通用企业年假政策来回答说得模棱两可不一定符合你们公司的实际政策。有RAG的时候系统先检索年假政策找到你们公司的HR文档——“入职满一年享有5天年假工作满三年享有10天年假”。把这段内容加上用户问题一起给大模型大模型基于真实文档回答“根据公司政策您工作满一年后享有5天年假。”RAG的核心价值是什么是让AI回答有据可查。有了RAGAgent的每一个回答都基于真实文档。它不会凭空编造因为文档里没有的内容它不会说。它不会过时因为知识库可以随时更新更新后Agent立刻就知道。对于企业场景这个价值至关重要。企业需要的不是能说的AI而是说得对的AI。Agent怎么用RAG有几种常见的RAG和Agent结合方式。方式一Agent自主检索。最简单的方式。Agent收到问题自己判断需不需要查资料需要就查查完再回答。工作流程是Agent收到问题判断这个问题Agent自己知道还是不知道。如果不确定就调用检索工具去知识库查资料。获取资料后结合资料和自身理解来回答。这个方式的好处是简单不需要额外的设计。Agent自己决定什么时候该查什么时候不用查。坏处是Agent可能会判断失误——该查的时候不查不该查的时候瞎查。为了让Agent判断更准确通常会给Agent一些Prompt指导。比如告诉它“如果你不确定某个具体政策、某个产品的最新功能、某个流程的具体步骤请先检索知识库再回答。”方式二RAG作为Agent的工具。把RAG系统当成Agent工具箱里的一个工具。Agent的工具箱里除了搜索引擎、代码执行、文件操作还有知识库查询。Agent遇到问题根据问题的性质选择合适的工具来处理。如果是通用问题用搜索引擎。如果是企业内部问题用知识库查询。如果是技术问题用代码执行。这种方式的优点是职责清晰。知识库是Agent众多工具中的一种Agent根据情况选择用哪个。缺点是需要设计好工具的描述让Agent能准确判断什么时候该用知识库。方式三RAG增强Agent的记忆。RAG还可以作为Agent长期记忆的存储和检索层。之前我们讲过Agent的记忆系统分三层感官记忆、工作记忆、长期记忆。长期记忆通常存在向量数据库里通过语义搜索来检索。RAG增强的记忆系统在检索层做了升级。不只是简单的语义搜索还加入了关键词匹配、知识图谱推理、混合检索等技术让Agent能更准确地找到需要的记忆。比如用户之前提到过我上周和张总开会讨论了Q2规划Agent在记忆里检索Q2规划不只是找到这段对话记录还能关联到张总、Q2这两个相关实体提供更完整的上下文。一个实际例子场景企业客服Agent没有RAG时用户问“你们公司的年假政策是什么”Agent答“支持的我们公司提供年假福利……”实际上不确定根据大模型的知识瞎猜了一个。用户问“这个功能怎么使用”Agent答“您可以点击设置中的相关选项。”实际上产品已经改版这个步骤已经不对了。有RAG时用户问“你们公司的年假政策是什么”Agent想我需要查一下公司的HR政策文档。Agent调用知识库检索年假政策。检索到文档内容“入职满一年享有5天年假工作满三年享有10天年假。”Agent答“根据公司政策您入职满一年后享有5天年假满三年后享有10天。”用户问“这个功能怎么使用”Agent想我需要查一下产品使用文档。Agent调用知识库检索功能使用。检索到文档内容“该功能位于设置→高级选项→功能开关下。”Agent答“该功能需要进入设置找到高级选项点击功能开关即可开启。”区别在哪里没有RAG回答可能是错的、过时的、瞎编的。有RAG回答基于真实文档准确可靠有据可查。知识库的类型Agent可以接入不同类型的知识库。第一类企业内部知识库。这类知识库的内容来自企业内部。包括员工手册、产品文档、内部流程、历史项目记录。这些内容是专有的大模型训练数据里不可能有。企业知识库的特点是内容准确度要求高更新频率适中安全要求严格。不是所有员工都能看到所有内容需要权限控制。第二类专业知识库。这类知识库的内容来自专业领域。包括行业报告、学术论文、法规政策、技术文档。专业知识库的特点是内容深度要求高来源要可靠需要持续更新。法规政策每隔一段时间就会变知识库需要同步更新。第三类产品知识库。这类知识库的内容来自具体产品。包括产品手册、常见问题、用户指南、客服记录。产品知识库的特点是和具体产品强绑定需要跟着产品迭代更新。用户问的都是具体功能的具体问题回答必须准确。第四类实时数据源。这类数据源提供实时信息。包括新闻资讯、股票数据、天气信息、物流跟踪。实时数据源的特点是内容一直在变知识库模式不太适用更适合作为API直接调用。用户问今天天气怎么样不是去知识库查而是调用天气API。RAG Agent的进阶用法进阶一多知识库路由。不同问题查不同知识库。用户问这个功能怎么用属于产品问题查产品知识库。用户问年假政策是什么属于HR问题查企业知识库。用户问最新的行业报告说了什么属于行业问题查专业知识库。路由的核心是意图识别。Agent先判断用户的问题属于哪个领域然后去对应的知识库检索。这样可以避免跨领域干扰提高检索准确度。进阶二知识溯源。Agent回答时自动标注信息来源。比如Agent回答“根据2024年3月发布的《产品白皮书》第三章公司提供5天年假。”这样用户就知道答案从哪来。如果用户质疑可以去查原文。如果用户需要更多相关信息可以直接去找原始文档。知识溯源不只增加可信度还能帮助用户进一步探索。一个好的溯源机制可以让Agent的回答成为用户学习的起点而不是终点。进阶三混合检索。不只是语义搜索还结合关键词搜索、向量搜索、知识图谱等多种检索方式。语义搜索找到意思相近的内容。比如问年假语义搜索能找到带薪休假、年度假期等相关内容。关键词搜索找到字面对应的内容。比如问年假政策关键词搜索直接匹配年假政策这个词。知识图谱推理找到逻辑相关的内容。比如问张三有没有年假知识图谱能推理出张三的入职时间、司龄、对应的年假天数。混合检索取各家之长给Agent提供最全面的参考资料。常见问题问题一知识库太杂检索不精准。知识库里内容太多太乱检索出来的内容相关性不高。解决思路有几个方向。第一是知识分层把高频知识放浅层详细文档放深层。比如FAQ放最前面详细手册放后面。第二是标签体系给知识打标签用户问的时候可以按标签筛选。第三是定期清洗删除过时内容和重复内容保持知识库整洁。问题二知识太多检索太慢。知识库大了之后检索性能下降用户等待时间长。解决思路是优化检索效率。向量索引使用更高效的算法。热门知识放缓存不需要每次都检索。异步检索不需要等所有结果返回先返回最相关的几条。问题三Agent不会用知识库。Agent拿到问题不去检索直接凭自己的理解瞎答。解决思路是Prompt优化。在Agent的Prompt里明确告诉它“遇到以下情况请先检索知识库涉及具体政策的问题、涉及产品功能的问题、涉及企业内部流程的问题。”还可以给Few-shot示例。告诉Agent遇到这种问题的时候应该先查知识库给出具体的示范。我的观点RAG Agent是目前最实用的AI应用架构之一。大模型提供推理能力。RAG提供知识支撑。Agent提供行动能力。三者结合才是真正能用的AI。“能说”—— 大模型就能做到说得流利但不一定准确。“能做”—— 需要Agent调用工具、执行任务。“知道自己在说什么”—— 需要RAG基于真实资料回答。缺了RAGAgent就是一个什么都敢说但什么都可能说错的家伙。接了RAGAgent才真正变成一个知道什么说什么、说的都有据可查的可信赖助手。未来最强的Agent一定是知识最丰富的Agent。怎么建设知识库、管理知识库、更新知识库会成为企业AI能力的核心竞争点。知识库的质量决定了Agent的上限。一个干净、准确、完整的知识库可以让Agent的回答质量大幅提升。反之一个混乱、过时、满是错误知识的知识库可以让Agent给出比没有知识库更糟糕的回答。建设知识库是一个需要长期投入的事情。但这是值得的。下期预告讲完了RAG Agent来点实战。怎么用框架快速搭一个Agent目前最流行的两个框架是LangChain和LangGraph。LangChain适合快速上手LangGraph适合复杂工作流。下一期我们来看怎么用LangChain搭一个Agent手把手教你用几十行代码跑通第一个Agent。完整版合集、面试题库、项目实战全网同名【图解 AI 系列】

相关文章:

RAG + Agent = 王炸组合:知识增强型Agent详解

完整版合集、面试题库、项目实战,全网同名【图解 AI 系列】前几篇文章我们讲了Agent的核心能力:调用工具、记忆系统、规划能力、多Agent协作。但有一个问题一直没解决:Agent的知识从哪来? 大模型的知识是训练时学到的,…...

武汉专升本民办 vs 公办机构怎么选

每年到了专科大三的春天,武汉的专升本备考群里总会出现类似的问题:“公办机构是不是比民办靠谱?”“民办会不会拿钱不办事?”“集训营到底该冲公办还是选民办?”说实话,这个问题没有标准答案,因…...

快速上手:ClaudeCode安装全攻略

以下是从零开始安装 Claude Code 的详细操作步骤,涵盖环境准备、安装过程与验证方法。请根据你的操作系统选择对应的分支操作。 (PS: 官方文档: 接入 Claude Code | DeepSeek API Docs) 一、安装 Node.js 18 或更高版本 Claude Code 基于 Node.js 运行…...

[开源] 交班信息一致性校验系统:面向临床医护的实时语义冲突检测与结构化摘要生成

本项目是专为国内医院交班场景设计的电子病历(EMR)辅助工具,解决护士与医生在护理记录和病程记录中同步填写、异步理解、隐性冲突这一长期存在的质控盲区。我们不替代人工判断,而是把“同一时间窗内两条记录是否说同一件事”这件事…...

5-8倍加速:ncnn 3×3卷积模块

5-8倍加速:ncnn 33矩阵卷积模块 我把腾讯ncnn的33卷积从手工循环替换成了自己的算法(Im2Col GEMM),实测加速5到8倍。 适用于大通道数(inch≥16, outch≥32)、大分辨率特征图、服务端推理场景。小通道建议…...

昇腾CANN asc-tools:NPU 运维诊断工具的实战手册

asc-tools 是 CANN 的运维诊断工具包——不在开发阶段用,在部署和运维阶段用。NPU 集群跑了几个月突然性能下降、某张卡频现 ECC 错误、推理延迟从 50ms 涨到 200ms——这些生产环境的问题,asc-tools 帮你定位。 asc-tools 包含哪些工具 asc-tools/ ├─…...

SwinFusion论文精读与代码复现:拆解‘跨域远程学习’如何让图像融合效果开挂

SwinFusion技术解析:跨域远程学习如何重塑图像融合范式 图像融合技术正经历一场由Transformer架构引领的范式变革。传统方法在全局依赖建模和跨域交互方面的局限性,催生了基于Swin Transformer的创新解决方案。本文将深入剖析SwinFusion这一通用图像融合…...

Navicat Premium连不上SQL Server?别慌,先检查这两个最容易忽略的配置(附驱动安装)

Navicat Premium连接SQL Server的实战排错指南:从报错到畅通的完整解决方案 第一次用Navicat Premium连接SQL Server数据库时,那种期待又忐忑的心情我太熟悉了。明明按照教程一步步填写了IP、端口、用户名和密码,点击"测试连接"后却…...

tcpdump 核心选项与过滤表达式实战指南:从基础到高效网络排查

1. 从命令行到洞察力:为什么你需要精通 tcpdump如果你在运维、开发或者网络安全领域工作,网络问题排查几乎是你绕不开的日常。当服务调用超时、接口响应异常,或者流量出现诡异波动时,你需要的不是猜测,而是证据。tcpdu…...

别再让FFT精度拖后腿了!手把手教你用三点插值法把频率估计误差降到最低

别再让FFT精度拖后腿了!手把手教你用三点插值法把频率估计误差降到最低 在音频调谐器里校准乐器音高时,工程师发现440Hz的标准音高在1024点FFT中总是显示为439.2Hz;5G基站接收端解调时,载波频率的微小偏移导致误码率飙升&#xff…...

COLMAP实战:如何用命令行搞定无人机航拍图像的三维重建?

COLMAP实战:如何用命令行搞定无人机航拍图像的三维重建? 无人机航拍技术正在彻底改变测绘、考古、农业和工程巡检等领域的工作方式。想象一下,你刚刚完成了一次大规模的无人机航拍任务,带回了数百甚至数千张高分辨率图像。这些图像…...

Unity连接Arduino BLE实战:5分钟实现PC端双向通信

1. 这不是“配对”,而是让Unity像手机App一样和Arduino对话很多人第一次尝试Unity连接Arduino蓝牙模块时,会下意识打开Windows的“蓝牙设置”去“添加设备”——结果折腾半小时,Unity里依然收不到任何数据。我最初也这么干过,直到…...

HC-05蓝牙模块连接Arduino/STM32的实战避坑指南:从3.3V/5V电平匹配到手机APP调试全流程

HC-05蓝牙模块连接Arduino/STM32的实战避坑指南:从3.3V/5V电平匹配到手机APP调试全流程 当你第一次尝试将HC-05蓝牙模块连接到Arduino或STM32开发板时,可能会遇到各种令人沮丧的问题:模块不响应、手机搜索不到设备、数据传输不稳定。这些问题…...

TI C2000 DSP开发笔记:除了IQMath,F28377D的定点计算还有这些隐藏技巧(含FFT/FIR函数初探)

TI C2000 DSP开发笔记:F28377D定点计算高阶技巧与FFT/FIR实战解析 在嵌入式信号处理领域,定点计算一直是平衡性能与精度的关键选择。TMS320F28377D作为TI C2000系列中的高性能DSP控制器,其IQMath库提供的定点计算能力远超基础算术运算范畴。本…...

LERF:将语言嵌入3D辐射场,实现开放词汇的3D语义查询

1. 项目概述:当语言成为3D场景的“探针”如果你玩过NeRF(神经辐射场),肯定被它从几张2D照片生成逼真3D场景的能力震撼过。但不知道你有没有和我一样的感受:生成的3D模型虽然好看,但像个“美丽的哑巴”。我们…...

GF6-WFV数据FLAASH大气校正避坑全记录:参数设置、光谱响应函数选择与结果验证

GF6-WFV数据FLAASH大气校正实战指南:从参数优化到结果验证 当处理国产高分六号卫星WFV相机数据时,大气校正环节往往是整个流程中的关键瓶颈。不同于常规Landsat或Sentinel数据,GF6-WFV特有的波段设置和响应特性使得FLAASH参数配置充满陷阱。本…...

从VLP-16到国产激光雷达:拆解看机械旋转式LiDAR的技术传承与差异

从VLP-16到国产激光雷达:机械旋转式LiDAR的技术传承与创新 在自动驾驶技术快速发展的浪潮中,激光雷达(LiDAR)作为环境感知的核心传感器,其技术演进一直备受关注。VLP-16作为机械旋转式LiDAR的经典产品,不仅…...

URDF导入Unity实战指南:坐标系转换与物理仿真校准

1. 为什么URDF导入Unity这件事,2025年依然让人抓耳挠腮你刚在ROS里调通了机械臂的运动学解算,PID参数也压得差不多了,信心满满地想把模型拖进Unity做可视化调试——结果双击URDF文件,Unity弹出一串红色报错:“Unknown …...

AI时代软件工程教育:同理心融入技术课程的教学实践

1. 项目概述:当代码遇见人心最近几年,我一直在高校和培训机构里讲授软件工程相关的课程,从传统的软件生命周期、设计模式,到如今火热的敏捷开发、DevOps。一个越来越强烈的感受是:我们的技术教育,似乎正在与…...

CAD图纸版本转换软件 | Teigha File Converter (v4.3.2.0)

介绍 Teigha File Converter 是一款 CAD 图纸版本转换软件,它支转换到 2018 及以下的 DMG、DXF 格式。截图下载地址👇👇https://pan.baidu.com/s/1LbqDZMZjfzsqueFsVSvyjA?pwd4274...

Linux网络编程核心:Socket、字节序与TCP/UDP实战解析

1. 从零开始理解 Linux 网络编程:Socket、字节序与地址转换如果你刚开始接触 Linux 下的网络编程,看到一堆socket、bind、connect、htonl之类的函数,还有sockaddr_in这种结构体,可能会觉得头大。别担心,这种感觉我十几…...

别再为OLED图片显示发愁了!手把手教你用Image2Lcd和PCtoLCD2002搞定STM32图片取模

STM32 OLED图片显示实战:从取模到驱动的完整解决方案 在嵌入式开发中,OLED显示屏因其高对比度、低功耗和快速响应等特性,成为许多项目的首选显示方案。但对于初学者来说,如何将普通图片转换为单片机可识别的数据格式,并…...

电子供应链服务转型:从元器件分销到技术赋能与韧性构建

1. 项目概述:从“卖货”到“赋能”的供应链服务转型在电子元器件分销这个看似传统的行业里,我从业十几年,亲眼见证了从“电话传真报价”到“线上实时库存”的变迁。最近和一位行业老友,也是某知名分销商的资深销售总监聊天&#x…...

为什么90%的工程师不敢用ChatGPT交付生产代码?——基于12家头部科技公司内部审计报告的独家解读

更多请点击: https://intelliparadigm.com 第一章:为什么90%的工程师不敢用ChatGPT交付生产代码?——基于12家头部科技公司内部审计报告的独家解读 信任鸿沟:不是能力不足,而是责任不可追溯 12家受访企业&#xff08…...

全域流量矩阵系统的运筹学解法:用线性规划模型,算出你100个账号的最优流量分配

手里有100个账号,抖音30个、小红书25个、视频号20个、B站15个、快手10个——然后呢?大多数人的做法是:每个平台平均发,每个账号随便发,发完看天吃饭。这不叫矩阵运营,这叫资源浪费。今天换个完全不同的视角…...

短视频矩阵系统的信号密码:用数字信号处理(DSP)理论,破解“限流“的底层逻辑

你有没有想过一个问题:同样一条视频,A账号发了50万播放,B账号发了500播放。内容一样、时长一样、甚至发布时间都一样——到底差在哪?答案不在内容里,在信号里。今天用数字信号处理(DSP)的视角&a…...

NotebookLM时间线创建全流程拆解(从零到专业级时间叙事)

更多请点击: https://codechina.net 第一章:NotebookLM时间线创建全流程拆解(从零到专业级时间叙事) NotebookLM 的时间线(Timeline)功能并非内置独立模块,而是依托其“脚注驱动叙事”机制&am…...

别再死记硬背POC了!深入理解Struts2漏洞家族史与OGNL表达式攻防演进

从OGNL表达式到漏洞家族史:Struts2安全攻防演进全景剖析 在Java Web安全领域,Struts2框架的漏洞史堪称一部活教材。许多安全工程师能够熟练使用工具复现S2-045、S2-057等著名漏洞,却对漏洞背后的技术原理和演进逻辑一知半解。这种知其然而不知…...

SolidWorks 2024新手避坑指南:从草图到三维实体,这5个特征操作最容易出错

SolidWorks 2024新手避坑指南:从草图到三维实体的5个关键特征操作 刚接触SolidWorks的新手工程师常常会在从二维草图转向三维实体建模的过程中踩到各种"坑"。这些错误不仅浪费时间,还可能让人对这款强大的三维设计软件产生挫败感。本文将聚焦五…...

从CST到ADS/Keysight:手把手教你导出精准的Touchstone文件做联合仿真

从CST到ADS/Keysight:手把手教你导出精准的Touchstone文件做联合仿真 在射频和微波系统设计中,电磁仿真与电路仿真的无缝衔接是提升设计效率的关键。许多工程师都曾遇到过这样的困境:在CST中精心优化的天线或滤波器模型,导出后却无…...