使用 Visual Studio 中的 GitHub Copilot 代理程式模式,您可以使用自然語言來指定高階工作。 AI 創建計劃、進行代碼編輯、運行終端命令、調用工具並在整個代碼庫中應用更改。 它會監視結果,例如建置結果、單元測試失敗或工具輸出,並視需要反覆運算。
與 詢問模式不同,客服專員模式不會在單一回應後停止。 它會繼續執行和精簡步驟,直到您達到提示中的目標或需要更多輸入為止。
Prerequisites
您需要 Visual Studio 2022 17.14 版 或更新版本。
使用代理程式模式
在代理程式模式中,Copilot 會自主運作,並判斷提示的相關內容。
請遵循下列步驟來開始使用:
開啟 [Copilot Chat] 視窗,選取 [ 詢問 ] 以展開模式下拉式清單,然後選取 [ 代理程式]。
輸入您的提示,然後選取 [傳送] 或選取 Enter 鍵以提交。 您可以指定高階需求,而且不需要指定要處理哪些檔案。
代理程式模式可能會叫用多個工具來完成不同的工作。 或者,選取 工具 圖示以設定代理程式可用於回應您的請求的其他工具。
Copilot 在執行終端機命令或使用非內建工具之前要求確認。
Copilot 會自動偵測程式碼編輯或終端命令中的問題,然後採取行動。 此程序會重複進行,直到問題解決為止。
當 Copilot 處理您的要求時,它會直接在編輯器中串流建議的程式碼編輯。 檢閱建議的編輯內容,並執行下列其中一項:
如果您想要檢閱代理程式所做的個別程式碼變更,您可以:
繼續迭代程式碼變更以完善編輯或實現更多功能。
了解代理模式工具
代理程式模式可以使用下列工具來回應請求:
- 內建工具
- 模型內容通訊協定 (MCP) 工具
若要檢視和管理客服專員模式下可用的工具,請選取聊天視窗中的 工具 圖示。
根據工具的結果,Copilot 可能會叫用其他工具來完成整體要求。 例如,如果程式代碼編輯導致檔案中的語法錯誤,Copilot 可能會探索另一種方法,並建議不同的程式碼變更。
您透過執行 MCP 伺服器新增的其他工具不會自動啟用。 預設情況下,這些核取方塊未被選取,必須選取它們才能啟動工具。
管理工具核准流程
當 Copilot 叫用工具時,它會要求確認以執行該工具。 原因是工具可能會在您的電腦上本機執行,並執行修改檔案或資料的動作。
在聊天視窗中,在工具執行後,使用 允許 下拉選單選項,自動確認本次會話或解決方案的特定工具,或所有未來的使用。
您可以在 「工具>選項」 窗格中重設工具確認選項。 展開 [所有設定>]GitHub>Copilot>工具區段。
您可以在 「工具>選項」 對話方塊中重設工具確認選擇。 展開 GitHub>Copilot>工具 區段。
接受或拒絕編輯
Copilot 會在聊天視窗的 變更總數 清單中列出已編輯的檔案。
選取每個檔案以個別檢閱變更。 您可以保留或復原對每個程式碼區塊所做的編輯。
或者,在「變更總計」清單中,針對自上次選取「保留」或「復原」以來所做的所有編輯,選取「保留」或「復原」。
還原編輯
當您要求程式碼編輯時,您可能想要還原一些變更。 若要還原,請選取在提示之前的檢查點旁邊的 [還原],提示中包含您不想要的變更。
目前,Visual Studio Copilot 代理程式不支援逐步復原或重做。
中斷代理模式要求
若要中斷進行中的要求,您可以取消它。 取消請求會停止所有正在運行的工具和終端機命令。
若要停止組建,請選取頂端工具列上的建置,然後選取取消。 或使用 Ctrl+Break 鍵盤快速鍵。
在代理模式中規劃 (預覽功能)
備註
規劃功能可以在 Visual Studio 2022 版本 17.14 的公開預覽中使用。 此功能正在積極開發中,可能會根據用戶反饋進行發展。
在代理模式下進行規劃可讓 Copilot 在執行之前將複雜或多步驟的請求分解為結構化、可追蹤的任務。
當 Planning 處於作用中狀態時,Copilot:
- 創建一個 面向用戶的 Markdown 計劃 ,概述目標和進度。
- 維護一個內部 JSON 計劃 (
plan-{sessionId}.json),作為 LLM 可讀的暫存本,用於步驟追蹤、推理和協調。
這種結構有助於 Copilot 保持一致性、動態更新其計劃,並為開發人員提供其正在做什麼的可見性。
運作方式
請求分析
當任務需要多個步驟時,Copilot 會進入規劃模式。
計劃創建
- Markdown 計劃:以可讀的格式描述任務、步驟和進度。
- JSON 計劃:一種結構化、LLM 可讀的格式,以機器可解析的形式捕獲相同的計劃。 此 JSON 檔案可讓 Copilot 在回合之間一致地更新和解釋計劃。
執行和迭代
Copilot 執行計劃中的每個步驟,並在進行時更新這兩個檔案。
- 降價計劃會在編輯器中明顯更新。
- JSON 計劃會在幕後隨著 “Copilot” 精簡、重新排序或調整步驟而演變。
儲存空間
這兩個檔案都儲存在 C:\Users\username\AppData\Local\Temp\VisualStudio\copilot-vs.
規劃中使用的工具
當您啟用計劃時,一組專用的內部工具會被激活。 這些工具協調 Copilot 在執行期間建立、更新和完成計劃的方式。
| Tool | Description |
|---|---|
| 計劃 | 從使用者要求產生初始結構化計劃。 |
| adapt_plan | 根據新的背景或回饋完善或調整計劃。 |
| 更新計劃進度 | 更新步驟完成狀態並同步計劃狀態。 |
| record_observation | 擷取影響後續動作的執行階段結果或見解。 |
| finish_plan | 完成所有步驟後,完成計劃。 |
這些工具可讓 Copilot 以增量方式管理多步驟工作流程、維護執行狀態,並與使用者意圖保持一致。
啟用和管理規劃工具
若要啟用 Planning:
開啟 工具>選項 窗格,然後展開 所有設定>GitHub>Copilot>Copilot 聊天 區段。
選取 啟用規劃 核取方塊。
若要在 Visual Studio 2022 17.14 版或更新版本中啟用 規劃 :
開啟 [工具>選項] 對話方塊,然後展開 [GitHub>Copilot ] 區段。
選取啟用規劃核取方塊,然後選取確定。
啟用規劃之後, 規劃 工具會出現在聊天視窗的 [工具] 清單中:
您可以直接在聊天視窗的「工具」清單中選擇性地停用規劃工具集。 如果您需要停用規劃工具,建議您停用所有工具,而非只停用一個。 變更會立即套用至您目前的聊天會話。
小提示
停用個別工具可讓您在開發期間試驗不同的規劃行為或偵錯特定步驟。
局限性
- 計劃會暫時儲存,並在工作階段結束時刪除,除非手動儲存。
- 由於結構化狀態追蹤,存在輕微的延遲額外負荷。
- 某些專業代理可能尚未支援計畫。
提供意見反應
我們正在積極改進代理模式下的計劃。 在這裡分享您的意見反應、回報問題或提出改進建議: 在 Copilot 聊天中規劃 – Visual Studio 開發人員社群
常見問題
代理程式模式對我的檔案有何可見性?
代理模式只能操作:
- 屬於解決方案一部分的本機檔案。
- 位於開啟解決方案目錄或其子目錄中的本機檔案。
代理程式模式無法存取透過檔案排除排除的檔案和目錄。
針對終端機命令,代理程式模式具有與執行中 Visual Studio 進程相同的許可權,而且不限於上述限制。 在執行建議的終端機命令之前,請仔細檢閱它們。
我在 Copilot 聊天視窗中看不到詢問模式和客服專員模式
依指定的順序執行下列疑難排解步驟:
請確定您使用的是 Visual Studio 17.14 或更新版本。
在說明>關於 Visual Studio中檢查版本。
如果您未使用 17.14 版或更新版本,請開啟 Visual Studio 安裝程式並更新組建。
確認已選取在 聊天窗格中啟用客服專員模式 選項。
在 工具>選項 窗格中,展開 所有設定>GitHub>Copilot>對話 區段,並確認已選取選項。
在 [工具>選項] 對話方塊中,展開 [GitHub>Copilot ] 區段,並確認已在 [Copilot 聊天] 下選取選項。
請嘗試重新啟動 Visual Studio。
何時應該使用詢問模式與客服專員模式?
- 當您想要 100% 信賴度時,除非明確選取 [ 套用 ] 或 [複製],然後自行貼上程式代碼,否則詢問模式非常出色。
- 代理模式可以處理相同的概念問題並生成代碼示例而無需應用它們,以及其編輯代碼的代理功能。
- 如果您想要使用 MCP 功能,則必須選取代理程式模式。
Visual Studio 中的 Copilot Edits 發生了什麼事?
代理模式是 Copilot 編輯的演進,具備更強的迭代修正錯誤能力,使用各種工具,以及自動套用程式碼變更。
對於 Visual Studio 2022 17.14 版的初始版本,如果未選取在 聊天窗格中啟用代理程式模式 選項,Copilot 編輯仍然可用。 檢查 工具>選項 對話方塊中,GitHub>Copilot>Copilot 聊天 區段下的選項設定。
身為系統管理員,如何控制 Visual Studio 使用者的代理程式模式使用?
Visual Studio 中的代理程式模式是由系統管理員 GitHub Copilot 儀錶板上的 編輯器預覽功能 旗標所控管。 如果系統管理員關閉此設定,則該訂用帳戶下的使用者無法在 Visual Studio 中使用代理程式模式。
如需詳細資訊,請參閱 管理企業中 GitHub Copilot 的原則和功能。