本文說明如何在整合式開發環境 (IDE) 中,設定及使用 Gemini Code Assist 代理程式模式,做為結對程式設計師。
VS Code 支援代理模式。
在代理程式模式下,你可以透過下列方式使用 Gemini Code Assist:
- 詢問程式碼相關問題。
- 在代理程式模式下使用內建工具和背景資訊,改善生成的內容。
- 設定 MCP 伺服器,擴充代理程式的功能。
- 取得多步驟複雜工作的解決方案。
- 根據設計文件、問題、
TODO
註解生成程式碼。 - 在執行期間,您可以透過註解、編輯及核准計畫和工具使用情形,控制代理程式行為。
代理程式模式的運作方式
在代理程式模式中,系統會將提示連同可用工具清單傳送至 Gemini API。Gemini API 會處理提示並傳回回覆。回覆內容可能是直接答案,也可能是要求使用可用工具。
當要求使用工具時,代理程式會準備使用工具,並檢查是否允許在沒有明確權限的情況下使用工具。如果工具要求會修改檔案系統,或對任何資源執行變更作業,Gemini 會要求您允許作業,除非您已將 Gemini 設定為一律允許該工具或工具。如果是唯讀工具要求,系統可能不會先要求權限,再完成工作。系統要求允許使用工具時,您可以選擇允許或拒絕這項作業。代理程式也可能會提供選項,讓您一律允許工具或伺服器,或允許類似作業。
獲得使用工具的權限後,代理程式會使用工具完成必要動作,並將動作結果傳回 Gemini API。Gemini 會處理工具動作的結果,並生成另一則回覆。這個行動和評估的循環會持續進行,直到工作完成為止。
如果是複雜的工作,Gemini 可能會顯示高階計畫,請先核准。開始程序前,你可以在對話中微調計畫並提出問題。如果對企劃書感到滿意,可以核准。 代理程式會開始處理第一項工作,並在執行計畫時視需要要求你提供說明或權限。
代理模式脈絡
背景資訊可讓代理程式根據特定提示生成更優質的回覆。你可以從 IDE 中的檔案、本機系統資料夾中的檔案、工具回應和提示詳細資料取得情境資訊。
視 IDE 和設定而定,代理程式可用的情境可能有所不同。
在代理程式模式下,Gemini Code Assist 通常可透過下列方式取得內容:
- IDE 工作區中的資訊。
- 來自 grep、終端機、檔案讀取或檔案寫入等內建工具的工具回應。
- Google 搜尋回覆。
- 提示或工具中提供的特定網址內容。
- 您可以在 Markdown 中建立情境檔案,並將範圍設為所有專案、特定專案,或專案特定元件、模組或子章節的特定指令。脈絡檔案可以包含指令、指南或脈絡,讓 Gemini 在代理程式模式的互動中瞭解相關資訊。
代理模式記憶體
Gemini Code Assist 代理程式模式會運用 Gemini CLI 記憶體探索服務,找出並載入可為代理程式提供背景資訊的 GEMINI.md
檔案。記憶體探索服務會從目前的工作目錄開始,依階層搜尋檔案,然後向上移動至專案根目錄和主目錄。系統也會搜尋子目錄。
您可以擁有全域、專案層級和元件層級的內容檔案,這些檔案會合併,為模型提供最相關的資訊。
您可以使用 /memory show
指令查看所有已載入 GEMINI.md
檔案的合併內容,並使用 /memory refresh
指令重新載入這些檔案。
Gemini CLI 擴充功能
在 VS Code 中,您可以使用 Gemini CLI 擴充功能,設定及擴充 Gemini Code Assist 代理程式模式功能。
代理程式會在兩個位置尋找擴充功能:
WORKSPACE/.gemini/extensions
,其中WORKSPACE
是目前的工作區。~/.gemini/extensions
,其中~
是主目錄。
代理程式會從這兩個位置載入所有擴充功能,但如果兩者都有名稱相同的擴充功能,則以工作區目錄中的擴充功能為優先。每個擴充功能都是包含 gemini-extension.json
檔案的目錄。這個檔案包含擴充功能的設定。
詳情請參閱「Gemini CLI 擴充功能」。
限制
使用代理程式模式時,請注意下列限制:
- 代理程式無法呼叫 Gemini Code Assist 工具。你必須退出 代理人模式才能使用這些工具。
- 代理程式無法使用程式碼自訂功能。如要使用程式碼自訂功能,必須先退出代理程式模式。
- 代理程式模式不支援有多個根目錄的專案。如果您在有多個根目錄的專案中使用代理程式模式,代理程式只會存取遇到的第一個根目錄。
- 代理程式模式不支援 Gemini for Google Cloud logs。
事前準備
- 設定 Gemini Code Assist。
- 將 Gemini Code Assist 發布管道設為「搶先體驗」版本:
- 開啟指令區塊面板 (
Cmd
+Shift
+P
),然後選取「Open User Settings JSON」(開啟使用者設定 JSON)。 - 在使用者設定 JSON 中加入下列程式碼:
"geminicodeassist.updateChannel": "Insiders",
- 開啟指令區塊面板 (
使用代理模式
在代理程式模式下,你可以要求 Gemini 完成高階目標和複雜工作。
如要充分發揮代理程式模式的效用,請遵循提示最佳做法,並盡可能提供詳細資訊。
如要切換至代理程式模式:
VS Code
- 如要開啟 Gemini Code Assist 對話,請在 IDE 的活動列中,點選 spark「Gemini Code Assist」。
- 按一下「代理程式」切換按鈕,進入代理程式模式。切換至服務專員模式時,切換按鈕會醒目顯示;切換至一般對話時,切換按鈕則會顯示為灰色。
- 在 Gemini Code Assist 對話中輸入提示。
Gemini 會回覆提示,或要求使用工具的權限。
如要停止代理程式,請按一下「停止」
。如要使用標準的 Gemini Code Assist 對話,請按一下「New chat」
建立新的對話。Gemini Code Assist 代理程式模式採用 Gemini CLI。
IntelliJ
IntelliJ 或其他 JetBrains IDE 的 Gemini Code Assist 不支援這項功能。
設定代理程式模式的工具
工具是廣泛的服務類別,代理程式可用於回應提示時的背景資訊和動作。舉例來說,內建工具 (例如 grep 和檔案讀取/寫入)、本機或遠端 Model Context Protocol (MCP) 伺服器,或是專屬服務實作項目,都是可用的工具。
設定 MCP 伺服器
如要控管代理程式模式中可用的伺服器,請按照伺服器說明文件,將伺服器新增至 Gemini 設定 JSON。
VS Code
- 安裝 MCP 伺服器所需的任何依附元件。
- 開啟位於
~/.gemini/settings.json
的 Gemini 設定 JSON,其中~
是您的主目錄。 按照伺服器操作說明,將本機或遠端 MCP 伺服器新增至 Gemini 設定 JSON。
下列範例會新增遠端 Cloudflare MCP 伺服器,並在本機安裝 GitHub 和 GitLab 伺服器。
{ "mcpServers": { "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-gitlab" ] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
開啟指令區塊面板,然後選取「Developer: Reload Window」(開發人員:重新載入視窗)。
代理程式可以代理程式模式使用您設定的 MCP 伺服器。
IntelliJ
IntelliJ 或其他 JetBrains IDE 的 Gemini Code Assist 不支援這項功能。
MCP 伺服器驗證
如果 MCP 伺服器需要驗證,您可以將其新增至 Gemini 設定 JSON。
以下範例會新增 GitHub 的個人存取權杖:
{
//other settings...
"github": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
},
// other settings...
}
其中 ACCESS_TOKEN
是使用者的存取權杖。
建立內容檔案
VS Code
在符合您要套用環境範圍的位置,建立名為
GEMINI.md
的檔案。下表詳細列出不同範圍的內容檔案位置:範圍 位置 所有專案 ~/.gemini/GEMINI.md
特定專案 工作目錄或任何上層目錄,直到專案根目錄 (由 .git
資料夾識別) 或主目錄為止。專案的特定元件、模組或子區段 工作目錄的子目錄。 代理程式的記憶體系統是從多個位置載入內容檔案所建立。來自更具體檔案 (例如特定元件或模組的檔案) 的內容,會覆寫或補充來自更一般內容檔案 (例如
~/.gemini/GEMINI.md
的全域內容檔案) 的內容。以 Markdown 格式撰寫任何規則、風格指南資訊或情境,供代理程式使用,然後儲存檔案。詳情請參閱 GitHub 上的範例內容檔案。
IntelliJ
IntelliJ 或其他 JetBrains IDE 的 Gemini Code Assist 不支援這項功能。
使用指令
如要查看 Gemini Code Assist 代理程式模式提供的 Gemini CLI 指令,請在 Gemini 對話中輸入 /
。
您可以在代理程式模式中使用下列 Gemini CLI 指令:
/tools
:顯示代理程式模式工作階段中可用的工具清單。子指令包括:desc
或descriptions
:顯示各項工具的詳細說明。nodesc
或nodescriptions
:隱藏工具說明,只顯示工具名稱。
/memory
:管理從GEMINI.md
檔案載入的代理程式指令內容。子指令包括:show
:顯示從所有可用GEMINI.md
檔案載入的目前記憶體完整串連內容。refresh
:從可用位置的所有GEMINI.md
檔案重新載入記憶體。如要瞭解GEMINI.md
檔案如何影響代理程式的階層式記憶體,請參閱 Gemini CLI 設定說明文件。
/mcp
:列出已設定的 Model Context Protocol (MCP) 伺服器、連線狀態、伺服器詳細資料和可用工具。子指令包括:desc
或descriptions
:顯示 MCP 伺服器和工具的詳細說明。nodesc
或nodescriptions
:隱藏 MCP 伺服器說明,只顯示 MCP 伺服器名稱。schema
:顯示 MCP 伺服器設定參數的完整 JSON 結構定義。
/stats
:顯示詳細的代理程式模式工作階段統計資料和時間長度。
如要進一步瞭解 Gemini CLI 指令,請參閱「Gemini CLI 指令」。請注意,並非所有 Gemini CLI 指令都適用於代理程式模式。
Yolo 模式
你可以使用 yolo 模式自動允許所有代理程式動作。
如要設定 yolo 模式,請按照下列步驟操作:
開啟 VS Code 使用者設定 JSON 檔案:
- 開啟指令區塊面板 (
ctrl
/command
+Shift
+P
)。 - 選取「Preferences: Open User Settings (JSON)」。
- 開啟指令區塊面板 (
將下列內容新增至 VS Code 使用者設定 JSON 檔案:
//other settings... "geminicodeassist.agentYoloMode": "true", //other settings...
開啟指令區塊面板,然後選取「Developer: Reload Window」(開發人員:重新載入視窗)。
代理人模式會使用 yolo 模式,且在您傳送提示時,不會先要求權限再採取行動。
其他提示
請使用自己的資訊嘗試下列提示:
- 「這個存放區有什麼作用?請幫我瞭解架構。」
- 「這個 [類別/函式] 的用途是什麼?」
- 「Add a feature to this codebase - "[link-or-path-to-codebase]".」
- 「請重構函式 [A] 和 [B],使用通用方法 [C]。」
- 「修正 GitHub 問題 [link-to-github-issue]。」
- 「Build an application to do [goal] with a UI that lets the user do [task] in the [environment]」(建構應用程式,在 [環境] 中透過 UI 讓使用者執行 [工作],以達成 [目標])。
- 「Migrate library versions in this repository from [X] to [Y]」(將這個存放區中的程式庫版本從 [X] 遷移至 [Y])。
- 「Optimize performance of this Go code so that it runs faster.」(最佳化這段 Go 程式碼的效能,讓程式執行速度更快)。
- 「使用 [API 名稱] 建構這項功能。」
- 「Implement an algorithm to do [x], [Y], and [Z].」(實作演算法來執行 [x]、[Y] 和 [Z]。)
後續步驟
- 閱讀 Gemini Code Assist 總覽。
- 探索一些 MCP 伺服器範例。
- 如要查看更多 MCP 伺服器,請前往 GitHub。
- 透過 IDE 提供意見。