在 Visual Studio Code 中使用代理 (Agents)

代理是一種 AI 助理,能自動執行程式設計任務。給予它一個高階目標,它會將目標拆解為多個步驟、編輯整個專案的檔案、執行指令,並在出錯時進行自我修正。例如,代理不會只是建議修復失敗測試的方法,而是會識別跨檔案的根本原因、更新程式碼、重新執行測試並提交變更。

代理可以處理端對端的任務。使用它們來跨多個檔案建置功能、偵錯並修復失敗的測試、在框架之間進行重構、使用整合式瀏覽器測試網頁應用程式,或發送合併請求 (Pull Request) 以供團隊審查。

本文將引導您了解在使用代理時所做的選擇:使用哪種代理類型、將任務交給哪個代理、賦予多少自主權,以及在何處進行工作。

代理的工作原理

了解代理循環、代理如何規劃與執行任務,以及記憶體與子代理的運作方式。

Screenshot of an agent session in VS Code showing code changes and chat interaction.

提示

在您的 VS Code 設定中啟用代理 ( chat.agent.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行更改。)。您的組織也可能停用代理功能——請聯絡您的管理員以啟用此功能。

使用代理時的關鍵選擇

使用代理時,主要取決於幾個決策。您可以針對每個任務調整這些設定,並隨時改變主意。

  • 選擇工作位置:在編輯器視窗或專用的代理視窗中工作。
  • 選擇代理類型:決定代理執行的位置與方式,例如在您的電腦上、背景中、雲端,或透過第三方提供者。
  • 選擇代理:挑選符合任務需求的代理角色(例如:建置、規劃或回答問題),並選擇合適的語言模型。
  • 選擇權限等級:決定代理在執行工具與指令時擁有多少自主權。

您也可以將工作階段交接給另一個代理,以發揮它們各自的優勢。

在何處使用代理

VS Code 提供不同的介面供您使用代理,您可以選擇最符合工作流程的一種,或在這些介面間自由切換。

  • 代理視窗 (Agents window) (代理優先,預覽版):一個專用的視窗,用於從單一位置處理多個專案。對話與工作階段列表是主要介面,您可以在此向代理發送指令並描述您希望完成的功能任務。當您的主要工作流程是思考提示詞 (Prompts) 並跨工作區編排代理時,此介面最為適合。

  • 聊天檢視 (Chat view) (程式碼優先):聊天介面位於 VS Code 主視窗的編輯器標籤頁旁,可完全存取偵錯、筆記本、擴充功能生態系統與遠端開發功能。AI 透過聊天、內嵌建議與代理工作階段協助您撰寫程式碼。當您主要在單一工作區中編寫與編輯程式碼時,此介面最為適合。

這兩個介面共用代理工作階段與 VS Code 設定(如設定與快速鍵),轉換過程非常流暢。請使用標題列中的在代理中開啟 (Open in Agents) 按鈕來開啟代理視窗。進一步了解代理視窗

代理類型

根據您對結果需求的時間與希望監控的程度,代理會在不同的環境中執行。進一步了解代理類型及其工作原理

  • 本機 (Local):使用 VS Code 代理循環,在編輯器中互動式執行代理,並完全存取您的工作區、工具與模型。
  • Copilot CLI:使用 Copilot CLI 在您的電腦背景中執行,並可選擇使用 Git 工作樹 (Worktrees) 進行隔離。
  • 雲端 (Cloud):使用 GitHub Copilot 在遠端執行,並與 GitHub 合併請求整合以進行團隊協作。
  • 第三方 (Third-party):使用 Anthropic 與 OpenAI 提供的第三方代理框架與 SDK,在您的本機電腦或雲端執行。

從聊天檢視的代理目標下拉式選單中選擇代理類型。

Screenshot showing agent target dropdown in the Chat view.

您也可以在您擁有的遠端機器上執行代理工作階段,並從任何地方進行監控,無論是從代理視窗瀏覽器還是您的手機。即使您中斷連線,工作階段仍會持續在遠端執行,因此您可以闔上筆電,稍後再回來查看。進一步了解遠端代理工作階段

我應該使用哪種代理類型?

請參考下表,為您的任務找到合適的代理類型

我想要... 使用
互動式迭代、獲取關於程式碼庫的答案、進行規劃,或修復需要編輯器上下文的問題(例如測試失敗與偵錯輸出) 本機代理
在不中斷我目前工作的情況下,實作明確定義的任務或探索概念驗證 (PoC) Copilot CLI雲端代理
建立 PR 以供團隊審查,或將 GitHub 問題指派給代理 雲端代理
使用特定的 AI 提供者,例如 Anthropic 或 OpenAI 第三方代理

選擇代理

如果「代理類型」代表代理執行的「位置」,那麼「代理」本身則根據其角色或人格決定執行任務的「方式」。例如,具有程式碼審查者人格的代理,重點在於審查程式碼變更的品質與風格並提供意見,而非進行程式碼修改。代理的定義決定了它可以使用哪些工具、如何執行任務,以及與其他代理交接的潛在時機。

從聊天檢視的代理下拉式選單中選擇代理。您可以在工作階段期間隨時切換代理。

Screenshot showing the agent picker in the Chat view.

VS Code 有三個內建代理

  • 代理 (Agent):自動規劃並實作跨檔案的變更、執行終端機指令,以及呼叫工具。
  • 規劃 (Plan):在撰寫任何程式碼之前,建立結構化的逐步實作計畫。當計畫看起來合適時,會將其交接給實作代理。
  • 詢問 (Ask):回答關於程式設計概念、您的程式碼庫或 VS Code 本身的問題,而不進行檔案變更。

對於更專業的工作流程,您可以建立自己的自訂代理,定義特定的角色、可用工具與語言模型。

在工作階段內,您也可以選擇最適合該任務的語言模型。使用快速的模型進行簡單的編輯與問答,或使用具有較強推理能力的模型處理複雜、多步驟的工作。您可以隨時從聊天檢視的模型選擇器中切換模型。進一步了解語言模型

選擇權限等級

代理會自動執行任務,但您可以控制它們在呼叫工具與終端機指令時擁有多少自主權。給予代理更多自主權可以提高效率,但也可能減少您的監控。聊天檢視中的權限選擇器讓您能為每個工作階段選擇權限等級,從批准每一次工具呼叫,到讓代理完全獨立作業皆可。

權限層級 說明
預設核准 (Default Approvals) 使用 VS Code 設定中指定的批准方式。預設情況下,唯讀與安全的工具不需要明確批准。
略過核准 (Bypass Approvals) 自動批准所有工具呼叫,無需確認對話框。代理在執行過程中可能會提出澄清問題。
Autopilot (預覽) 自動批准所有工具呼叫、自動回覆問題,代理會持續自主工作,直到任務完成。

若要跨工作階段維持您偏好的權限等級,請設定 chat.permissions.default 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定。

進一步了解權限等級與自動駕駛 (Autopilot)

將工作階段交接給另一個代理

您可以將現有的任務從一個代理交接給另一個代理,以發揮它們各自獨特的優勢。例如,使用本機代理建立計畫,交接給 Copilot CLI 進行概念驗證,然後繼續使用雲端代理以提交合併請求供團隊審查。

若要交接本機代理工作階段,請從聊天輸入框的工作階段類型下拉式選單中選擇不同的代理類型。VS Code 會建立一個新的工作階段,並繼承完整的對話記錄與上下文。原始工作階段在交接後會被封存。

Screenshot showing the session type dropdown for handing off to another agent.

在 Copilot CLI 工作階段中,您可以透過在聊天輸入框輸入 /delegate 指令來委派給雲端代理。您可以在 /delegate 指令後提供額外的指示。

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