---
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="/zh-Hant/docs/github-copilot/official/03-vscode-agent-mode/agent-tools" />
  <Card title="審查程式碼修改" description="實現完成後，繼續學習 pending edits 怎麼審。" href="/zh-Hant/docs/github-copilot/official/03-vscode-agent-mode/review-code-edits" />
</Cards>
