在 Visual Studio Code 中使用代理程式

代理程式是一種 AI 助理,能自主地完成編碼任務。為其設定一個高階目標後,它會將目標分解為多個步驟、編輯專案中的檔案、執行命令,並在出錯時自我修正。例如,代理程式不會只建議修正失敗測試的方法,而是會跨檔案找出根本原因、更新程式碼、重新執行測試並提交變更。

VS Code 讓您能以符合您工作流程的方式執行代理程式。您可以在編輯器中以互動方式與它們合作,或讓它們從命令列介面 (CLI) 在背景中自主執行。代理程式可以在您的機器上、在遠端雲端環境中,或透過 Anthropic 或 OpenAI 等第三方供應商執行。您可以決定賦予它們多少自主權,從核准每個工具呼叫到讓它們完全獨立工作,並且您可以建立自訂代理程式來為您的專案調整其行為。

無論它們在哪裡執行,您都可以從聊天檢視中單一的工作階段清單監控並與所有工作階段互動。

代理程式的運作方式

了解代理程式迴圈、代理程式如何規劃和執行任務,以及記憶體和子代理程式的運作方式。

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

提示

在您的 VS Code 設定中啟用代理程式 ( chat.agent.enabled Open in VS Code Open in VS Code Insiders This setting is managed at the organization level. Contact your administrator to change it.)。您的組織也可能會停用代理程式 - 請聯絡您的管理員以啟用此功能。

代理程式類型

代理程式在不同的環境中執行,具體取決於您何時需要結果以及您想要多少監督。兩個關鍵維度是代理程式在哪裡執行 (您的機器或雲端) 以及您如何與它互動 (以互動方式或在背景中自主地)。

  • 本機:使用 VS Code 代理程式迴圈在編輯器中以互動方式執行代理程式,並完整存取您的工作區、工具和模型。
  • Copilot CLI:使用 Copilot CLI 在您的機器上於背景中執行,可選擇使用 Git 工作樹進行隔離。
  • 雲端:使用 GitHub Copilot 遠端執行,並與 GitHub 提取要求整合以進行團隊協作。
  • 第三方:使用 Anthropic 和 OpenAI 的第三方代理程式介面和 SDK,在本機或雲端執行。

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

Screenshot showing agent target dropdown in the Chat view.

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

使用下表找到適合您任務的代理程式類型

我想要... 使用
互動式地集思廣益、探索或迭代想法 本機代理程式
取得我的程式碼基底相關解答 本機代理程式 (詢問)
建立結構化的實作計畫 本機代理程式 (計畫)
修正需要編輯器內容的問題 (測試失敗、Lint 錯誤、偵錯輸出) 本機代理程式
使用整合式瀏覽器建置並測試網頁應用程式 (實驗性功能) 本機代理程式。請參閱瀏覽器代理程式測試指南
使用特定的 VS Code 延伸模組工具或 MCP 伺服器 本機代理程式
在我繼續工作時,實作一個明確定義的任務 Copilot CLI雲端代理程式
探索多個變體或概念驗證 Copilot CLI雲端代理程式
建立提取要求以供團隊檢閱與協作 雲端代理程式
將 GitHub 問題指派給代理程式 雲端代理程式
使用特定的 AI 供應商 (Anthropic、OpenAI) 第三方代理程式

選擇代理程式

如果代理程式類型是代理程式在哪裡執行,則代理程式會根據其角色或人物設定來決定如何執行任務。例如,具有程式碼檢閱者人物設定的代理程式會專注於檢閱程式碼變更的品質和樣式並提供意見回饋,而不是進行程式碼變更。代理程式的定義決定了它可以使用哪些工具、如何執行任務,以及與其他代理程式的潛在交接點。

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

Screenshot showing the Chat view with the agent picker expanded, displaying different agent options.

VS Code 有三個內建代理程式

  • 代理程式:自主地規劃並實作跨檔案的變更、執行終端機命令以及叫用工具。
  • 計畫:在撰寫任何程式碼之前,建立結構化、逐步的實作計畫。當計畫看起來正確時,將計畫交接給實作代理程式。
  • 詢問:回答有關編碼概念、您的程式碼基底或 VS Code 本身的問題,而不進行檔案變更。

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

選擇權限層級

代理程式會自主執行任務,但您可以控制它們在叫用工具和終端機命令方面的自主程度。賦予代理程式更多自主權可以提高效率,但可能會降低監督。聊天檢視中的權限選擇器讓您可以為每個工作階段選擇一個權限層級,從核准每個工具呼叫到讓代理程式完全獨立工作。

權限層級 說明
預設核准 (Default Approvals) 依照 VS Code 設定中指定的核准方式。依預設,只有唯讀和安全工具不需要明確核准。
略過核准 (Bypass Approvals) 自動核准所有工具呼叫,無需確認對話方塊。代理程式在工作時可能會提出釐清問題。
Autopilot (預覽) 自動核准所有工具呼叫、自動回應問題,並且代理程式會自主地繼續工作,直到任務完成。

進一步了解權限層級和自動駕駛模式

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

您可以將現有的任務從一個代理程式交接給另一個代理程式,以利用它們的獨特優勢。例如,使用本機代理程式建立計畫,交接給 Copilot CLI 進行概念驗證,然後繼續使用雲端代理程式提交提取要求以供團隊檢閱。

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

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

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

指派編碼任務給代理程式

如果您安裝了GitHub 提取要求延伸模組,您可以指派代理程式來實作您程式碼中的 TODO 註解。

Screenshot of assigning a TODO comment to Copilot coding agent.

在 GitHub.com 上,或透過使用 GitHub 提取要求延伸模組,您可以將 GitHub 問題指派給 Copilot 編碼代理程式,方法是將問題指派給 copilot,或在問題註解或提取要求中提及它以請求程式碼檢閱。

  • 管理聊天工作階段:建立、切換和組織您的代理程式工作階段。

  • 代理程式教學課程:使用不同代理程式類型的實作教學課程。

  • 工具:使用內建、MCP 和延伸模組工具擴充代理程式。

  • 掛鉤:在生命週期事件中執行自訂命令,以實現自動化和策略執行。

  • 自訂代理程式:建立您自己的 AI 代理程式和延伸模組。

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