你可能在文档或选型会上连着看到这两个词:一个说模型要会自己规划、调工具,一个说回答前先去查资料。分开都懂,放一起就懵了——到底是两种方案,还是同一条链路的两段?这篇不背定义,按「谁负责什么、合起来多出哪一步、什么情况下不该这么干」来拆,最后给一份上线前的自查清单。
你可能在文档或者选型会上连着看到这两个词:一个说模型要会自己规划、会调工具,另一个说回答之前先去查资料。分开看都懂,放一起就懵了——到底是两种可选方案,还是同一条链路的两段?
这篇不背定义。按「谁负责什么、合起来多出哪一步、什么情况下不该这么干」来拆,中间插一张对照表和一份上线前自查清单,方便你直接拿去做判断。
两个词各管一件事,别混着记
RAG 管的是「答案从哪来」。做法是先把资料切块、向量化入库,提问时检索出相关片段塞进上下文,让模型基于给定材料作答,目的就是压住凭空编造的倾向。它的核心动作是「查一次,然后答」。
Agentic AI 管的是「活怎么干」。模型不只回答一句话,它能自己决定下一步做什么、去调哪个工具、看完结果再决定要不要再来一轮,链路里带循环和状态。它的核心动作是「决定,执行,看结果,再决定」。
一个常见误解,是把 Agentic AI 当成更高级的 RAG。这两者是不同维度:一个偏知识来源,一个偏执行控制,可以单独存在。给同事复述时可以用一句:RAG 是给模型配资料库,Agentic 是给模型配手和节奏。真要抠词条,先去站内词典页把两边定义对齐再谈方案。
合到一起时,多出来的那一步是什么
普通 RAG 是一条直线:检索一次、拼上下文、生成、结束。检索质量不行,整段就垮掉,而且没有第二次机会。Agentic RAG 把「检索」本身变成一个可以被反复调用的动作。
模型这时候可以判断「这次召回不够」,于是改写查询再检索一次;也可以换个数据源、加一层过滤条件再试。链路里就多了循环、步数上限、工具调用记录这些新东西,随之而来的才是成本失控和跑飞的风险。
| 维度 | 普通 RAG | Agentic RAG |
|---|---|---|
| 检索次数 | 通常一次 | 按需多轮,可改写查询 |
| 控制流 | 直线 | 带循环和状态 |
| 主要风险 | 召回差就全差 | 多轮失控、耗时和费用上涨 |
| 适合场景 | 单次检索能答对的问答 | 需要多轮找证据、跨源核对的任务 |
| 观测重点 | 命中片段质量 | 每轮查询、轮次数、总耗时 |
判断标准是任务本身要不要多轮找证据,而不是看它听起来更先进。如果问题一次检索就能答对,加循环只增加延迟和花费,这种场景就不适用。
落地时最容易断的三个地方
- 检索动作没有边界:查询改写无限递归、同一份资料被反复召回,工程上要给最大轮数、单轮返回条数、整轮总耗时都设上限;
- 工具契约不清:检索接口的入参出参要固定下来,字段缺失时要有默认行为,否则模型一改参数,整轮就废;
- 观测缺失:只记最终答案,出了问题没法复盘到底是召回错了还是编排错了,至少要留下每轮查询、命中片段标识、轮次号和耗时。
先说边界。把「最多查几轮」「一轮最多拿几条」「整轮最长允许多久」写成配置而不是写死在提示词里,任一项触顶就走降级路径:要么直接用现有材料作答,要么明确说没查到,别硬编。
再说工具契约。检索接口的字段名、类型、缺省值最好在schema 层面固定,模型改了参数也要被校验拦住。接口形态可以参考站内技术栈页里对常见 Agent 接口的整理,照着把返回结构对齐,能省不少调试时间。
最后说观测。跑十次同样的输入,如果轮次数和检索内容波动巨大而且说不清原因,说明边界没设好,先别扩场景。这个判断比看任何单次效果都可靠。
上线前的对照清单
- 分开验证单跑一次检索,看召回结果里到底有没有正确答案;再单跑一次不接检索的 Agent,看工具调用稳不稳。两件事各自稳定,再合成。
- 设三层上限最大检索轮数、单轮返回条数、整轮总时长,三项都要有值,并定义触顶后的降级行为。
- 建回归集挑一批固定问题存下来,每次改检索策略或提示词都重跑一遍,用同一批题对比,别靠感觉判断变好变差。
- 核对数据涉及花费、延迟、模型能力的结论,到站内价格追踪页和榜单页核对当时的数字,不要照搬别人文章里的旧数字。
还有一条要提前想清楚的不适用情形:资料本身缺失或者质量差的时候,加几轮检索也救不回来。该补的是进料清洗和文档更新流程,不是编排层。
Agentic RAG 不是更强的检索,而是把检索变成可以被质疑和重试的一步。下一步想知道常见 Agent 接口长什么样、各家能力的当期情况,可以去技术栈页和榜单页对照着看,再决定要不要把单次检索升级成多轮编排。→
常见问题
Agentic AI 和 RAG 是一回事吗?
不是。RAG 解决的是回答依据从哪来,属于知识供给;Agentic AI 解决的是模型怎么自己决定下一步,属于执行控制。两者可以单独用,也可以组合。组合后检索会变成可以被模型反复调用的动作,链路里就多了循环、步数上限和成本控制这些工程问题。
什么情况下不该做成 Agentic RAG?
简单问答、资料范围固定、一次检索基本能命中的场景,做成循环只增加延迟和费用,收益很小。另外资料本身缺失或脏乱时,多轮检索也救不回来,优先做的应该是进料清洗和分块整理,而不是加编排。
怎么快速判断自己的实现是不是跑偏了?
看三件事:同一问题的检索轮次是否稳定、每轮命中片段是否有明确来源、整轮耗时和费用是否在预算内。三条里有一条说不清,就先收边界——限制轮数、返回条数和总时长,再谈扩场景。上线前建议固定一批问题做回归比对。