現已釋出!閱讀關於 11 月新增功能和修復的內容。

Agent 模式:所有使用者均可用,並支援 MCP

2025 年 4 月 7 日,作者:Isidor Nikolic

Agent 模式正在面向所有 VS Code 使用者推出!Agent 可作為獨立的結對程式設計夥伴,執行多步驟編碼任務,例如分析您的程式碼庫、建議檔案編輯以及執行終端命令。它會響應編譯和 lint 錯誤,監控終端輸出,並以迴圈方式自動更正,直到任務完成。Agent 還可以使用貢獻的工具,使其能夠與外部 MCP 伺服器或 VS Code 擴充套件進行互動,執行各種任務。

所有使用者均可用

開啟“聊天”檢視,登入 GitHub,在設定中將 chat.agent.enabled 設定為啟用狀態,然後在“聊天”模式下拉選單中選擇 **Agent**。如果看不到此設定,請確保在更新到最新版本後重新載入 VS Code。在接下來的幾周內,我們將預設向所有人推出此功能,無需進行任何設定。

Agent 模式非常適合以下場景:

  • 您的任務涉及多個步驟。Agent 可以編輯程式碼、執行終端命令、監控錯誤並進行迭代以解決出現的任何問題。
  • 您不確定更改的範圍。Agent 會自動確定相關檔案和上下文。
  • 您的任務需要與外部應用程式或資料進行互動。Agent 可以與 MCP 伺服器和 VS Code 擴充套件整合。

另一方面,當任務範圍明確、您希望快速完成任務或希望更精細地控制 LLM 請求數量時,請使用編輯模式。

我們建立了一個統一的聊天體驗,結合了“聊天”和“編輯”檢視,帶來了諸如會話歷史記錄、將聊天移至單獨視窗以及簡化“工作集”檢視等好處。所有這些現在在 Agent 模式下也可用。

Agent mode with proposed changes in the editor

我們持續收到使用者提供的精彩反饋(請繼續提供!),這啟發了我們許多改進。其中最值得注意的包括:

  • 撤銷操作現在可以回滾到上一個檔案編輯工具呼叫之前的所有更改
  • 支援在同一工作區中進行多個 Agent 會話(當編輯會話不修改同一檔案時效果最佳)
  • Agent 現在可以建立和編輯筆記本
  • 自動批准工具呼叫功能(終端自動批准功能將於 4 月推出)
  • 大量的質量改進和 bug 修復

“提問”和“編輯”體驗都在朝著一種利用工具的架構演進,就像 Agent 一樣。我們進行此更改是為了統一“提問”、“編輯”和“Agent”模式,使其全部成為 Agentic 的,目標是最佳化整體使用者體驗。這使得編輯模式可以使用 edit_file 工具來提高速度,而編輯和提問模式可以使用 Agentic 程式碼庫搜尋 #codebase。因此,不支援工具呼叫的語言模型將不再可在編輯模式中使用。

要了解 Agent 的工作原理,您可以閱讀我們 之前的文章

可擴充套件:MCP 伺服器和 VS Code 擴充套件

正如 VS Code 擴充套件可以幫助您自定義特定的工作流一樣,Agent 的可擴充套件性允許您根據自己的需求定製 Agent。透過可擴充套件性,Agent 可以執行瀏覽器操作(執行 AI Web 除錯)、連線到您的聊天和筆記應用程式、與您的資料庫互動、從您的設計系統中獲取上下文、從 GitHub 獲取問題和倉庫上下文,以及與您的雲平臺整合。Agent 模式的力量在於可用工具的多樣性以及新增和刪除工具的靈活性。我們正在預覽釋出可擴充套件性,所有使用者均可使用。

Agent 模式可以使用以下工具

  • VS Code 貢獻的內建工具(圖表中為藍色),允許 Agent 搜尋工作區、應用程式碼更改、執行終端命令、捕獲編輯器中的編譯或 linting 錯誤、獲取網站內容(#fetch 手動觸發)等。
  • MCP 伺服器貢獻的工具(圖表中為綠色)。
  • VS Code 擴充套件貢獻的工具(圖表中為綠色)。

Diagram showing the inner works of agent mode and how it interacts with context, LLM and tools - including tools contributed by MCP servers and VS Code extensions

當 VS Code 團隊發明 語言伺服器協議 (LSP) 時(在 2016 年),我們的目標是標準化語言伺服器與開發工具的通訊方式。我們很自豪 LSP 已成為一項被廣泛採用的標準,並實現了我們的願景。最近,LSP 背後的思想 啟發了一個新協議:模型上下文協議 (MCP),它標準化了應用程式如何向 LLM 提供上下文。隨著 VS Code 中的 Agent 模式使用 MCP 伺服器提供的工具,我們又回到了 VS Code。

這關乎開發者控制權

並非所有任務都需要您可能新增到 Agent 模式中的所有工具,並且與任何 AI 工作流一樣,具體操作會帶來更好的結果。我們建議使用工具 UI 來管理和啟用每個場景所需的工具,或者透過鍵入 # 在提示中明確引用工具。

Edit UI showing how to enable and disable tools

為了讓您完全掌控,每次工具呼叫都會在 UI 中透明顯示並需要您的批准(只讀的內建工具除外)。您可以為當前會話、工作區或所有未來的呼叫允許特定工具。如果您希望最大限度地減少中斷,總是允許 Agent 使用所有工具,同時仍然保持安全,可以考慮使用 Dev Containers 擴充套件。這會將所有 Agent 驅動的更改隔離在容器環境中(例如,Agent 仍然可以推送到遠端,如果您允許的話)。

Chat UI showing a tool call

開始使用

要為您的工作流自定義 Agent,請在聊天輸入中選擇“**工具**”圖示,然後按照“**新增更多工具…**”流程進行操作。或者,閱讀我們的 MCP 伺服器文件,其中解釋了配置格式、如何新增 MCP 伺服器,或如何從 Claude Desktop 等現有 MCP 客戶端應用程式匯入 MCP 伺服器。VS Code 支援本地標準輸入/輸出 (stdio) 和伺服器傳送事件 (sse) 作為 MCP 伺服器傳輸。

MCP 的 官方伺服器儲存庫 是一個很棒的起點,裡面包含官方和社群貢獻的伺服器,展示了 MCP 的通用性。要安裝提供工具的擴充套件,請開啟“擴充套件”檢視並使用標籤 @tag:language-model-tools 進行搜尋。

extension search showing extensions that contribute tools

作為開發者,您可以透過建立 MCP 伺服器來擴充套件 Agent,或者如果您是擴充套件作者,您可以 為您的 VS Code 擴充套件貢獻工具。請參閱 這些文件 以獲取有關編寫工具的指南和最佳實踐。

下一步

Agent 模式每天都在改進,要成為第一批受益者,請考慮安裝 VS Code Insiders。使用 VS Code Insiders 並向 我們的儲存庫 提供反饋是改進產品的最佳方式。接下來,我們計劃進行以下工作:

  • 支援自定義模式,包含自定義工具集和 說明
  • 更快的程式碼應用體驗
  • 將 MCP 支援從工具擴充套件到提示、資源和最新的規範更新
  • 編輯流限制為已更改的程式碼塊,以提高速度
  • 檢查點功能,方便您輕鬆回到 Agent 模式會話中的特定步驟
  • 整體效能和服務質量改進

確保您使用的是最新的 VS Code 穩定版,在設定中將 chat.agent.enabled 設定為啟用狀態,然後從模式下拉選單中選擇 **Agent**。今天就來試試吧,並告訴我們您的想法!您可以在 此處 找到文件。

祝您編碼愉快(現在支援 MCP 和擴充套件)!

Isidor 和 VS Code 團隊

© . This site is unofficial and not affiliated with Microsoft.