透過使用 Visual Studio 中的 GitHub Copilot Agent 模式,您可以使用自然語言來指定高階任務。 AI 會決定步驟、編輯程式碼、執行終端機指令、呼叫工具,並在你的程式碼庫中套用變更。 它會監視結果,例如建置結果、單元測試失敗或工具輸出,並視需要反覆運算。
與 詢問模式不同,客服專員模式不會在單一回應後停止。 它會繼續執行和精簡步驟,直到您達到提示中的目標或需要更多輸入為止。
Prerequisites
使用代理程式模式
在代理模式下,Copilot 會自動運作,並判斷你提示所需的上下文。
請遵循下列步驟來開始使用:
- 打開Copilot Chat視窗,選擇 Ask展開模式下拉選單,然後選擇 Agent。
輸入您的提示,然後選取 [傳送] 或選取 Enter 鍵以提交。 您可以指定高階需求,而且不需要指定要處理哪些檔案。
代理程式模式可能會叫用多個工具來完成不同的工作。 或者,選取 工具 圖示以設定代理程式可用於回應您的請求的其他工具。
- Copilot 在執行終端指令或使用非內建工具前,會先請求確認。
Copilot 會自動偵測程式碼編輯或終端指令的問題,然後採取行動。 此程序會重複進行,直到問題解決為止。
當 Copilot 處理你的請求時,會直接在編輯器中串流建議的程式碼編輯內容。 檢閱建議的編輯內容,並執行下列其中一項:
- 在聊天視窗中的「 總變更 」中保留或捨棄建議的編輯。
檢閱個別檔案差異,並有選擇地套用它們。
- 要審查代理所做的個別程式碼變更,請在每個步驟檢視該變更。
要檢視代理所做的個別程式碼變更,請使用以下選項之一:
- 在每個步驟中查看具體變更。
檢視你上次保留或撤銷變更時累積的變更。
- 繼續迭代程式碼變更以完善編輯或實現更多功能。
了解代理模式工具
代理模式可使用以下工具回應請求:
- 內建工具
- 模型內容通訊協定 (MCP) 工具
- 提供特定任務指示的客服技能
小提示
Visual Studio 也包含內建代理程式,如 @debug、@profiler、@test 以及 @vs,這些都能與特定 IDE 功能整合。 在代理模式下, @debug 可引導錯誤重現、儀器與遙測收集,並修正驗證。 你也可以為團隊工作流程建立自訂代理。 更多資訊請參閱 GitHub Copilot 中的 使用自訂代理程式。
若要檢視和管理客服專員模式下可用的工具,請選取聊天視窗中的 工具 圖示。
根據工具的結果,Copilot 可能會調用其他工具來完成整體請求。 例如,若程式碼編輯導致檔案語法錯誤,Copilot 可能會嘗試其他方法,建議不同的程式碼變更。
您透過執行 MCP 伺服器新增的其他工具不會自動啟用。 預設情況下,這些核取方塊未被選取,必須選取它們才能啟動工具。
find_symbol工具
find_symbol工具將語言感知的符號導航直接帶入代理模式。 啟用後,Copilot 會自動使用 find_symbol來:
- 找出你專案中所有與符號相關的參考資料
- 存取元資料,如類型資訊、聲明和範圍
啟用工具後,Copilot 會自動在回答問題或建議程式碼變更時使用它。
支援的語言包括 C++、C#、Razor 和 TypeScript,以及任何已安裝支援語言伺服器協定(LSP)擴充功能的語言。
對於 C++ 專案,代理模式也能使用 C++ 工具來導航呼叫與類別階層。 欲了解更多資訊,請參閱 C++ 程式碼編輯工具。
為了達到最佳效果,請撰寫明確的提示,並使用支援工具呼叫的 AI 模型。 欲了解更多模型能力資訊,請參閱 AI 模型比較(GitHub 文件)。
C++ 程式碼編輯工具
當 Copilot Chat 的 Tools 清單啟用 C++ 程式碼編輯工具時,代理模式可以使用以下 Visual Studio 專用工具:
-
get_symbol_call_hierarchy穿越呼叫階層 -
get_symbol_class_hierarchy用於導覽類別與類型階層
這些工具幫助代理推理 C++ 關係,使其能做出更精確的導航與編輯決策。 要使用這些工具,請安裝 使用 C++ 的桌面開發 工作負載。 當這些工具可用並啟用後,代理模式會在適用時自動使用它們。
管理工具核准流程
當 Copilot 呼叫工具時,會請求確認以執行該工具。 原因是工具可能會在您的電腦上本機執行,並執行修改檔案或資料的動作。
在聊天視窗中,在工具執行後,使用 允許 下拉選單選項,自動確認本次會話或解決方案的特定工具,或所有未來的使用。
您可以在 「工具>選項」 窗格中重設工具確認選項。 展開 所有設定>GitHub>Copilot>工具
您可以在 「工具>選項」 對話方塊中重設工具確認選擇。 展開 GitHub>Copilot>Tools 區塊。
接受或拒絕編輯
Copilot 會在聊天視窗的 Total changes 列表中列出已編輯的檔案。
選取每個檔案以個別檢閱變更。 您可以保留或復原對每個程式碼區塊所做的編輯。
或者,在「變更總計」清單中,針對自上次選取「保留」或「復原」以來所做的所有編輯,選取「保留」或「復原」。
小提示
自 Visual Studio 2026 版 18.6 起,您可以使用 多檔案摘要差異檢視,在單一索引標籤中查看 Copilot 在多個檔案中的所有變更,並使用細部的接受與復原控制項。
還原編輯
當您要求程式碼編輯時,您可能想要還原一些變更。 若要還原,請選取在提示之前的檢查點旁邊的 [還原],提示中包含您不想要的變更。
目前,Visual Studio Copilot 代理不支援逐步撤銷或重做。
中斷代理模式要求
若要中斷進行中的要求,您可以取消它。 取消請求會停止所有正在運行的工具和終端機命令。
若要停止組建,請選取頂端工具列上的建置,然後選取取消。 或使用 Ctrl+Break 鍵盤快速鍵。
代理模式下的規劃
這很重要
在代理模式下規劃是一種在代理模式下進行的會議規劃工作流程。 若想獲得更完善、專屬的規劃體驗,請使用作為獨立聊天模式的 Plan 代理。 它會先擬定計畫,再使用 執行計畫 將其交由後續執行。
Planning 在代理模式下,Copilot能將複雜或多步驟的請求拆解為結構化且可追蹤的任務,然後再執行。
當「規劃」功能啟動時,Copilot:
- 創建一個 面向用戶的 Markdown 計劃 ,概述目標和進度。
- 維護一個內部 JSON 計劃 (
plan-{sessionId}.json),作為 LLM 可讀的暫存本,用於步驟追蹤、推理和協調。
這種結構幫助 Copilot 保持一致性,動態更新計畫,並讓開發者能清楚掌握其運作內容。
運作方式
請求分析
當任務需要多步驟時,Copilot 會進入規劃模式。
計劃創建
- Markdown 計劃:以可讀的格式描述任務、步驟和進度。
- JSON 計劃:一種結構化、LLM 可讀的格式,以機器可解析的形式捕獲相同的計劃。 此 JSON 檔案允許 Copilot 在各回合持續更新與解讀計畫。
執行和迭代
Copilot 執行計畫中的每個項目,並在過程中更新兩個檔案。
- 降價計劃會在編輯器中明顯更新。
- 隨著 Copilot 不斷優化、重新排序或調整步驟,JSON 計畫會在幕後演進。
儲存空間
這兩個檔案都儲存在 C:\Users\username\AppData\Local\Temp\VisualStudio\copilot-vs.
規劃中使用的工具
啟用規劃後,一組專用的內部工具會啟動。 這些工具協調 Copilot 在執行過程中如何建立、更新及最終定稿計畫。
| Tool | Description |
|---|---|
| 計劃 | 從使用者要求產生初始結構化計劃。 |
| adapt_plan | 根據新的背景或回饋完善或調整計劃。 |
| 更新計劃進度 | 更新步驟完成狀態並同步計劃狀態。 |
| record_observation | 擷取影響後續動作的執行階段結果或見解。 |
| finish_plan | 完成所有步驟後,完成計劃。 |
這些工具讓 Copilot 能逐步管理多步驟工作流程,維持執行狀態,並與使用者意圖保持一致。
啟用和管理規劃工具
若要啟用 Planning:
打開 Tools>Options 窗格,展開 所有設定>GitHub>Copilot>Copilot Chat 區塊。
選取 啟用規劃 核取方塊。
要在 2022 Visual Studio 17.14 或更新版本中啟用 Planning:
打開 Tools>Options對話框,並展開 GitHub>Copilot 區塊。
選取啟用規劃核取方塊,然後選取確定。
啟用規劃之後, 規劃 工具會出現在聊天視窗的 [工具] 清單中:
你可以選擇性地在聊天視窗 的工具清單中 直接停用規劃工具組。 如果你需要關閉規劃工具,請關閉所有工具,不要只關閉一個。 變更會立即套用至您目前的聊天會話。
小提示
停用個別工具可讓您在開發期間試驗不同的規劃行為或偵錯特定步驟。
局限性
- 系統會暫時儲存計畫,並在會話結束時刪除,除非你手動儲存。
- 結構化狀態追蹤會帶來輕微的額外延遲。
- 某些專業代理可能尚未支援計畫。
在實施前先制定計畫
如果你想在程式碼變更前就達成共識,可以使用 GitHub Copilot plan agent。 計畫代理會使用唯讀工具探索你的程式碼庫,在 .copilot/plans/ 中草擬實作計畫,並讓你在以 實作計畫 將其交給代理模式之前,先進一步調整該計畫。
常見問題
代理程式模式對我的檔案有何可見性?
代理模式只能操作:
- 屬於解決方案一部分的本機檔案。
- 位於開啟解決方案目錄或其子目錄中的本機檔案。
代理程式模式無法存取透過檔案排除排除的檔案和目錄。
對於終端機指令,代理模式的權限與執行中的 Visual Studio 程序相同,且不受上述限制限制。 在執行建議的終端機命令之前,請仔細檢閱它們。
我在 Copilot Chat 視窗裡看不到詢問、計畫或代理人選項
依指定的順序執行下列疑難排解步驟:
請確定你使用的是 Visual Studio 17.14 或更新版本。
請查看版本:Help>About Visual Studio。
如果你沒有使用版本 17.14 或更新版本,請打開 Visual Studio 安裝程式並更新你的建置。
確認已選取在 聊天窗格中啟用客服專員模式 選項。
在 Tools>Options 面板中,展開 所有設定>GitHub>Copilot>Copilot Chat 區塊, 並確認該選項已被選中。
在 Tools>Options對話框中,展開 GitHub>Copilot 區塊,並確認該選項是否在 Copilot Chat 中被選中。
試著重啟 Visual Studio。
我應該在什麼時候使用詢問模式、計劃代理人,或代理人模式?
- 當你想確保除非你明確選擇 套用,或自行複製並貼上程式碼,否則不會進行任何程式碼編輯時,請使用詢問模式。
- 當您想Copilot探索程式碼庫、提出澄清問題,並在開始任何程式碼變更前建立可檢視的實施計畫時,請使用 Plan agent。
- 使用代理模式處理相同的概念問題,並生成程式碼範例而不套用,並結合代理編輯程式碼的功能。
- 如果你想使用 MCP 功能,必須選擇代理模式。
Visual Studio 裡的 Copilot 編輯功能發生了什麼事?
代理模式是 Copilot Edits 的演進版本,具備更強的錯誤迭代、使用工具及自動套用程式碼變更的能力。
在 2022 Visual Studio 版本 17.14 的初始版本中,如果聊天面板 選項中未選擇
作為管理員,我該如何控制 Visual Studio 使用者使用 agent 模式?
管理員可透過 GitHub Copilot 儀表板上的 Editor preview features 旗標,在 Visual Studio 中控制代理程式模式。 如果管理員關閉這個設定,該訂閱的使用者就無法在 Visual Studio 中使用代理模式。
欲了解更多資訊,請參閱 管理企業GitHub Copilot政策與功能。