
近來,GitHub 發表了一個新功能:Agent Mode(代理模式)。這模式的目標,是讓 Copilot 不只是「跟著你做提示(prompt)」或補完程式碼,而是能「替你動手做」—自動執行整個工作流程或多步驟任務,幫你處理那些耗時、重複或次要的工作,讓你能把注意力放在領域設計、架構思考、核心邏輯等比較高階的部分。
一、什麼是 Agent Mode?
企業或資深開發者常常會需要的不只是單一步驟的提示,而是:「我想做某件事」,讓工具幫你拆解流程、自動執行並修正錯誤。Agent Mode 正是這樣一個模式:它是一個同步(real-time)的、自主(agentic)的協作者,當你用自然語言告訴它需求,它會理解你的意圖,規劃解決方案、執行、測試、修正,直到結果符合預期為止。
Agent Mode 的核心能力包括:
- 分析你的整個程式碼庫,以獲得上下文資訊
- 規劃並執行多步驟方案(multi-step tasks)
- 執行命令或測試指令(run commands / tests)
- 利用外部工具(或擴充工具)完成特定任務
- 建議架構改善或設計優化
- 自主檢查錯誤並修正(agentic loop)—包含規劃、修改、測試與迭代
簡單來說,你給一個高階需求,它會幫你想怎麼做、做什麼步驟、做哪幾個檔案的改動、跑測試、看看哪裡有錯誤,再自動修正。你在過程中可以觀察它如何思考、決定與使用哪些工具。
二、Agent Mode 跟其他工具/模式的比較
為了清楚理解這模式的定位,下面是與 GitHub 中其它相關功能的對比:
| 功能/模式 | 定義/特點 | 適用情況 |
|---|---|---|
| Agent Mode | 同步(real-time)、多步驟任務、自主檢查與修正,能呼叫外部工具、自動化流程。The GitHub Blog | 新功能開發、代碼重構、測試撰寫、語言/技術棧遷移、原型驗證等需要完整流程的任務。 |
| Coding Agent | 異步(asynchronous)的 agent,能在後台執行任務,例如解問題、回應人類反饋。The GitHub Blog | 長期任務、自動化腳本、需要持續處理 issue 或支援請求等。 |
| Code Completion(程式碼補全) | 在你輸入時即時補齊程式碼片段,只針對短程式碼片段的補全建議。The GitHub Blog | 編寫函式、補一行或一段程式碼,效率型小改動。 |
三、Agent Mode 的工作機制
它是怎麼運作的?核心流程大致如下:
- 你提出需求:用自然語言描述你要達成的目標,例如「我想要把這個專案從 Python 遷移到 Go」、「我想新增單元測試/整合測試」,或「幫我重構這一組程式碼使它更模組化」。
- 系統整合背景資訊:Agent Mode 會擷取你的工作空間 (workspace) 結構、機器環境(machine context)、工具說明、程式碼庫摘要等資訊,好讓模型理解目前狀態與限制條件。
- 規劃與執行:模型規劃執行步驟,開始進行改動/測試/命令操作。這可能包括修改多個檔案、呼叫終端指令、建立新檔案、跑測試套件等。
- 錯誤檢測與修正:在過程中,如果有語法錯誤、測試失敗、build 錯誤等,Agent Mode 會嘗試修正,或者請你提供回饋調整。這是一個不斷迭代(agentic loop)的過程。
- 使用工具與擴充能力:你可以選擇讓 Agent Mode 使用哪些內建工具,如
read_file、edit_file、run_in_terminal等;也可以透過 MCP(Model Context Protocol)伺服器或擴充插件連接外部工具或服務來增強其能力。
四、Agent Mode 的應用情境與案例
常見用途
- 重構現有程式碼(Refactoring)
- 專案遷移(Migrating project)到新語言或新技術棧
- 撰寫測試(Writing tests)
- 現代化舊有或過時的程式碼(Legacy code modernization)
- 自動修復程式碼產生時的錯誤(autofixing code gen errors)
- 新增功能(Adding new features)
- 根據功能規格或 UI 草圖進行原型設計(Prototyping)
- 實現非功能需求或樣板程式碼(non-functional requirements or boilerplate)
- 規劃/界定新功能要做哪些工作(Scoping & planning)
- 非程式碼類的工作,比如文件撰寫(documentation)
開發者經驗
一個例子是 Zhe-You Liu(Apache Airflow 的 contributor)曾經使用 Agent Mode + GPT-4o/Claude 3.7,在他們的開源 histograms(直條圖)可視化腳本上做改造。他讓 Agent Mode 將傳統的 matplotlib 圖表改成具有動畫與 SVG 輸出的線條圖(animated line charts + SVG),第一次就生成了一個完美的 SVG Histogram。這樣的智慧幫助不僅加快開發,也改變了他做原型與重構的方式。
五、如何開始使用 Agent Mode
想實際用起來?以下是操作步驟和配置提示:
- 開啟 VS Code,進入 Copilot Chat 視圖(Chat view)裡,從模式(mode)下拉選單選擇 Agent 模式。
- 在 Visual Studio(VS)中也可以 預覽(preview) Agent Mode。
- 配置工具(tools):在 Agent Mode 裡會有一個工具按鈕(tools button),你可以新增或設定你要 Agent 使用的工具(閱讀檔案、編輯、終端機命令等)以擴充功能。
- 選擇模型(Model):從模型下拉選單選你想使用的 LLM,例如內建模型/外部模型。模型選擇會影響輸出品質與效能。
六、搭配其他功能與實踐建議
為了讓 Agent Mode 用得更順、效果更好,這裡有一些建議與相關功能搭配方法:
- 使用 Custom Instructions(客製指令):指定你希望 Copilot 在程式碼中遵守哪些風格、架構、測試框架等。這樣 Agent Mode 的輸出會更貼近你的代碼風格或團隊慣例。
- 搭配其他 Chat 模式:GitHub Copilot 還有 Ask Mode(提問模式) 和 Edit Mode(編輯模式)。如果只是想詢問某段代碼在做什麼或要了解概念,用 Ask Mode;想在多個檔案進行改動但控制比較多細節的,用 Edit Mode。Agent Mode 則適合從高階需求一路自動往下拆任務。
- 提供足夠上下文與明確需求:給 Agent Mode 的 prompt/需求越具體、越完整,包含你希望結果的樣子或範例、程式碼庫的背景、哪些檔案不能動、哪些工具/框架要用等,往往結果會越準。
- 持續檢查與回饋:即使 Agent Mode 很強,也建議你在過程中 review(審查)它的改動、測試結果、效能等,以確保整體質量符合需求。
七、小結與未來展望
Agent Mode 是 GitHub Copilot 的重大功能升級,它讓 AI 不再只是補全或協作,而可自主執行開發流程、處理錯誤、呼叫工具,甚至整合外部資源。對多數開發者來說,這意味著可以節省很多時間與精力,把注意力放在更有價值的設計與思維層面。
未來可以期待的方向包括:
- 更精細的錯誤預測與自我修復能力
- 更強的多工具/多平臺整合能力
- 改善用戶介面與使用者體驗,讓設定與監控更直觀、透明
- 在企業環境中更完善的權限與安全控制政策
參考資料
- GitHub 博客 — “GitHub Copilot Agent Mode 101”,認識Agent Mode 功能。 The GitHub Blog
- GitHub 博客 — “GitHub Copilot: The agent awakens”,介紹 Agent Mode 的推出與功能細節。 The GitHub Blog
- GitHub 文檔 — “Use Copilot Agent Mode in Visual Studio (Windows)”,說明如何在 Visual Studio 開啟與操作 Agent Mode。 Microsoft Learn
- GitHub 文檔 — “Enhancing GitHub Copilot agent mode with MCP”,介紹 MCP 如何與 Agent Mode 結合以擴展能力。 GitHub Docs
- GitHub 文檔 — “Context passing for your agent”,說明 Agent 如何接收與使用 IDE 中的上下文(檔案內容、選擇範圍、倉庫資訊等)。 GitHub Docs
- 開發者實作案例 — “My Practical Dive into GitHub Copilot Agent Mode”(Dev.to),展示實際操作與心得。




