代理程式
Agent 是一個能自主規劃並執行編碼任務的 AI 系統。您給予 Agent 一個高階目標,它會將其拆解為多個步驟,利用工具執行這些步驟,並在遇到錯誤時自行修正。本文將說明 Agent 的核心架構:Agent 迴圈、Agent 類型、子代理、記憶與規劃。
Agent 迴圈
當您給予 Agent 一項任務時,它會遵循 Agent 迴圈。這種模式在現代 AI 助理中非常常見。在 VS Code 內,Agent 是負責規劃與採取行動的系統,而語言模型則產生用來指導這些行動的回應。
在每個步驟中,Agent 會評估其進度並選擇下一個動作。它可能會開啟檔案以瞭解 API、進行編輯,然後執行命令以驗證變更是否生效。每個動作的輸出會成為下一次決策的輸入。

Agent 迴圈通常包含三個高階階段
- 理解。 Agent 讀取檔案、搜尋程式碼庫並查閱文件,以瞭解需要進行哪些變更。
- 行動。 Agent 修改程式碼、執行終端機命令、安裝相依性,或透過工具呼叫外部服務。
- 驗證。 Agent 執行測試、檢查編譯器錯誤並審查自己的變更。如果出錯,它會繼續反覆執行。
Agent 使用語言模型來推論最佳行動方案。然而,如果沒有與環境互動的能力,模型僅限於提供一般性回應。透過工具,Agent 在每個步驟發出工具呼叫以收集資訊並採取行動,例如讀取檔案、修改程式碼、執行終端機命令以及聯繫外部服務。
Agent 根據需要將這些動作串連在一起,直到完成任務。回答有關程式碼庫的問題可能只需讀取幾個檔案。實作新功能通常會循環進行編輯、執行測試、診斷失敗並再次編輯,直到測試通過為止。
在幕後,VS Code 會將目前的上下文組合成提示詞並發送給語言模型。模型會以文字、程式碼編輯或工具請求作為回應。當工具執行時,其輸出會被添加到下一次迭代的上下文中,此循環會不斷重複直到任務完成。
您在整個過程中保持主導權。您可以發送新訊息來重新引導 Agent、添加上下文或建議不同的方法。有關審查變更和管理 Agent 行為的更多資訊,請參閱信任與安全。
自訂 Agent 迴圈
Agent 迴圈並非一成不變,每個專案可能有所不同。有多種選項可個人化 Agent 的行為
- 自訂 Agent 可讓您定義不同的角色 (Persona),每個角色都有自己的指令、可用工具、語言模型,並可選擇交辦給另一個 Agent。
- 透過 Agent 技能,您可以教導 Agent 針對特定領域或任務的新能力。
- 掛鉤 (Hooks) 會在 Agent 迴圈中的特定生命週期點執行自訂命令。
深入瞭解自訂概念。
Agent 類型
根據您何時需要結果以及需要多少監督,Agent 會在不同環境中執行。兩個關鍵維度是 Agent 執行的位置(您的電腦或雲端)以及您與其互動的方式(互動式或在背景自主執行)。

深入瞭解在 VS Code 中使用 Agent,包括一份決策表,協助您為任務選擇正確的 Agent 類型。
子代理程式
處理複雜任務時,主 Agent 可以將子任務委派給子代理 (Subagent)。子代理是一個獨立的 AI Agent,執行特定工作(例如研究主題或分析程式碼),並將結果回報給主 Agent。
子代理的主要好處是上下文優化。如果沒有子代理,研究期間的每次檔案讀取、搜尋結果和中間步驟都會累積在主 Agent 的上下文視窗中,可能會擠掉重要資訊。子代理在獨立的上下文視窗中執行工作,且僅傳回摘要,讓主對話專注於眼前的任務。
子代理的關鍵特性
- 上下文隔離:每個子代理在自己的上下文視窗中執行。它不會繼承主 Agent 的對話記錄或指令。它僅接收任務提示詞。
- 同步執行:主 Agent 會等待子代理的結果才繼續,因為子代理的發現通常會指導下一步行動。
- 平行執行:VS Code 可以同時產生多個子代理,以同時執行安全性、效能和無障礙分析等任務。
- 聚焦結果:僅將最終結果傳回給主 Agent,保持主上下文聚焦並減少 Token 使用量。
例如,內建的規劃 Agent (Plan agent) 在建立實作計畫之前,會使用子代理進行研究與分析。每個子代理自主工作並僅傳回其發現。
深入瞭解使用子代理。
記憶體
Agent 使用記憶來跨對話保留上下文。Agent 不會在每次工作階段都從頭開始,而是會回想您的偏好、應用先前任務的教訓,並隨著時間建立有關您程式碼庫的知識。
VS Code 支援兩個互補的記憶系統
- 記憶工具:這是一個內建工具,可將筆記儲存在您的本機電腦上,分為三個範圍
- 使用者記憶 (
/memories/):跨所有工作區和對話持久存在。前 200 行會自動載入到每個工作階段中。 - 存放庫記憶 (
/memories/repo/):範圍僅限於目前工作區,跨對話持久存在。 - 工作階段記憶 (
/memories/session/):範圍僅限於目前對話,結束後即清除。
- 使用者記憶 (
- Copilot 記憶:這是一個由 GitHub 代管的記憶系統,可跨 Copilot 介面(編碼 Agent、程式碼審查、CLI)擷取特定存放庫的見解。除了 VS Code 之外,也在 GitHub Copilot 中共用。
深入瞭解 VS Code Agent 中的記憶。
規劃
對於複雜任務,直接跳入程式碼產生可能會導致實作不完整或架構決策錯誤。內建的規劃 Agent (Plan agent) 會與您合作研究任務,並在進行任何程式碼變更前建立詳細的實作計畫。這能確保在 Agent 開始撰寫程式碼之前,已理解需求、識別出邊緣案例,且您已同意該方法。
規劃 Agent 使用四階段的反覆工作流程
- 探索:使用唯讀工具和程式碼庫分析來研究任務。
- 對齊:提出釐清問題以解決模糊之處。
- 設計:起草結構化的實作計畫。
- 精煉:根據您的回饋反覆調整計畫。
在計畫經過審查並核准之前,規劃 Agent 不會進行程式碼變更。核准後,您可以將計畫移交給預設 Agent 或將其儲存以供進一步精煉。
深入瞭解使用 Agent 進行規劃。