VS Code Agent Mode
按 VS Code 與 GitHub 官方文件梳理本地 agent、Plan、工具許可權和程式碼修改審查。
VS Code Agent Mode 的核心不是“讓 Copilot 多寫一點程式碼”,而是把 Copilot 放進一個本地工程迴圈:理解任務、選擇 agent、呼叫工具、改檔案、執行命令、審查 pending edits(待提交的改動)。
VS Code 官方文件把 agent 定義為能自主完成程式設計任務的 AI 助手。它可以把高層目標拆成步驟,跨檔案編輯,執行命令,並在失敗時自我修正——能力越強,越需要明確許可權、邊界和審查這條配套鏈。
閱讀目標:讀完本組索引,你應該能判斷什麼時候用 Ask、Plan、Agent,本地 agent、CLI agent 或 Cloud agent,以及如何審查它們的輸出。
1. Agent 工作流地圖
- Ask:回答程式碼庫、概念或 VS Code 問題,不改檔案。
- Plan:先生成結構化實施計劃,不直接寫程式碼;適合複雜任務和商業專案。
- Agent:自主計劃並實施,能跨檔案修改、執行命令和呼叫工具。
- Copilot CLI / Cloud agent:適合後臺任務、變體探索或 PR 協作。
- Third-party agent:透過 Anthropic、OpenAI 等 provider 的 agent harness 或 SDK 接入。
flowchart TD
Task["開發任務"] --> Mode{"需要改檔案嗎?"}
Mode -->|否| Ask["Ask"]
Mode -->|是| Scope{"需求是否清楚?"}
Scope -->|不清楚| Plan["Plan agent"]
Scope -->|清楚| Agent["Agent"]
Plan --> ReviewPlan["審計劃 / 問開放問題"]
ReviewPlan --> Agent
Agent --> Tools["工具呼叫 / 檔案編輯 / 終端命令"]
Tools --> Edits["Pending edits"]
Edits --> Review["Keep / Undo / test / commit"]
style Plan fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style Tools fill:#fef3c7,stroke:#d97706,stroke-width:2px
style Review fill:#dcfce7,stroke:#16a34a,stroke-width:2px
2. 本組頁面
Agent Mode 總覽
理解本地、CLI、Cloud、第三方 agent 的差異,以及 Ask / Plan / Agent 的內部分工。
計劃模式
用 Plan agent 在寫程式碼前研究任務、生成步驟、追問開放問題並儲存計劃。
Agent 工具
理解 built-in tools、MCP tools、extension tools、tool approval 和許可權級別。
審查程式碼修改
用 pending edits、inline diff、Keep / Undo 和 Source Control 審查 AI 改動。
3. 推薦使用順序
第一次引入 VS Code Agent Mode,建議這樣推進:
- 先用 Ask 解釋程式碼,確認 references 和上下文。
- 再用 Plan 生成方案,不讓它直接改檔案。
- 再用 Agent 處理一個小範圍 bug 或測試補齊。
- 每次工具呼叫都看目的和副作用。
- 最後用 pending edits 審查每個檔案,跑測試,再提交。
不要一開始就給 agent “重構整個專案”或“修所有問題”。Agent 能做多步,不代表應該一開始就拿最大許可權。
4. 上線前規則
團隊文件至少寫清:
- 哪些任務必須先 Plan。
- 哪些目錄禁止 agent 自動改。
- 哪些 terminal commands 需要人工確認。
- 是否允許 Bypass Approvals 或 Autopilot。
- Pending edits 接受前必須跑哪些驗證。
- 什麼時候把本地 session hand off 到 CLI 或 cloud agent。
深讀:Agent Mode 為什麼比普通 Chat 更需要邊界
普通 Chat 的輸出通常停留在文字裡;Agent Mode 會把輸出落到檔案、命令和工具呼叫上。它能節省時間,也能更快製造錯誤 diff。
商業級用法不是降低審查,而是把審查前移:先規劃、再限制工具、再看 pending edits、再跑測試。
本組自檢
讀完整組後,用這 4 個問題檢查:
- 當前任務應該用 Ask、Plan、Agent、CLI 還是 Cloud agent?
- Agent 能使用哪些工具,哪些工具需要人工批准?
- 檔案被改後,你是否逐個審查了 pending edits?
- 完成標準是自然語言總結,還是測試、diff、PR review 和回復路徑?
透過標準:你能把 VS Code Agent Mode 當作受控工程迴圈,而不是一次性自動改程式碼按鈕。
官方來源
- Using agents in Visual Studio Code —— VS Code 官方 agents 總覽,覆蓋 agent 型別、Ask / Plan / Agent、許可權級別和 handoff。
- Planning with agents in VS Code —— VS Code 官方 Plan agent 文件。
- Tools —— VS Code 官方工具機制文件。
- Review AI-generated code edits —— VS Code 官方 pending edits 審查文件。