计划模式
解释 VS Code Plan agent 如何在写代码前研究任务、提出计划、追问开放问题并交给 implementation agent。
Plan agent 的价值是把“马上改代码”变成“先看清任务”。VS Code 官方文档说明,Plan agent 可以在实现前创建详细的实施计划(implementation plan),并用 todo lists 跟踪目标和进度。
GitHub IDE Chat 文档也强调:Plan mode 会用只读工具和代码库分析研究任务,拆成可执行步骤,列出开放问题;在你 review 和批准前,不会直接改代码。
阅读目标:读完本章,你应该能在复杂任务里先让 Copilot 计划,再决定是否交给 Agent 执行。
1. 什么时候先 Plan
适合 Plan:
- 新功能影响多个模块。
- 重构涉及架构或公共 API。
- bug 原因不明确。
- 需要先找测试入口。
- 需要团队先审方案再改文件。
- 任务涉及鉴权、支付、数据模型、部署脚本。
不需要 Plan:
- 单文件小改。
- 你已经明确要改哪几行。
- 只是解释代码或查概念。
flowchart TD
Task["复杂任务"] --> Plan["Plan agent"]
Plan --> Research["只读研究代码库"]
Research --> Questions["提出开放问题"]
Questions --> Draft["计划草稿"]
Draft --> Review{"计划是否合格?"}
Review -->|否| Iterate["补约束 / 缩范围 / 回答问题"]
Iterate --> Research
Review -->|是| Implement["Start Implementation"]
Implement --> Agent["Implementation agent"]
style Plan fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style Draft fill:#fef3c7,stroke:#d97706,stroke-width:2px
style Implement fill:#dcfce7,stroke:#16a34a,stroke-width:2px
2. 官方使用路径
VS Code 官方 Planning 页面给出的路径可以收敛为:
- 打开 Chat view。
- 从 agents dropdown 里选择 Plan。
- 输入高层任务,例如 feature、refactoring、bug。
- 回答 agent 提出的澄清问题。
- 审查 plan summary、implementation steps 和 verification steps。
- 反复追问和调整,直到计划满足要求。
- 最后选择 start implementation,或把 plan 打开到 editor 里继续审。
也可以用 /plan slash command 直接开始规划。
3. 一个好计划应该包含什么
商业项目里的计划至少要覆盖:
- 任务目标和非目标。
- 影响文件和目录。
- 关键风险和开放问题。
- 分步骤实施路径。
- 每一步的验证方式。
- 失败时的回滚方式。
- 是否需要人工 review gate。
如果 plan 只写“修改相关文件、运行测试”,说明它还没有真正理解项目。
4. Plan memory 的边界
VS Code 官方文档说明,Plan agent 会把 implementation plan 保存到 session memory file:/memories/session/plan.md。可以通过 Chat: Show Memory Files 命令查看 plan.md。
注意:session memory 会在 conversation 结束后清除。需要长期保留的计划应该放进 issue、PR description、项目文档或专门的设计记录。
5. Customize planning
官方页面还提到可以定制 planning:
- 创建 custom planning agent,加入团队架构规则或交付物要求。
- 用设置选择 planning 和 implementation 使用的模型。
- 给 plan agent 增加额外工具,例如通过 MCP 接入内部数据源。
这些能力适合成熟团队,但不要在没有基本审查流程前过早复杂化。
6. 推荐 prompt
使用 Plan agent。
任务:重构登录错误处理。
要求:
先只读分析,不改文件。
列出影响模块和测试入口。
指出开放问题。
给出分步计划和回滚方式。深读:Plan 不是拖慢速度,而是降低返工
Agent 直接动手的速度很快,但如果方向错了,后续 review 会变成拆错 diff。Plan 把需求、文件范围、风险和测试入口提前暴露出来,尤其适合商业项目里的多人协作。
计划阶段不追求华丽,而追求可执行、可审查、可回滚。
本章自检
完成本章后,用这 4 个问题检查:
- Plan 是否说明了目标、非目标和影响范围?
- 是否列出了开放问题,而不是假设一切都清楚?
- 是否包含 verification steps 和回滚方式?
- 是否决定了继续本地 Agent、Copilot CLI 还是 Cloud agent?
通过标准:计划能被另一个人拿去 review,并能指导后续 implementation。
官方来源
- Planning with agents in VS Code —— VS Code 官方 Plan agent 文档。
- Asking GitHub Copilot questions in your IDE —— GitHub 官方 IDE Chat 文档,说明 Plan mode 不会在计划批准前改代码。
- Using agents in Visual Studio Code —— VS Code 官方 agents 总览,用于理解 Plan 与 Agent 的关系。