RAG与Agent的结合:让AI拥有实时更新的知识


为什么LLM需要RAG

大语言模型的知识有天然的两个局限: 知识截止日期 领域知识深度不足 。GPT-4的知识截止到2024年12月,但它无法知道今天大盘涨了多少、你的公司有什么产品、昨天发布的监管政策具体条款。

RAG(Retrieval-Augmented Generation,检索增强生成)正是解决这一问题的标准方案。 RAG的核心逻辑是:在LLM回答问题之前,先从外部知识库中检索相关信息,将检索结果作为上下文提供给LLM,让LLM基于真实、最新的数据生成回答。

举一个具体例子:用户问"我们公司今年Q2的毛利率是多少",LLM本身无法回答这个问题。但如果RAG系统先从公司内部数据库中检索Q2财报数据,将毛利率数字作为上下文注入Prompt,LLM就能给出准确的回答。

RAG + Agent = 实时感知的智能体

单独的RAG解决的是"知识查询"问题,但企业应用中的很多任务远不止查询——需要多步操作、跨系统协同、带条件判断的复杂流程。 RAG与Agent的结合,就是让Agent在执行任务的过程中,能够随时从企业知识库中检索所需的信息。

这个结合的工作流程大致如下:

用户向Agent发起请求(如"帮我分析一下这个供应商的履约风险")→ Agent拆解任务,识别需要检索的信息点(如供应商历史交付记录、行业违约案例、合同条款)→ Agent调用RAG工具,在知识库中检索相关信息 → Agent将检索结果整合到推理过程中 → Agent完成分析并输出结论和建议。

某供应链金融平台的风控Agent就是这么运作的。当分析师想了解某家供应商的风险状况时,Agent自动完成:关联人法网查询→仓储物流调取→行业违约率统计检索→历史合作记录回顾→综合风险评分生成。整个过程从原来的3个工作日缩短到了4小时。

RAG工程化的几个关键问题

检索质量决定Agent上限

"垃圾进,垃圾出"在RAG系统中体现得淋漓尽致。如果向量数据库里存储的知识质量不高(过时的、有误的、碎片化的),即使LLM再强大,输出的结论也不会好。

提升检索质量的核心手段:知识库内容定期更新和去重;分块(Chunking)策略优化——太大导致上下文稀释,太小丢失语义完整性;混合检索(关键词检索 + 向量语义检索)组合使用,兼顾精确和语义相关性。

检索与生成的协同优化

RAG系统有两个调优点:检索侧(召回率、排序相关性)和生成侧(Prompt设计、输出格式控制)。两者需要协同优化,而不是各自为政。

实践中常用的方法是:建立评估数据集(标注一批常见query对应的正确答案),用这套数据集分别评估检索质量和生成质量,通过A/B测试持续迭代。

多模态知识的处理

企业知识库里的内容不只是文本,还包括表格、图表、PDF扫描件、音视频会议记录。对于表格内容,需要专门的表格解析和结构化检索方案;对于PDF扫描件,需要OCR和版式识别;对于音视频内容,需要ASR转写和关键信息抽取。这部分工程复杂度往往被低估。


请使用浏览器的分享功能分享到微信等