Agent Mode 總覽
說明 VS Code agents 的型別、Ask Plan Agent 分工、許可權級別、handoff 和團隊使用邊界。
VS Code 官方文件把 agent 定義為能自主完成程式設計任務的 AI 助手。你給高層目標,它會拆步驟、跨檔案編輯、執行命令,並在失敗時自我修正。
這和普通 Chat 的差異很大:普通 Chat 主要回答;Agent Mode 會行動。因此第一課不是“怎麼讓它更聰明”,而是“把行動許可權交給誰、交多少、怎麼驗收”。
閱讀目標:讀完本章,你應該能區分 local agent、Copilot CLI、Cloud agent、third-party agent,並知道 Ask、Plan、Agent 的邊界。
1. Agent 型別
VS Code 官方總覽把 agent 型別按執行位置和互動方式分開:
- Local agent:在 VS Code agent loop 中互動執行,訪問本地 workspace、tools 和 models。
- Copilot CLI:在本機後臺執行,可用於後臺任務和隔離實驗。
- Cloud agent:在 GitHub 遠端環境執行,適合 PR 協作和團隊 review。
- Third-party agent:透過 Anthropic、OpenAI 等 provider 的 harness 或 SDK 執行。
flowchart TD
Task["任務"] --> Where{"需要哪裡執行?"}
Where -->|本地編輯器上下文| Local["Local agent"]
Where -->|本機後臺 / CLI| CLI["Copilot CLI"]
Where -->|PR / GitHub 協作| Cloud["Cloud agent"]
Where -->|特定 provider| Third["Third-party agent"]
Local --> Review["VS Code pending edits"]
CLI --> Diff["VS Code diff / terminal session"]
Cloud --> PR["Pull request review"]
Third --> Policy["團隊自定義策略"]
style Local fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style Cloud fill:#dcfce7,stroke:#16a34a,stroke-width:2px
style Policy fill:#fef3c7,stroke:#d97706,stroke-width:2px
2. Ask、Plan、Agent 怎麼選
VS Code 有三個 built-in agents:
- Ask:回答程式碼概念、程式碼庫問題或 VS Code 使用問題,不做檔案修改。
- Plan:在寫程式碼前生成結構化實施計劃,計劃合適後交給 implementation agent。
- Agent:自主計劃並實施,跨檔案編輯、執行 terminal commands、呼叫工具。
選擇規則:
- 理解問題、查程式碼、解釋錯誤:先用 Ask。
- 需求不清、涉及架構、影響多模組:先用 Plan。
- 範圍清楚、需要真實改檔案和跑測試:用 Agent。
- 需要後臺執行或 PR:考慮 CLI 或 Cloud agent。
3. 許可權級別
VS Code 官方總覽說明,agent 可以不同程度自主呼叫工具和終端命令。許可權 picker 可以從“每次批准”到“完全自動”之間調整。
常見層級:
- Default Approvals:按 VS Code 設定執行;預設只有只讀和安全工具不需要顯式批准。
- Bypass Approvals:自動批准工具呼叫,但 agent 仍可能問澄清問題。
- Autopilot Preview:自動批准工具呼叫、自動回答問題,並持續執行直到任務完成。
商業專案預設不應直接給 Bypass 或 Autopilot。先讓團隊熟悉工具、diff 和回復,再逐步放開。
4. Handoff 不是失敗
VS Code 官方提到可以把 session hand off 到其他 agent。典型流程:
- Local agent 先 Plan。
- Copilot CLI 做後臺 proof of concept。
- Cloud agent 生成 PR。
- 團隊在 GitHub 上 review。
這不是換工具失敗,而是把任務交給最合適的執行面。
5. 適合和不適合
適合 Local Agent:
- 需要當前編輯器上下文。
- 要看即時 diagnostics、terminal output 或本地瀏覽器。
- 你希望逐步批准工具呼叫。
適合 Cloud agent:
- 任務清晰,能透過 PR review 驗收。
- 你希望它在後臺執行。
- 需要團隊協作、分支和 reviewer。
暫時不適合:
- 生產部署、刪除資料、雲資源修改。
- 需求不清卻直接讓 agent 寫程式碼。
- 沒有測試入口、沒有回復路徑的高風險任務。
深讀:為什麼 agent 型別要按驗收面選擇
本地 agent 的驗收面是 VS Code 的 pending edits、terminal 和本地測試;Cloud agent 的驗收面是 branch、session log 和 PR。入口不同,上下文和回復方式也不同。
所以不要只問“哪個 agent 更強”。應該問:這個任務最後在哪裡 review,失敗時在哪裡回退。
本章自檢
完成本章後,用這 4 個問題檢查:
- 當前任務需要本地上下文、後臺執行、PR 協作,還是特定 provider?
- 當前應該用 Ask、Plan 還是 Agent?
- 許可權級別是否匹配任務風險?
- 結果應該回到 pending edits、terminal output、PR 還是 session log 驗收?
透過標準:你能先選 agent 型別和許可權,再啟動任務。
官方來源
- Using agents in Visual Studio Code —— VS Code 官方 agents 總覽。
- Asking GitHub Copilot questions in your IDE —— GitHub 官方 IDE Chat 文件,覆蓋 Plan mode 和 Agent mode。
- Managing cloud agents —— GitHub 官方 cloud agent session 管理文件。