為所有程式碼代理程式打造統一的體驗

2025 年 11 月 5 日,由 VS Code 團隊發布,@code

特別感謝 Rob Lourens、Bhavya U、Matt Bierner、Peng Lyu、Osvaldo Ortega、Josh Spicer、Brigit Murtaugh、Martin Aeschlimann、Alex Britez 和 Harald Kirschner 對這些功能所做的貢獻。

如果我們必須選出一個詞來形容過去這一年,那大概就是「代理程式」(Agent)。

代理程式在 2025 年接管了 VS Code。我們發布了適用於 VS Code 的代理程式模式 (agent mode)、整合了 Copilot 程式碼編寫代理程式(雲端),以及全新的 GitHub Copilot CLI。但 Copilot 並非市場上唯一的代理程式選擇,現在有比以往更多的程式碼編寫代理程式可供選擇,包含來自 OpenAI 和 Anthropic 的產品。

面對如此多的選擇,開發者的處境雖有所改善,但代理程式生態系統卻變得更加碎片化。頻繁更換訂閱、忙於切換不同工具,以及對最新代理程式趨勢的持續焦慮(FOMO)已成為常態。今年在 GitHub Universe 大會上,我們致力於透過 VS Code 中統一的代理程式體驗來解決這個問題。實現這一目標的第一大步,就是讓您的 Copilot 訂閱能使用更多的代理程式,而不僅僅是名稱中帶有「Copilot」的那些。

OpenAI Codex 整合

OpenAI 經歷了輝煌的一年:他們推出了 GPT-5 和 GPT-5 Codex 模型,並從第一天起就能透過標準模型選擇器在 VS Code 中使用。此外,他們還推出了 Codex,這是一款編寫程式碼的代理程式,同時以 CLI 工具和 VS Code 擴充功能的形式提供,並在開發者中大受歡迎。

在 GitHub Universe 大會上,我們宣布您現在可以使用 GitHub Copilot Pro+ 訂閱來使用 OpenAI Codex,無需額外付費訂閱。

若要使用此整合功能,請安裝 OpenAI Codex 擴充功能並使用 GitHub Copilot 帳號登入。

OpenAI Codex sign-in panel in VS Code

當您透過 Copilot Pro+ 使用 Codex 時,Copilot 會處理所有模型呼叫,並適用標準的速率限制。您可以使用程式碼生成、程式碼解釋及所有功能,無需管理獨立的 OpenAI 帳號。

隨著 Codex 的加入,您現在可以在 VS Code 中使用四種強大的程式碼編寫代理程式:

  • GitHub Copilot
  • Copilot 程式碼編寫代理程式(雲端)
  • GitHub Copilot CLI
  • OpenAI Codex

但面對這麼多代理程式,很容易感到不知所措。哪些代理程式正在執行?它們在哪裡執行?今天是哪一天?

這就是為什麼我們在 VS Code 中引入了一項名為「代理程式工作階段」(Agent Sessions) 的新功能,用於協調您所有的代理程式(無論是本機還是雲端)。

代理程式工作階段

VS Code 側邊欄中出現了一個名為「代理程式工作階段」的新檢視畫面。它為您提供了一個集中管理所有代理程式的地方,無論它們是在本機還是在雲端執行。

VS Code window with Agent Sessions sidebar showing Copilot, Coding Agent, CLI, and Codex statuses against a calm gray workspace

透過「代理程式工作階段」,您可以查看專案中所有的代理程式工作階段。您可以檢查哪些代理程式正在執行、確認它們的狀態,並透過點擊在不同工作階段之間切換。

現在,所有的代理程式都擁有一種名為「聊天編輯器」(chat editors) 的全新分頁式體驗。您可以在聊天編輯器中開啟 Copilot 程式碼編寫代理程式來觀察其進度。您甚至可以在代理程式執行途中進行修正。我們常會在傳送提示詞後才發現遺漏了重要事項,過去您只能等待或取消。現在,只需開啟該分頁、加入更新,然後看著代理程式調整其計畫即可。

您也可以直接從「聊天」視圖中,將任何任務委派給任何代理程式。

VS Code showing the "Delegate" button from the chat, when clicked opens a menu of agents to delegate to

這個統一的「代理程式工作階段」視圖使 VS Code 成為協調所有代理程式的「任務控制中心」,同時讓您保持在執行核心工作的編輯器中。我們很高興在今天迎來 OpenAI Codex,未來我們也致力於將更多代理程式納入您的 Copilot+ 訂閱中。

規劃代理程式 (Planning Agent)

幾個月前,我們在 VS Code 中引入了「聊天模式」(chat modes) 的概念。這些是自訂模式,讓您可以增強或改變內建代理程式提示詞的行為。當您使用聊天模式來改變 VS Code 中代理程式的行為時,實際上您是在建立自己的自訂代理程式。因此,我們將「聊天模式」重新命名為「代理程式」,以更準確地反映它們的本質。

為了協助您開始建立自訂代理程式,我們加入了一個名為「Plan」(計畫)的全新內建代理程式。

Copilot chat in VS Code with Plan agent dropdown highlighted, planning guidance beside dark theme editor, label reads Plan for a focused tone.

新的「計畫」代理程式有助於將類似「加入拖放功能」這種模糊的提示詞,轉化為詳細的計畫。這是我昨天實際發送的提示詞,完全沒提到要加入什麼、在哪個頁面,或是該使用哪個函式庫。我經常這樣做,我相信我並不孤單。

有了「計畫」代理程式,Copilot 會主動提出需要回答的問題。它甚至會推薦用於拖放功能的函式庫,並提供選擇特定函式庫的理由。

Plan agent breaking down drag-and-drop into steps recommending React Beautiful DnD and React DnD with comparisons.

您可以透過在不同行快速回覆來回答這些問題,讓它知道哪個答案對應哪個問題。以下是我會如何回答的方式:

dnd-kit
yes - what kind of a question is this in 2025
link creation only

專業小撇步:將「workbench.action.chat.submit」的鍵盤快速鍵更改為「Ctrl + Enter」,這樣您就不會在只想換行時意外送出訊息。您的「罵人罐子」(swear jar) 會感謝您的。

當「計畫」代理程式獲得足夠的資訊後,它會停止提問並詢問您是否準備好繼續。您可以使用聊天中新的「Handoff」(交接)功能來繼續執行或在編輯器中開啟完整的計畫。

Screenshot showing the Handoff feature in Copilot chat with options to proceed with implementation or open the plan in the editor.

您可以嘗試不同的模型,看看哪一個最適合您的規劃需求。我們發現 Claude 模型非常擅長識別缺失的上下文和邊緣情況,並提出正確的問題。

如果您像我一樣,會想知道「計畫」代理程式是如何運作的,以便提升您的提示詞工程技巧。您可以透過指令選擇面板 (Command Palette) 選擇「Configure Agents」,然後選擇「Plan」來閱讀其提示詞內容。這是建立您自己自訂代理程式的絕佳基礎。我曾利用它建立了一個名為 "Research" 的代理程式,用於遞迴進行網路研究並撰寫報告。

當您將任務委派給 Copilot CLI 或 Copilot 程式碼編寫代理程式時,這些自訂代理程式也同樣適用。您的自訂代理程式能在任何需要的地方運作。

專業小撇步:您可以在 awesome-copilot 儲存庫中找到數百種自訂指令、提示詞檔案和代理程式。如果您還沒逛過,那真的錯過太多了。那裡是靈感與現成提示詞的寶庫。

子代理程式

上下文混亂 (Context Confusion) 是使用代理程式時的一個實際問題。互動越多,它們追蹤的上下文就越多,發生混亂的可能性也越高。目前有一門管理上下文的新學科,稱為「上下文工程」(Context Engineering)。

在最新的 VS Code 發布中,我們加入了一個名為「runSubagent」的工具來幫助您管理上下文。

子代理程式 (Subagents) 與主要聊天分開執行,並擁有自己的上下文。您可以透過在提示詞中加入 #runSubagent 工具來呼叫它。LLM 會建立一個提示詞並交接給子代理程式,該代理程式只會接收您發送的特定上下文。它對您的其餘聊天內容一無所知,而您的主要聊天內容也對子代理程式的上下文一無所知。子代理程式不會因回饋而暫停,並且擁有與主聊天室相同的大部分工具存取權。

當子代理程式完成任務時,它會將最終結果返回給主聊天室,且只有該結果會進入主要上下文。子代理程式讓您的主聊天室保持簡潔,同時讓您可以進行側邊任務和深入研究。例如,如果您正在建立 API 並需要研究驗證 (authentication),您可以啟動一個子代理程式來處理。

Analyze the #file:api with #runSubagent and recommend the best authentication strategy for a web client consuming these endpoints.

您會知道子代理程式正在執行,因為您可以在子代理程式操作下方看到工具呼叫和模型回應。在下方的截圖中,那就是「Analyze app structure for auth」。

A subagent process running in VS Code with tool calls underneath the main agent action

我們仍在探索幫助您管理代理程式上下文的方法,而子代理程式僅僅是一個開始。

展望未來

代理程式正在改變我們撰寫程式碼與工作的方式。您不應該被迫只能選擇一個。您應該能夠在不同代理程式之間自由切換、對上下文保持細粒度的控制,並建立自己的自訂代理程式來擴充各種內建的代理程式提示詞。透過 VS Code 中統一的代理程式體驗,您現在可以完成上述所有事情。

以上僅是今年 GitHub Universe 的部分重點。請關注 GitHub 部落格以獲取所有更新,我們正致力於為您需要的一切場景,打造多代理程式體驗的統一工作流程。

最後我想說:就在 12 個月前,我們才剛宣布「Copilot Edits」和 Copilot 對 Claude 的支援。以此發展速度,想像一下 12 個月後我們會達到什麼樣的境界。

一如既往,祝您編碼愉快!💙

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