✨ 复制成功!

以文会友,打造好学人设!

📋 已复制到剪贴板:

Planning、Memory 与 Tool Use 如何协同?

创建时间:2026-08-30 更新时间:2026-09-07 阅读次数:1031 次

一、核心定位:三者是 Agent 系统的三大支柱

这三者是 Agent 系统的三大核心支柱。它们的关系可以这样理解:

  • Planning 是“大脑的决策层”:负责决定“做什么、以什么顺序做”。
  • Memory 是“大脑的信息层”:负责提供“已知什么、经历过什么”。
  • Tool Use 是“大脑的执行层”:负责完成“具体怎么做”。

协同的核心逻辑

Memory 为 Planning 提供决策依据,Planning 决定调用什么 Tool,Tool 的执行结果反过来更新 Memory,从而形成闭环。

可以用以下公式表达三者的关系:

$$ \text{Agent 表现质量} = f(\text{Planning 质量}, \text{Memory 相关性}, \text{Tool 可靠性}) $$

其中任何一个环节失效,整个 Agent 的表现都会受到严重影响。


二、具体协同流程

1. 任务接收阶段

  • Planning 接收任务,首先向 Memory 查询:有没有类似任务的历史经验?有没有相关知识和技能?
  • Memory 返回检索结果(历史成功案例、失败教训、可用技能)。
  • Planning 基于这些信息制定初步计划。

2. 计划制定阶段

  • Planning 生成任务分解方案。
  • 对每个子任务,Planning 需要判断:需要什么工具?Memory 中有没有关于这个工具的使用经验?
  • Memory 提供工具使用历史(哪个工具好用、参数怎么设置、有什么坑)。
  • Planning 据此调整计划,选择最合适的工具。

3. 执行阶段

  • Planning 按顺序执行子任务,每个子任务通过 Tool Use 完成。
  • Tool 执行前,Planning 从 Memory 中检索该工具的调用格式和注意事项。
  • Tool 执行后,结果返回给 Planning。

4. 结果处理阶段

  • Planning 评估工具返回结果:成功?失败?部分成功?
  • 如果失败,Planning 查询 Memory:历史上类似的失败是怎么处理的?有没有替代方案?
  • Planning 决定:重试、换工具、换策略、还是请求人工。

5. 学习更新阶段

  • 任务完成后,整个执行轨迹写入 Memory。
  • Planning 触发反思:哪些步骤有效?哪些失败?下次如何改进?
  • Memory 更新经验库、技能库、能力画像。

三、一个具体例子:爬取电商网站商品价格数据

任务:爬取某个电商网站的商品价格数据。

协同过程如下所示:

第一步:Planning 向 Memory 查询历史经验

  • Planning:我之前做过类似任务吗?
  • Memory 返回:三个月前做过类似爬虫,但那个网站已经改版,经验部分失效。

第二步:Planning 制定计划

先尝试直接请求,如果被反爬拦截,再使用无头浏览器。

关键点:这个决策依据来自 Memory 中存储的历史教训,而不是凭空猜测。

第三步:Planning 调用 Tool Use 执行

  • Planning → Tool Use:调用 HTTP 请求工具
  • Tool 返回:403 Forbidden

第四步:Planning 再次查询 Memory

  • Planning:遇到 403,历史经验怎么说的?
  • Memory 返回:设置 User-Agent,降低请求频率,必要时使用代理 IP。

第五步:Planning 调整策略后重新调用 Tool

  • Planning → Tool Use:重新请求,带上 User-Agent
  • Tool 返回:成功,拿到 HTML 页面。

第六步:Planning 查询 Memory 获取解析经验

  • Planning:这个 HTML 结构里价格数据在哪?
  • Memory 返回:上次的经验是价格在 JSON 接口里,不在 HTML 中。

第七步:Planning 调用正确的 Tool

  • Planning → Tool Use:调用 JSON 接口
  • Tool 返回:成功获取价格数据。

第八步:任务完成,Planning 触发反思并更新 Memory

  • 将“该网站价格在 JSON 接口”这一新经验写入 Memory。

协同闭环完成

Planning 决策 → Tool 执行 → 结果反馈 → 查询 Memory → 调整决策 → 再次执行 → 更新 Memory

四、三者的依赖关系

依赖方向 关系说明
Planning → Memory Planning 依赖 Memory 提供决策依据,没有 Memory 的 Planning 是“瞎规划”,每次从零开始,重复犯错
Planning → Tool Use Planning 依赖 Tool Use 落地执行,没有 Tool Use 的 Planning 是“空想”,计划无法实现
Tool Use → Planning Tool Use 依赖 Planning 的调度,没有 Planning 的 Tool Use 是“乱调用”,不知道何时用什么工具
Memory → Planning + Tool Use Memory 依赖 Planning 和 Tool Use 的执行过程来积累内容,没有执行就没有经验可存

一句话总结

Planning 是决策者,Memory 是顾问,Tool Use 是执行者。决策者向顾问咨询,然后指挥执行者干活,执行的结果和经验再反馈给顾问存档。


五、协同中的关键设计问题

1、Memory 检索不到相关经验时,Planning 怎么办?

策略

  • 降级为通用策略(使用 LLM 的常识推理)
  • 标记为“探索模式”,执行后重点记录经验
  • 如果任务风险高,请求人工确认

2、Tool 返回结果与 Planning 预期不符时,如何处理?

策略

  • 检查 Tool 调用参数是否正确
  • 查询 Memory 是否有类似的异常情况记录
  • 判断是 Tool 失效、环境变化、还是 Planning 的判断错误
  • 根据判断结果决定:重试、换工具、换策略、请求人工

3、如何避免 Planning 过度依赖 Memory 中的过时经验?

策略

  • 为每条经验设置时效性标记
  • 定期验证经验的有效性
  • 当经验与当前执行结果冲突时,优先相信当前结果
  • 对经验设置置信度衰减机制

4、三者协同中,哪个环节最容易出问题?

实践观察

失效环节 典型表现 影响
Memory 检索不相关 注入无关经验,干扰 Planning 决策 计划质量下降
Planning 过度自信 忽略 Memory 中的警告,强行执行 重复历史错误
Tool 返回格式异常 Planning 无法解析结果,陷入循环 任务卡死
Memory 更新不及时 新经验未入库,下次任务仍犯同样错误 学习闭环断裂

最常见的失效点:Memory 检索质量。检索不相关比不检索更糟糕,因为它会主动干扰 Planning 的决策。


六、这个问题适合做面试题吗?

非常适合,而且是一道核心面试题。

它能考察的能力

考察维度 具体内容
系统架构理解 是否理解 Agent 不是单个 LLM 调用,而是多组件协同系统
闭环思维 是否理解“执行 → 反馈 → 更新”的循环本质
实战经验 是否真的构建过 Agent,还是只停留在理论层面
问题定位能力 当 Agent 表现不佳时,能否判断是 Planning 的问题、Memory 的问题、还是 Tool 的问题
权衡思维 是否理解三者之间的依赖和约束关系

区分度分析

  • 初级候选人会说:“Planning 负责分解任务,Memory 存信息,Tool 执行。”——停留在概念层面。
  • 中级候选人会说:“Planning 查询 Memory 获取经验,然后调用 Tool 执行,结果存回 Memory。”——理解了基本循环。
  • 高级候选人会讲:
  • 协同细节和循环反馈机制
  • 各组件失效时的降级策略
  • 冲突处理(过时经验 vs 当前结果)
  • 检索质量对 Planning 的干扰问题
  • 实践中遇到的具体失败案例和解决方案

建议的追问方向

  1. “如果 Memory 检索不到相关经验,Planning 应该怎么办?”
  2. “Tool 返回的结果与 Planning 的预期不符,应该怎么处理?”
  3. “如何避免 Planning 过度依赖 Memory 中的过时经验?”
  4. “三者的协同中,哪个环节最容易出问题?你在实践中遇到过吗?”
  5. “如果 Agent 陷入死循环,你如何判断是 Planning 的问题还是 Tool 的问题?”

七、核心结论

三者的协同本质是一个信息闭环

┌─────────────────────────────────────────────┐
│            Planning-Memory-Tool 协同环        │
├─────────────────────────────────────────────┤
│                                             │
│   ┌──────────┐                              │
│   │ Planning │ ← 决策层                      │
│   └────┬─────┘                              │
│        │                                    │
│   查询 ↓   ↑ 写入                           │
│        │   │                                │
│   ┌────┴─────┐     ┌──────────┐            │
│   │  Memory  │ ←→  │ Tool Use │            │
│   │ 信息层    │     │ 执行层    │            │
│   └──────────┘     └──────────┘            │
│                                             │
└─────────────────────────────────────────────┘

最终结论:Planning 是决策者,Memory 是顾问,Tool Use 是执行者。三者协同的质量决定了 Agent 的整体表现。其中 Memory 的检索质量是整个闭环中最容易被忽视、但影响最大的环节。

这是一道能有效区分 Agent 系统设计能力的好题。


📌 面试天下网:一款服务于上班族的口袋书,让大家在地铁里/公交上可以学习大模型技术!
📌 网站公告:【悬赏 200 元/篇】寻找“大模型面试战场”的一手回忆录

评论专区

评论加载中...