第 7 章 Plan Mode
"先想清楚再动手"怎么变成运行时约束
做复杂任务之前先写一个计划,这个道理谁都懂。但如果只是在 prompt 里说"先规划再执行",实际上没有任何保证——模型随时可能边想边做,在你还没看清楚的时候就开始改代码了。
Plan mode 把这个约定变成了系统强制执行的状态。进入 plan mode 之后,写操作工具的权限上下文发生变化,模型想调用 FileEditTool 或者跑有副作用的 shell 命令,都会被拦住。这不是靠提示词约束,而是运行时约束。
进入和退出
/plan 切换到 plan mode。这不只是改了一个 UI 状态,而是写进了权限上下文,影响后续所有工具的执行策略。
在 plan mode 里,模型可以读文件、搜索、思考、生成计划内容,但不能写文件、不能跑有副作用的命令。计划内容存在磁盘上的一个文件里,不是临时的内存变量——这意味着你可以用 /plan open 在外部编辑器里直接修改这个文件,手工调整计划,然后让模型按调整后的计划执行。
确认计划没问题之后,退出 plan mode,模型重新获得写操作权限,进入执行阶段。你可以随时再次进入 plan mode 暂停,或者让整个执行过程跑完。
为什么是显式模式切换,而不是自动判断
另一种设计是系统自动判断当前是在规划还是在执行,用户不需要手动切换。看起来更智能,但实际上把控制权从用户手里拿走了——你不确定系统现在是什么状态,也不确定它什么时候会开始真正改东西。对于风险较高的操作,这种不确定感很不舒服。
显式模式切换的好处是状态对用户完全透明。你知道现在是规划状态,你决定什么时候进入执行状态。计划写到磁盘上,你可以审阅和修改,不是只能接受模型给出的方案。这是 Claude Code 在自动化程度和用户控制感之间的一个典型取舍。