这篇适合谁,读完能做到什么
这篇适合已经在做检索增强生成(RAG),并想知道模型自己决定检索步骤会带来什么变化的开发者。读完你应该能说清 Agentic RAG 的循环是怎样运行的,知道它遇到失败的查询如何恢复,列出它仍然受到的限制,并判断自己的任务是否适合用它[1]。
Agentic RAG 是什么
Agentic RAG(Agentic Retrieval-Augmented Generation)是一种正在兴起的 AI 范式:大语言模型在从外部来源获取信息的同时,自主规划下一步该做什么[1]。它不是静态的「先检索、再阅读」,而是对大模型进行一系列迭代调用,中间穿插工具或函数调用,以及结构化输出[1]。
每一轮,系统都会检查已经拿到的结果,需要时改写查询、调用其他工具,然后继续,直到得到满意的答案[1]。这种「生成者与检查者」(maker-checker)的做法,目标有三个:提高正确性、处理格式不规范的查询(例如面向结构化数据库的 NL2SQL 查询),以及得到均衡、高质量的结果[1]。
为什么要让模型自己掌握推理
一个系统之所以「智能体化」,关键在于它自己掌握推理过程。传统 RAG 往往要由人事先规定检索什么、什么时候检索。而智能体式的系统会根据它拿到的信息质量,自己决定步骤的顺序[1]。
以一份产品发布策略为例。模型可以自己决定:用 Bing Web Grounding 检索最新的市场趋势报告,用 Azure AI Search 找出竞争对手的数据,用 Azure SQL Database 关联历史内部销售指标,再通过 Azure OpenAI Service 综合这些发现。随后它会检查策略是否有漏洞或前后矛盾,如果发现问题,就再做一轮检索[1]。整个过程中的每一步选择,都由模型决定,而不是由人写死[1]。
系统还能改写失败的查询、换一种检索方法,并在给出答案之前组合多种工具。这些工具包括 Azure AI Search 的向量搜索、SQL 数据库或自定义 API[1]。这种方法的要点是:一个相对简单的「大模型调用、工具调用、大模型调用」循环,就能给出有依据的结果,不必依赖复杂的编排框架[1]。
循环是怎么跑的
一次典型运行包括五个环节[1]。
- 初始调用:把用户的目标交给大模型。
- 工具调用:如果信息缺失或指令含糊,模型会选择一个工具或检索方式。例如对私有数据做 Azure AI Search 的混合搜索,或者发起一次结构化的 SQL 查询[1]。
- 评估与修正:模型审查返回的数据,判断信息是否足够。不够的话,就改写查询、换一个工具,或调整思路[1]。
- 重复:这个循环一直持续,直到模型认为已经有足够清晰的依据,可以给出有道理的回答[1]。
- 记忆与状态:系统在各步之间保持状态和记忆,因此能回忆之前的尝试和结果,避免重复绕圈,并在过程中做出更好的判断[1]。
经过多轮之后,模型就能处理多步骤任务,不需要人反复修改提示词[1]。
检索失败时怎么办
Agentic RAG 的设计目标之一,是从死胡同里恢复过来,比如检索到不相关的文档,或者遇到格式错误的查询。它主要有三种办法[1]。
- 迭代与重新查询:不返回质量差的答案,而是尝试新的检索策略、改写数据库查询,或者查看其他数据集[1]。
- 使用诊断工具:可以调用辅助函数,检查自己的推理过程,或确认检索到的数据是否正确。Azure AI Tracing 对可观测性和监控很重要[1]。
- 交由人工兜底:遇到高风险或反复失败的情况,模型可以标出不确定之处,请人给出指导。人的纠正意见之后会被模型纳入当次会话中[1]。
智能体的能力边界
Agentic RAG 在任务范围内有一定的自主性,但它不是通用人工智能。它的能力只限于开发者提供的工具、数据来源和政策,不能自己发明新工具,也不能跳出给定的领域范围[1]。有三点限制需要记住[1]:
- 领域内的自主:它围绕用户设定的目标,在已知领域中工作,通过改写查询、选择工具来改进结果[1]。
- 依赖基础设施:它能做什么,取决于开发者接入了哪些工具和数据。超出这些范围,需要人来介入[1]。
- 遵守护栏:伦理准则、合规规则和业务政策依然重要,安全措施和监督机制会约束智能体的行动空间[1]。
哪些场景适合用 Agentic RAG
有三类任务适合这种方法[1]。
- 正确性优先的工作,比如合规检查、监管分析或法律研究。模型可以反复核实事实、查阅多个来源、改写查询,直到答案经过充分检验[1]。
- 复杂的数据库操作,查询经常失败或需要调整。系统可以对 Azure SQL 或 Microsoft Fabric OneLake 不断优化查询,直到检索结果符合用户的意图[1]。
- 长时间运行的工作流,新信息会不断出现。系统可以边运行边加入新数据,并随着对问题理解的加深调整策略[1]。
治理、审计记录与人工复核
推理越自主,越需要看清它做了什么。模型可以留下查询、所用来源和推理步骤的审计记录。Azure AI Content Safety 以及 Azure AI Tracing / GenAIOps 有助于提高透明度、降低风险[1]。如果没有清晰的操作记录,多步骤运行的问题很难排查[1]。
偏见同样需要关注。开发者可以调整检索策略,让它参考均衡、有代表性的数据来源,并定期审计输出,看是否存在偏见或倾斜的模式[1]。对于敏感任务,人工复核仍然必不可少。Agentic RAG 的作用是在高风险决策中给人提供经过更充分检验的选项,而不是替代人的判断[1]。
从小处开始,并保留记录
想尝试这个思路,可以先选一个窄领域、两三个数据来源,例如一个搜索索引加一个结构化数据库。从一开始就记录每一次查询、每一个结果和每一次改写,这样才能看清循环在哪一步出了问题。之后再根据任务中敏感部分的需要,加入检查和人工复核[1]。
这篇没有代码。文中的概念和工具名称是通用的,并不代表我们自己的某种配置[1]。
本文改编自 Microsoft 开源课程《AI Agents for Beginners》第 5 课[1],原文以 MIT 许可证发布。
来源
- 1Agentic RAGMicrosoft ai-agents-for-beginners (MIT)
引用本页: Agentic RAG:让智能体自己决定怎么检索. TellWorld, https://www.tellworld.net/zh/practice/practice-agentic-rag. 更新于 2026-11-14