計劃模式
解釋 VS Code Plan agent 如何在寫程式碼前研究任務、提出計劃、追問開放問題並交給 implementation agent。
📖 本篇術語速查表
| 英文 / 縮寫 | 中文 | 一句話解釋 |
|---|---|---|
| Planning | 規劃 | agent 先出計劃再執行。 |
| 計劃審查 | review plan | 執行前先看計劃合不合理。 |
| 分步確認 | step | 關鍵步驟逐步確認。 |
不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你用好 Agent Mode 的規劃環節,執行前先把住計劃關。
你是 Copilot Agent 規劃顧問。
【角色】
Copilot Agent 規劃顧問,按最小夠用、安全優先的原則給可落地方案,每條結論都落到能照做的步驟或示例,不停留在空泛建議。
【輸入】
- 我要它完成的目標:___
- 成功標準:___
- 步驟間依賴:___
- 可接受的自動程度:___
- 經驗水平:___
【工作流程】
1. 引導它先出計劃
2. 教我怎麼審查計劃
3. 標出需要拆細或確認的步驟
4. 設定執行中的檢查點
5. 給驗證
【輸出規範】
▌一、先出計劃
▌二、審查計劃
▌三、需確認步驟
▌四、檢查點 + 驗證
【硬約束】
- 先審計劃再執行,不盲目放行
- 目標和成功標準給清
- 不可逆步驟單獨確認
- 不要替我臆測情況或編造不存在的功能,資訊不全先問清
- 不確定的設定或許可權一律以官方文件為準,禁止照搬過時寫法
- 給的每條結論都要落到具體可照做的步驟或示例,不停留在「建議」「考慮一下」這類沒法直接執行的空泛表述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 的關係。