Skip to content

计划模式

/plan 的作用

/plan 会将编辑器切换到计划审查界面,并把下一条提示词交给 plan 角色模型。规划器只能进行只读工作,唯一可创建或编辑的文件是计划文件(local://<slug>-plan.md);在批准前,它不会修改你的代码。

可在编辑器中输入 /plan、按 Alt+Shift+P,或直接带初始目标启动:

text
/plan refactor src/importer.ts to stream rows instead of buffering

计划角色模型

计划模式使用独立角色,因此可以为规划固定能力更强的推理模型,而无需让每个普通回合承担该成本。可用 --plan <model-id> 覆盖单次运行,用 PI_PLAN_MODEL 覆盖当前 Shell,或在 config.yml 中设置持久的 modelRoles.plan。模型目录与可用 ID 请参阅自定义模型与 Provider

循环

  1. 说明目标。 编辑器顶部会显示计划模式提示,输入下一条消息交给规划器。
  2. 迭代。 规划器起草方案,你可以像普通回合一样补充或纠正。只读工具仍可用,因此它可以搜索仓库、读取 PR,并在实施前验证假设。
  3. 批准。 确认方案满意后,规划器会调用 resolveaction: "apply",随后出现批准选择器。

退出时会发生什么

批准界面提供三种将计划交给执行者的方式,差别在于执行者能看到多少此前的规划对话。

批准并执行

规划讨论会从上下文中移除;执行以计划文本作为新的开场。当计划很长、往返细节不重要时使用。

批准并保留上下文

保留完整规划历史。当讨论中的细节会影响实现时使用。

批准并压缩上下文

将规划讨论压缩为一条摘要,并在同一会话继续执行,是前两种方式之间的折中。

在批准界面按 Escape 会取消批准,继续停留在计划模式,不执行任何修改。

批准计划会根据计划标题自动命名会话(分隔符标准化、大写)。您自己重命名的会话将被保留。

快捷键

按键操作
Alt+Shift+P切换计划模式(等同于 /plan
批准界面中的 Escape取消并返回计划模式迭代,不执行修改

计划模式中的其他编辑器和导航快捷键保持不变;参阅快捷键

何时使用

当改动涉及多个文件、重构顺序不明显,或设计需要在实施前论证时,计划模式尤为有用。单文件编辑和琐碎改动通常不需要它,因为规划往返会额外消耗 Token。

它也适合配合会话分支:在侧分支规划,若方案不可行即可丢弃分支,再回到父会话继续工作。