06 · VS Code Agent Mode 怎麼用
講清 VS Code Agent Mode 如何計劃、改檔案、呼叫工具、執行命令,並在本地工作區裡接受審查。
📖 本篇術語速查表
| 英文 / 縮寫 | 中文 | 一句話解釋 |
|---|---|---|
| Agent Mode | 代理模式 | VS Code 裡 Copilot 自主執行的模式。 |
| 任務邊界 | scope | Agent 能改什麼、不碰什麼。 |
| 驗證 | verify | 改完看 diff、跑測試。 |
不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你在 VS Code 裡用好 Copilot Agent Mode,給清邊界和驗證。
你是 Copilot Agent Mode 使用顧問。
【角色】
Copilot Agent Mode 使用顧問,按最小夠用、安全優先的原則給可落地方案,每條結論都落到能照做的步驟或示例,不停留在空泛建議。
【輸入】
- 要讓 Agent 做的任務:___
- 目標和成功標準:___
- 涉及檔案 / 範圍:___
- 可用的驗證方式:___
- 風險偏好:___
【工作流程】
1. 把任務收到可獨立驗證的範圍
2. 給該有的上下文和邊界
3. 讓它執行、保護工作區
4. 設計對應目標的驗證
5. 給提交前檢查
【輸出規範】
▌一、任務範圍
▌二、上下文與邊界
▌三、執行 + 保護
▌四、驗證 + 提交檢查
【硬約束】
- 任務太大先拆
- 不可逆操作人工確認
- 驗證對應目標,提交前看 diff
- 不要替我臆測情況或編造不存在的能力,資訊不全先問清
- 不確定的設定或介面一律以官方文件為準,禁止照搬過時寫法VS Code Agent Mode 不是 Chat 換了一個按鈕。VS Code 官方文件把 agent 定義為能自主完成程式設計任務的 AI 助手:給它高層目標,它會自己拆步驟、編輯檔案、執行命令,並在失敗時自我修正。
本章目標:你會把 Agent Mode 當成一個受控本地執行器使用,而不是當成更長的聊天框。重點是任務形狀、工具許可權、pending edits、terminal output 和驗收證據。
1. Agent Mode 的工作閉環
flowchart TD
Goal["高層目標"] --> Plan["拆解步驟"]
Plan --> Context["讀取工作區和相關檔案"]
Context --> Tools["選擇工具"]
Tools --> Edit["編輯檔案"]
Tools --> Command["執行 terminal command"]
Edit --> Pending["Pending edits / Diff"]
Command --> Output["Terminal output"]
Pending --> Review["人工審查"]
Output --> Review
Review --> Accept{"接受?"}
Accept -->|是| Test["測試 / lint / build"]
Accept -->|否| Iterate["繼續迭代或回復"]
Test --> Done["提交前審查"]
Agent Mode 的核心不是“自動”,而是本地執行閉環:計劃、讀取、修改、執行、展示證據、人工確認。
第一次怎麼用:15 分鐘最小可執行
新手第一次用 Agent Mode,不要選專案核心程式碼。按這個順序走,跑完一次就懂邊界:
-
挑一個 demo 儲存庫(自己的 toy 專案、教學儲存庫或 fork 的開源練手倉)。不要第一次就在生產儲存庫裡用。
-
開啟 VS Code,先用 Ask 模式問"解釋目前檔案做什麼"——確認 Copilot 能看到你的程式碼,且回答靠譜。
-
切到 Agent 模式(Chat 面板頂部下拉選單)。
-
寫一個範圍明確的小任務 prompt,例如:
給 src/utils/format.ts 裡的 formatDate 函式補一個最小單元測試。 邊界: - 只改 tests/ 目錄 - 不要改生產程式碼 - 完成後告訴我執行哪條命令驗證 -
看 pending edits(編輯器裡顯示的待提交改動):先點開每個被改的檔案看 diff,再決定 Keep 還是 Undo。
-
不要直接 Keep 全部。即使 diff 看起來對,也至少檢查一遍:是否只動了允許的目錄?有沒有刪掉不該刪的?
-
跑測試命令確認改動真的有效。
-
全部滿意後再 commit。
跑完這 8 步你就知道:Agent Mode 不是"全自動"——它把決策點從"寫程式碼"前移到"審 diff",節省的是寫程式碼時間,不是審查時間。
2. Ask、Plan、Agent 先分清
VS Code 官方 agents 總覽列出三個 built-in agents:
- Ask:回答問題,不主動改檔案。
- Plan:先研究和生成實施計劃。
- Agent:按目標執行,改檔案、呼叫工具、跑命令。
選擇規則很直接:
| 任務狀態 | 入口 |
|---|---|
| 只想理解程式碼或錯誤 | Ask |
| 需求不清、影響多模組 | Plan |
| 範圍清楚,需要真實改程式碼 | Agent |
| 想後臺繼續或開 PR | Copilot CLI / Cloud Agent |
很多失敗來自入口選錯。需求還沒說清就開 Agent,它會用有限上下文補腦;應該先 Plan。
3. 什麼任務適合 Agent Mode
適合:
- 修一個能復現的本地 bug。
- 補一個已有模式明確的小功能。
- 給某個模組補測試。
- 按現有風格重構區域性程式碼。
- 修 lint、型別錯誤或 failing test。
- 生成文件並同步相關示例。
不適合直接交:
- 刪除資料、改生產設定、釋出部署。
- 許可權、支付、金鑰和遷移指令碼。
- 沒有測試入口的大範圍改造。
- 依賴登入後臺或本機私密 UI 的操作。
- 一句話需求但沒有驗收標準。
判斷標準:如果一個初級工程師拿到任務也需要先問清楚,Agent Mode 也應該先 Plan 或追問。
4. 工具和許可權怎麼管
VS Code 官方 Tools 文件把 agent 工具分成三類:built-in tools(內建工具,如讀寫檔案、搜尋程式碼庫、執行 terminal 命令)、MCP tools(接到外部系統)和 extension tools(VS Code 擴充套件提供的工具)。沒有工具時模型只能生成文本;有工具後,它能讀寫檔案、搜尋程式碼庫、執行命令、連線外部服務。
這就是許可權邊界。
團隊預設策略:
- 讀檔案、搜尋程式碼庫:通常可以開放。
- 寫檔案:限制在任務相關目錄。
- terminal command:執行前說明目的和副作用。
- MCP:按任務啟用,不預設全開。
- 外部服務、資料庫、雲資源:預設人工批准。
- destructive command:預設禁止自動執行。
VS Code 還提供不同 permission levels(許可權等級):Default Approvals(預設批准,每個敏感動作前問一次)更適合商業專案初期;Bypass Approvals(跳過批准)和 Autopilot Preview(自動駕駛預覽,整段任務無人值守)只適合低風險、可回復、驗證完善的場景。
5. 一個可用 prompt
目標:
修復使用者退出登入後仍顯示舊頭像的問題。
範圍:
先檢查 src/auth、src/components/Header 和相關測試。
可以改 auth 與 Header 相關檔案。
不要修改 billing、database、deployment。
執行:
先給計劃。
修改前說明要改哪些檔案。
執行命令前說明原因。
驗收:
展示 diff。
執行相關測試。
說明殘餘風險。這個 prompt 有四個關鍵點:目標、範圍、執行規則、驗收方式。Agent Mode 不怕任務小,怕邊界不清。
6. 審 pending edits,不審總結
Agent 結束後不要只看它的自然語言總結。要看:
- 檔案 diff 是否符合任務邊界。
- 是否有無關格式化、重新命名或重構。
- 命令是否真的執行成功。
- 測試是否覆蓋關鍵路徑。
- 是否有未說明的副作用。
- 失敗時是否能回復。
VS Code 的優勢是 pending edits 和 terminal output 都在本地工作區裡。把它當成 code review 面板,不要當成聊天記錄。
7. 和 Cloud Agent 的邊界
本地 Agent Mode 適合依賴本地上下文、需要你逐步看改動的任務。Cloud Agent 適合 issue 清楚、能透過分支和 PR 驗收的非同步任務。
選擇規則:
- 要看本地未提交 diff:用 Agent Mode。
- 要用本地瀏覽器或 terminal:用 Agent Mode。
- 要後臺實現 issue 並開 PR:用 Cloud Agent。
- 要團隊 reviewer 審查:Cloud Agent 結果必須回到 PR。
不要把本地現場交給 Cloud Agent,也不要把可以非同步 PR 化的任務一直卡在本地編輯器裡。
本章自檢
啟動 Agent Mode 前確認:
- 任務是否清楚到可以執行?
- 是否應該先 Ask 或 Plan?
- 允許改哪些路徑?
- 允許呼叫哪些工具和命令?
- 結果如何透過 diff、terminal output、test 和 review 驗收?
透過標準:你能讓 Agent Mode 在受控範圍內完成任務,並且不依賴它的口頭總結判斷是否完成。
官方來源
- Using agents in Visual Studio Code:VS Code 官方 agents、Ask/Plan/Agent、permission levels 和 handoff 說明。
- Tools in VS Code:VS Code 官方工具型別、工具選擇、批准和信任邊界。
- Asking GitHub Copilot questions in your IDE:GitHub 官方 IDE Chat 文件,覆蓋 Chat、Plan 和 Agent Mode。
- GitHub Copilot features:官方功能頁,用於定位 Agent mode 在 agentic features 中的位置。