Appearance
14. RAG 应该如何接入 Agent 执行链路?
难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min
本题阅读地图
- 💡 简要回答
- 📝 详细解析
- 🎯 面试总结
👔面试官:RAG 应该如何接入 Agent 执行链路?
🙋♂️我:用户问题进来先检索,然后把结果交给 Agent。
👔面试官:这是前置检索,但还有按需检索、后置校验等模式。你能讲不同接法的适用场景吗?
🙋♂️我:那就都讲一下吧。
👔面试官:好,但你要知道真实项目里更推荐哪种。不是每一步都需要查知识库,把 RAG 做成可调用能力更合适。
💡 简要回答
三种接法:
| 接法 | 说明 | 适用场景 |
|---|---|---|
| 前置检索 | 问题进来统一检索,证据交给 Agent | 简单问答 |
| 按需检索 | 把 Retriever 封成工具,Agent 主动调用 | 复杂多步任务 |
| 后置校验 | 先生成再检索核对 | 需要验证时 |
推荐:按需检索为主,前置检索为辅。因为不是每一步都需要查知识库。
📝 详细解析
前置检索
用户问题 → 统一检索 → 检索结果 + 问题 → Agent。
优点:简单直接,一次检索覆盖所有需求。 缺点:不是每一步都需要知识,有些步骤是规划、路由、工具执行,白检索了。
按需检索
把 Retriever 封装成 Tool,Agent 在需要事实依据时主动调用。
用户问题 → Agent 规划 → 需要知识?→ 调用检索工具 → 继续规划/回答优点:减少无效检索,灵活适配多步任务。
后置校验
Agent 先生成答案 → 再用检索做证据核对或引用补全。
缺点:增加延迟,如果前面已经跑偏,后面校验修正成本高。
通常作为增强,不适合做主链路。
Agentic RAG
更高级的演进:模型或 Agent 根据当前进展决定:
- 要不要检索
- 检索什么
- 是否改写 query
- 是否继续补检
从"一次检索"升级为"多轮检索 + 中途补检"。
🎯 面试总结
推荐按需检索为主:
- RAG 做成可调用 Tool
- Agent 在需要时主动查
- 前置检索为辅,后置校验作为增强