Visual Studio Code 中的本機代理 (Local agents)
本機代理會在您機器上的 Visual Studio Code 內以互動方式執行。它們適用於您目前的工作區,並可使用 VS Code 中提供的各種工具和模型,包括擴充功能提供的工具以及 MCP 伺服器。透過建立自訂代理,您可以讓代理在執行任務時承擔特定的角色或身份,例如程式碼審查員、測試人員或文件撰寫人員。
本機代理在 VS Code 的聊天介面中運作。當您關閉聊天工作階段時,本機代理仍會保持活動狀態,您可以在工作階段檢視中追蹤它。
為什麼要使用本機代理?
- 需要即時回饋的互動式對話,例如腦力激盪、規劃,或尚未完全定義的任務
- 需要開發環境相關背景知識的任務,例如 Linting 錯誤、堆疊追蹤、單元測試結果
- 需要存取特定 VS Code 擴充功能或 MCP 伺服器工具的任務,或者需要使用特定模型(如 BYOK 模型)的任務
- 不需要與其他團隊成員協作的任務
主要特性
- 在您本機機器上的 VS Code 內執行,並處理您目前的工作區
- 基於互動式聊天的介面,用於即時回饋與迭代
- 完整存取您的工作區、檔案和背景脈絡
- 可以存取 VS Code 中設定的所有代理工具,例如內建工具、MCP 工具和擴充功能提供的工具
- 可以使用您在 VS Code 中可用的所有模型,包括 BYOK 模型和其他提供者的模型
內建代理
本機代理工作階段使用三種內建代理之一,每一種都針對不同類型的任務進行了最佳化。您可以在聊天工作階段中隨時透過聊天檢視中的代理選擇器切換代理。若需要更專業的工作流程,您可以建立自己的自訂代理。
Agent
Agent 是針對複雜程式碼任務進行最佳化的代理,這些任務基於可能需要執行終端指令和工具的高階需求。此 AI 會自動運作,判斷相關背景脈絡和需要編輯的檔案,規劃所需的工作,並透過迭代來解決出現的問題。
VS Code 會直接在編輯器中套用程式碼變更,編輯器覆疊控制項讓您可以在建議的編輯內容之間進行導覽並審查。該代理可能會呼叫多個工具來完成不同的任務。
您可以透過新增 MCP 伺服器或安裝提供工具的擴充功能,來使用額外工具自訂聊天。
開啟 Agent 聊天:穩定版 | 預覽版 (Insiders)
如果您沒有看到代理選項,請確保在您的 VS Code 設定中已啟用代理( chat.agent.enabled 此設定由組織層級管理。請聯絡您的管理員進行變更。)。您的組織也可能停用了代理功能。請聯絡您的管理員以啟用此功能。
規劃
Plan 代理是針對為程式碼任務建立結構化實作計畫所最佳化的。當您想要在實作之前將複雜的功能或變更分解為較小、可管理的步驟時,請使用 Plan 代理。
Plan 代理會產生一份詳細的計畫,概述所需的步驟,並提出澄清問題以確保全面理解任務。之後,您可以將此計畫交給實作代理,或將其作為指導方針使用。
開啟 Plan 聊天:穩定版 | 預覽版 (Insiders)
深入了解使用代理進行規劃。
Ask
Ask 功能最適合用於回答有關程式碼庫、程式設計和通用技術概念的問題。當您想要了解某事如何運作、探索想法或需要程式設計任務方面的協助時,請使用 Ask。
Ask 使用代理能力來研究您的程式碼庫並收集相關的背景脈絡。回應可以包含您可以個別套用到程式碼庫的程式碼區塊。若要套用程式碼區塊,請將滑鼠游標移至該區塊上,然後選取在編輯器中套用 (Apply in Editor) 按鈕。
使用 Ask 開啟聊天:穩定版 | 預覽版 (Insiders)
編輯模式 (已棄用)
編輯模式已棄用。請改用代理 (Agent) 模式進行多檔案程式碼編輯。您可以透過啟用 chat.editMode.hidden 設定來還原編輯模式。
開始使用
若要獲取包含背景代理和雲端代理等不同代理類型實作教學,請參閱代理教學課程。
若要啟動本機代理工作階段
-
在聊天檢視的代理選擇器中選取 Agent。
-
在聊天輸入欄位中輸入高階提示。例如,您可以詢問
Implement a user authentication system with OAuth2 and JWT.或
Set up a CI/CD pipeline for this project. -
使用工具選擇器來啟用工具並賦予代理更多能力。
-
選取 傳送 (Send) 或按下 Enter 以提交您的提示。
-
當代理執行您的請求時,請審查並確認程式碼變更和工具呼叫。
您可以在代理工作時傳送後續提示。您可以排程訊息稍後發送、引導代理往新方向執行,或立即停止並傳送。深入了解在請求執行時傳送訊息。
提示VS Code 可協助您防止意外編輯敏感檔案(如工作區設定或環境設定)。深入了解編輯敏感檔案。
若要以 Ask 開始
-
在聊天輸入欄位中輸入您的提示。例如,您可以詢問
Provide 3 ways to implement a search feature in React.或
Where is the db connection configured in this project? #codebase -
在聊天檢視的代理選擇器中選取 Ask。
-
您可以選擇在提示中加入背景脈絡以取得更準確的回應。
-
選取 傳送 (Send) 或按下 Enter 以提交您的提示。
常見問題
語言模型是在我的機器上本機執行嗎?
語言模型的位置不取決於代理類型。代理類型決定了代理框架的執行位置,也就是代理編排邏輯的執行位置。例如,本機代理在您機器上的 VS Code 內執行,而 Copilot 雲端代理則在遠端伺服器上執行。
語言模型的位置取決於您為請求選擇的模型提供者。例如,如果您選擇 GitHub Copilot 提供的模型,它將在遠端基礎架構上執行。如果您選擇連線至在您機器或私人基礎架構上執行之模型的 BYOK 模型,那麼模型就會在那裡執行。