A2.1 规划:动手之前先拆事
你不会一上来就订蛋糕
领导让你「办一场 50 人年会」,你不会抬手就打电话订蛋糕——你会先在纸上列出四条线:场地、餐饮、流程、预算,每条线拆成几件带截止日期的小事,再动手。
模型也一样。直接把复杂任务扔给行动循环,让它「看着办」,它会像没头苍蝇:查了东忘了西、做到第十步忘了预算、在无关的支线上转圈(A0 深入层讲过的死循环,很多就是这么来的)。而只需在动手前多加一步——先产出一份计划——成功率立刻不同。
什么样的计划算好计划
任务分解是规划的第一步:把「办年会」变成一串小步骤。但拆开不等于拆好了,一份能用的计划有三要素:
- 步骤可执行——每一步都能对应到一次具体的工具调用或生成动作。「联系场地」可执行;「确保年会圆满成功」是口号,不是步骤;
- 依赖关系明确——先确定人数才能订餐,先订场地才能发通知;顺序错了就要返工;
- 带验收标准——每步做完怎么算做完?「预算表合计 ≤ 5 万」是标准,「预算合理」不是。
三要素里最容易被忽略的是第三条——没有验收标准的计划,执行时对错全凭感觉,反思(下一节)也无从下手。
两种规划风格
有了计划观念,还有个风格选择:计划是一次列完还是边走边列?
- 先规划后执行(plan-and-execute):动手前产出完整计划,然后逐步执行。省 token(计划只生成一次)、结构清晰(进度一目了然),但计划赶不上变化——执行中冒出计划没料到的意外时,它不会拐弯;
- 边走边想:每步现定下一步——其实就是 A0 讲的 ReAct 素颜版。灵活,遇到意外自然应对,但容易迷路忘目标:走到第十步时,第一步的约束早被挤出注意力了。
空说无凭,让三种策略(外加一个「不规划」的对照组)当场比一场:
建议这样玩:点「▶ 三个一起跑」,重点盯②和③在同一个意外——「长城往返包车 600 元,比预想贵一倍」——面前的不同反应:②的计划里没有「预算超了怎么办」这一步,只能硬着头皮按原计划排下去,最后在输出里补一句「可能略超预算」草草交差;③的每步反思触发了预算检查,当场改道换成市郊铁路 S2 线,省下 550 元,三条约束全部达标。
计划是活文档,不是圣旨
实验里②和③的分水岭,不是「有没有计划」(两者都有),而是发现意外后会不会改计划。
所以成熟的做法是混合式:有计划,但每步执行后校验一次「计划还成立吗」——步骤失败了、查到了新信息、预算烧过半了,都触发重规划。计划是随执行不断修订的活文档,不是刻在石头上的圣旨。你在 Claude Code 这类编码智能体里看到的那份随任务进展打勾、改写的 todo 列表(2025 年起几乎成了 CLI 智能体标配),就是这个思想的产品化。
轨迹是教学构造的——真实模型不会恰好在「第 2 步」遇到「恰好 600 元」的意外。更重要的是:真实模型的规划质量高度依赖任务领域和模型能力。2026 年的旗舰模型在旅行、编码这类常见领域已相当可靠,但在冷门领域仍会一本正经地列出根本不可执行的步骤——计划本身也可能是幻觉(上篇 5.6 的老病)。这就是为什么三要素里的验收标准必须独立于计划来源:计划说「S2 线末班车 18:30」,执行时还是要真的去查一次。
小结
- 复杂任务先拆后做;好计划三要素:步骤可执行、依赖明确、带验收标准。
- plan-and-execute 省钱清晰但死板;边走边想灵活但易迷路;成熟做法是「有计划 + 每步校验 + 触发重规划」。
- 计划是活文档不是圣旨——发现意外后敢不敢改计划,是可靠智能体的分水岭。
延伸阅读
- 吴恩达:Agentic Design Patterns - Planning——四大设计模式系列里讲规划的一篇,短而清楚。
- 上篇 8.4 推理模型——「多想一会儿」如何把规划内化进模型。
- 下一节 A2.2 反思:计划管住了「跑偏」,还要管住「带病交付」。