🧠 图解记忆:Plan-and-Solve = 先规划,再执行(解耦);点击图片可查看原图。
💡 答案要点
Plan-and-Solve = 先规划,再执行(解耦)
Plan-and-Solve(先规划后执行):
阶段1(规划):Planner 一次性制定完整 DAG
→ "1. 搜索iPhone15 → 存#A
2. 搜索Pixel8 → 存#B (与#A无依赖,可并行)
3. 比较#A和#B"
阶段2(执行):Executor 并行执行所有无依赖步骤
→ 同时触发:search("iPhone15") 和 search("Pixel8")
→ 结果填充到 #A 和 #B
阶段3(求解):Solver 根据填充好的计划生成答案核心区别对比:
| 维度 | ReAct | Plan-and-Solve |
|---|---|---|
| 执行顺序 | 串行(必须等上一步) | 并行(无依赖步骤同时跑) |
| 规划时机 | 每步动态规划 | 开始前一次性规划 |
| 延迟 | 高(所有步骤串行) | 低(并行执行) |
| 上下文长度 | 快速增长 | 稳定(只保留计划+结果) |
| 适用场景 | 探索性任务(网页浏览、调试) | 步骤明确的任务(报告生成、数据分析) |
面试话术:
示例表达(仅在能用本人经历或可复现实验佐证时使用): "Plan-and-Solve 的核心是'规划与执行解耦'。ReAct 每步都动态规划,导致串行高延迟;Plan-and-Solve 先让 Planner 生成带占位符的完整计划,然后 Executor 并行执行无依赖步骤,实测端到端延迟降低 40%。更关键的是,上下文长度稳定,不会像 ReAct 那样无限膨胀。"
