---
title: "计划模式"
description: "解释 VS Code Plan agent 如何在写代码前研究任务、提出计划、追问开放问题并交给 implementation agent。"
verifiedAt: "2026-05-06"
---

Plan agent 的价值是把“马上改代码”变成“先看清任务”。VS Code 官方文档说明，Plan agent 可以在实现前创建详细的实施计划（implementation plan），并用 todo lists 跟踪目标和进度。

GitHub IDE Chat 文档也强调：Plan mode 会用只读工具和代码库分析研究任务，拆成可执行步骤，列出开放问题；在你 review 和批准前，不会直接改代码。

> [!TIP]
> **阅读目标**：读完本章，你应该能在复杂任务里先让 Copilot 计划，再决定是否交给 Agent 执行。

## 1. 什么时候先 Plan

适合 Plan：

- 新功能影响多个模块。
- 重构涉及架构或公共 API。
- bug 原因不明确。
- 需要先找测试入口。
- 需要团队先审方案再改文件。
- 任务涉及鉴权、支付、数据模型、部署脚本。

不需要 Plan：

- 单文件小改。
- 你已经明确要改哪几行。
- 只是解释代码或查概念。

```mermaid
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 页面给出的路径可以收敛为：

1. 打开 Chat view。
2. 从 agents dropdown 里选择 Plan。
3. 输入高层任务，例如 feature、refactoring、bug。
4. 回答 agent 提出的澄清问题。
5. 审查 plan summary、implementation steps 和 verification steps。
6. 反复追问和调整，直到计划满足要求。
7. 最后选择 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

```text
使用 Plan agent。
任务：重构登录错误处理。

要求：
先只读分析，不改文件。
列出影响模块和测试入口。
指出开放问题。
给出分步计划和回滚方式。
```

<details>
<summary>深读：Plan 不是拖慢速度，而是降低返工</summary>

Agent 直接动手的速度很快，但如果方向错了，后续 review 会变成拆错 diff。Plan 把需求、文件范围、风险和测试入口提前暴露出来，尤其适合商业项目里的多人协作。

计划阶段不追求华丽，而追求可执行、可审查、可回滚。
</details>

## 本章自检

完成本章后，用这 4 个问题检查：

1. Plan 是否说明了目标、非目标和影响范围？
2. 是否列出了开放问题，而不是假设一切都清楚？
3. 是否包含 verification steps 和回滚方式？
4. 是否决定了继续本地 Agent、Copilot CLI 还是 Cloud agent？

通过标准：计划能被另一个人拿去 review，并能指导后续 implementation。

## 官方来源

- [Planning with agents in VS Code](https://code.visualstudio.com/docs/copilot/agents/planning) —— VS Code 官方 Plan agent 文档。
- [Asking GitHub Copilot questions in your IDE](https://docs.github.com/en/copilot/how-tos/chat-with-copilot/chat-in-ide) —— GitHub 官方 IDE Chat 文档，说明 Plan mode 不会在计划批准前改代码。
- [Using agents in Visual Studio Code](https://code.visualstudio.com/docs/copilot/agents/overview) —— VS Code 官方 agents 总览，用于理解 Plan 与 Agent 的关系。

## 接下来去哪

<Cards>
  <Card title="Agent 工具" description="计划通过后，继续理解 agent 能调用哪些工具。" href="/docs/github-copilot/official/03-vscode-agent-mode/agent-tools" />
  <Card title="审查代码修改" description="实现完成后，继续学习 pending edits 怎么审。" href="/docs/github-copilot/official/03-vscode-agent-mode/review-code-edits" />
</Cards>
