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

Visual Studio Code 中的後臺代理

Visual Studio Code 中的後臺代理是基於 CLI 的代理,例如 Copilot CLI,它們在您的本地計算機上作為後臺程序執行。在您繼續在編輯器中進行其他工作時,它們可以獨立執行。後臺代理可以使用 Git worktrees 來實現與您的主工作區隔離,並防止與您當前工作的衝突。

本文介紹了後臺代理的關鍵功能,以及如何從 Copilot CLI 或 OpenAI Codex 啟動和管理後臺會話。

Screenshot of background agent session as a chat editor in VS Code.

什麼是後臺代理?

與在 VS Code 編輯器上下文中執行並感知其上下文的本地代理不同,後臺代理透過本地計算機上的命令列介面 (CLI) 獨立執行。您可以從 VS Code 中的統一聊天檢視中檢視和管理所有後臺代理會話。此檢視還允許您直接從 VS Code 建立新的後臺代理會話,或將本地代理對話移交給後臺代理。

由於後臺代理在後臺執行且無需使用者互動,因此它們非常適合範圍明確且具有所有必要上下文的任務。例如,根據計劃實現一個功能,建立概念驗證的多個變體,或實現明確定義的修復或功能。

後臺代理會自動將更改應用到您的程式碼庫。為防止干擾您在編輯器中的當前工作,後臺代理可以使用 Git worktrees 在隔離的環境中執行,從而在不影響您主工作區的情況下進行更改。當您啟動帶有 worktree 隔離的後臺代理會話時,VS Code 會為該會話自動建立一個單獨的資料夾。您可以選擇在主工作區中執行後臺代理,但這可能會導致衝突。

後臺代理透過 CLI 執行,無法直接訪問 VS Code 內建工具和執行時上下文(例如失敗的測試或文字選擇)。它們也無法訪問 MCP 伺服器或擴充套件提供的工具。它們僅限於透過 CLI 工具可用的模型。後臺代理可以執行終端命令,並在需要時提示您進行批准。

要將任務分配給後臺代理,您可以直接從聊天檢視建立新的後臺會話,使用代理的專用 CLI,或將 VS Code 中的本地聊天對話移交給後臺代理會話。

Copilot CLI

Copilot CLI 是 VS Code 中的主要後臺代理。您可以直接從終端使用 Copilot CLI,也可以在 VS Code 中啟動和管理會話。

要開始使用,請確保已安裝並設定 Copilot CLI。VS Code 應該會自動為您處理此問題,但您也可以選擇透過以下命令手動安裝 CLI:

npm install -g @github/copilot

在 GitHub 文件中瞭解有關 Copilot CLI 的更多資訊。

OpenAI Codex

OpenAI Codex 後臺代理使用 OpenAI 的 Codex 來自主執行編碼任務。要使用 OpenAI Codex 代理,請確保從 Visual Studio Marketplace 安裝 OpenAI Codex 擴充套件。

VS Code 中的 OpenAI Codex 使您可以使用 Copilot Pro+ 訂閱進行身份驗證並訪問 Codex,而無需額外設定。在 GitHub 文件中獲取有關 GitHub Copilot 計費和高階請求的更多資訊。

檢視和管理後臺代理會話

您可以從 VS Code 的聊天檢視中檢視和管理所有後臺代理會話。透過從篩選選項中選擇 **後臺代理 (Background Agents)** 來篩選會話列表,僅顯示後臺代理會話。

Screenshot of background agent filter in VS Code Chat view.

從列表中選擇一個後臺代理會話,即可在聊天檢視中開啟會話詳細資訊。如果您更喜歡在編輯器選項卡(聊天編輯器)中檢視會話,請右鍵單擊該會話並選擇 **在編輯器中開啟 (Open as Editor)**。

如果您更喜歡在終端中檢視後臺會話而不是 VS Code 中的聊天對話,請在聊天檢視中右鍵單擊該會話並選擇 **在終端中恢復代理會話 (Resume Agent Session in Terminal)**。您可以直接在 VS Code 中與 Copilot CLI 進行互動。

Screenshot showing the Copilot CLI session inside VS Code.

啟動後臺代理會話

根據您的工作流程,您可以透過多種方式啟動後臺代理會話。您可以透過 CLI 建立新會話並直接提供任務詳細資訊,或者從 VS Code 中的 聊天檢視 (Chat view) 啟動新會話。

另一種方法——尤其是對於複雜任務——是先在 VS Code 聊天中與本地代理互動,一旦範圍和細節明確,就將任務移交給後臺代理會話。例如,您可以使用 Plan agent 來概述多步功能實現,然後將實際編碼委託給後臺代理。

建立 Copilot CLI 後臺代理會話

您可以通過幾種方式在 VS Code 中建立新的 Copilot CLI 後臺代理會話:

  • 從聊天檢視

    1. 開啟聊天檢視 (⌃⌘I (Windows, Linux Ctrl+Alt+I))

    2. 選擇 **新建聊天 (New Chat)** 下拉選單 > **新建後臺代理 (New Background Agent)**

  • 在本地聊天會話中

    • 在聊天輸入框中鍵入 @cli <task description> 併發送訊息

    • 輸入提示,然後選擇 **在...中繼續 (Continue In)** > **後臺代理 (Background Agent)**

  • 從命令面板執行 **Chat: New Background Agent** 命令(⇧⌘P (Windows, Linux Ctrl+Shift+P)

將開啟一個新的後臺代理會話,您可以在其中提供其他任務詳細資訊並跟蹤 Copilot CLI 會話的進度。

提示

當您在終端中使用 GitHub Copilot CLI 啟動會話時,VS Code 中的聊天檢視會自動檢測並顯示此後臺會話。您可以進一步在 VS Code 中與此後臺會話進行互動。

建立 OpenAI Codex 後臺代理會話

從聊天檢視建立新的 OpenAI Codex 後臺代理會話

  • 從聊天檢視

    1. 開啟聊天檢視 (⌃⌘I (Windows, Linux Ctrl+Alt+I))

    2. 選擇 **新建聊天 (New Chat)** 下拉選單 > **新建 Codex 代理 (New Codex Agent)**

  • 從命令面板執行 **Codex: New Codex Agent** 命令(⇧⌘P (Windows, Linux Ctrl+Shift+P)

將開啟一個新的 Codex 後臺代理會話,您可以在其中提供其他任務詳細資訊並跟蹤 Codex 會話的進度。

將代理會話移交給後臺代理

對於複雜任務,先在 VS Code 聊天中與本地代理進行互動以澄清需求,然後將任務移交給後臺代理進行自主執行可能會很有幫助。當您將本地代理對話移交給後臺代理會話時,完整的對話歷史記錄和上下文將傳遞給後臺代理。

將本地代理會話繼續到後臺代理會話

  1. 開啟聊天檢視 (⌃⌘I (Windows, Linux Ctrl+Alt+I))

  2. 與本地代理進行互動,直到您準備好將任務移交給後臺代理為止

  3. 要移交給後臺代理,您有以下選擇:

    • 選擇 **在...中繼續 (Continue In)**,然後選擇 **後臺 (Background)**

      Screenshot showing the "Continue in Chat" button in VS Code chat interface.

    • 如果您使用的是 Plan agent,請選擇 **開始實現 (Start Implementation)** 下拉選單,然後選擇 **在後臺繼續 (Continue in Background)** 以在後臺代理會話中執行實現

      Screenshot showing the "Start Implementation" button in VS Code chat interface.

    • 在聊天輸入框中鍵入 @cli 將任務移交給後臺代理

後臺代理會話將自動啟動,並繼承完整的對話歷史記錄和上下文。您可以在聊天檢視中監控後臺代理的進度。

建立隔離的後臺代理會話(實驗性)

為了將後臺代理的更改與主工作區隔離,您可以建立一個使用 Git worktree 的後臺代理會話。當您建立 worktree 時,VS Code 會為該會話建立一個單獨的資料夾。後臺代理在此隔離的資料夾中執行,以防止與您的當前工作發生衝突。

要在後臺代理會話中使用 Git worktrees

  1. 在 VS Code 中啟動新的 Copilot CLI 後臺代理會話。

  2. 在聊天輸入框中,為隔離模式選擇 **Worktree**。

    Screenshot showing the "Worktree" isolation mode option in VS Code chat interface.

    當您選擇 **Workspace** 時,後臺代理會將更改直接應用於您的主工作區。

  3. 輸入提示以啟動代理會話。VS Code 會自動建立一個新的 Git worktree。

    後臺代理所做的所有更改都將應用到 worktree 資料夾,從而將它們與主工作區隔離。

  4. 在“原始碼管理”檢視的“**儲存庫 (Repositories)**”檢視中,您可以檢視 Git worktree。

    Screenshot showing Git worktree in VS Code Source Control view.

    “代理 (Agents)”檢視還會顯示後臺代理會話的 worktree 路徑。

  5. 在“代理”檢視中監控後臺代理的進度

  6. 後臺代理完成任務後,您可以審查並將更改從 worktree 合併回您的主工作區。

    提示

    在合併更改之前,您可以使用聊天編輯器中的 **應用更改 (Apply Changes)** 按鈕直接將它們從 worktree 應用到主分支。

瞭解有關在 VS Code 原始碼管理中 使用 Git worktrees 的更多資訊。

將自定義代理與後臺代理結合使用(實驗性)

自定義代理 (Custom agents) 讓您在 VS Code 中為代理定義自定義角色和身份。例如,您可以建立一個用於執行程式碼審查的自定義代理。自定義代理可以定義特定的指令和行為。

當您建立後臺代理會話時,您可以選擇一個自定義代理來處理任務。後臺代理將根據自定義代理定義的行為進行操作。

啟用自定義代理與後臺代理結合使用

  1. 使用 github.copilot.chat.cli.customAgents.enabled 設定,為後臺代理啟用自定義代理。

  2. 使用命令面板中的 **Chat: New Custom Agent** 命令在您的工作區中建立自定義代理(⇧⌘P (Windows, Linux Ctrl+Shift+P))。

    注意

    目前,只有在工作區中定義的自定義代理可用於後臺代理會話。瞭解有關 建立自定義代理 的更多資訊。

  3. 建立新的後臺代理會話,並從“代理 (Agents)”下拉列表中選擇自定義代理。

    Screenshot showing custom agent selection in VS Code chat interface.

  4. 輸入提示,並注意已使用自定義代理來處理任務。

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