Agentic RAG 是什么
固定流水线是“检索一次,然后生成”,Agentic RAG 把检索包装成 Agent 可调用的工具,由模型自己决定何时检索、检索几次、要不要换关键词再试。这让简单问题可以跳过检索、复杂问题可以多轮取证。常见做法包括 Self-RAG(模型生成反思标记,自评是否需要检索以及检索结果是否相关)与 Corrective RAG(先评估召回质量,差则触发改写或外部检索再生成)。自由度换来的是延迟与成本的不确定性,必须设步数与预算上限。
基本信息
| 核心机制 | 检索作为工具,由模型决定调用时机与次数 |
|---|---|
| 代表方法 | Self-RAG(自反思标记)、Corrective RAG(纠错式检索) |
| 必备约束 | 最大步数、单次候选上限、总 token 预算 |
| 观测重点 | 每次工具调用参数与返回片段,按 trace id 串联 |
| 适用 | 问题复杂度分布宽、且能接受延迟波动的场景 |
典型使用场景
- 混合意图助手:闲聊直接答、知识问题才检索,省掉无效检索
- 复杂分析任务:需要多轮取证并逐步收敛结论
- 自适应检索:简单问题单轮取回,复杂问题换关键词重试
- 质量自评:模型判断召回片段是否足以作答,不足则再检索
- 与固定流水线对照:同一评测集上比准确率与平均延迟,用数据决定是否值得
工具描述示例
工具描述示例
search_docs(query: str) -> list[片段]
在内部知识库检索与 query 相关的段落,返回带来源编号的片段。
当问题涉及内部制度、产品文档时调用;闲聊与常识不要调用。
若首次结果不足以作答,可改写关键词后再调用一次,最多 3 次。自适应策略对比
| 策略 | 触发方式 | 风险 |
|---|---|---|
| 路由不检索 | 分类判断为闲聊 | 分类误判导致该检索的不检索 |
| 单轮检索 | 默认路径 | 复合问题召回不足 |
| 多轮重试检索 | 自评相关性不足 | 步数失控,延迟波动大 |
| 纠错式再检索 | 召回质量评估偏低 | 评估本身也依赖模型,可能误判 |
多轮自主检索的延迟与成本不可控:必须设置步数、候选数与 token 预算三重上限,并给整体加超时降级到单轮检索的兜底路径。