代理模式

本文說明 Gemini Code Assist 的代理程式模式。

您可以在 VS Code 整合式開發環境 (IDE) 中使用代理程式模式。如要開始使用代理程式模式,請參閱將代理程式即時通訊當成結對程式設計師

VS Code 中的代理程式模式採用 Gemini CLI

使用代理程式模式,你可以執行下列操作:

  • 詢問程式碼相關問題。
  • 運用背景資訊和內建工具,改善生成的內容。
  • 設定 MCP 伺服器,擴充代理程式的功能。
  • 取得多步驟複雜工作的解決方案。
  • 根據設計文件、問題和TODO註解生成程式碼。
  • 在執行期間,您可以透過註解、編輯及核准計畫和工具使用情形,控制代理程式行為。

代理程式模式的運作方式

在代理程式模式中,系統會將提示連同可用工具清單傳送至 Gemini API。Gemini API 會處理提示並傳回回覆。回覆內容可能是直接答案,也可能是要求使用可用工具。

當代理程式要求使用工具時,會準備使用工具,並檢查是否允許在有或沒有明確權限的情況下使用工具:

  • 如果工具要求會修改檔案系統,或對任何資源執行變動作業,Gemini 會要求你允許該作業,除非你已將 Gemini 設定為一律允許該工具或工具。
  • 唯讀工具要求可能不會在完成工作前要求權限。

系統要求允許使用工具時,您可以選擇允許或拒絕這項操作。服務專員也可能會提供選項,讓您一律允許工具或伺服器,或允許類似作業。詳情請參閱「一律允許代理程式動作」。

獲得或自行授予工具使用權後,代理程式會使用工具完成必要動作,並將動作結果傳回 Gemini API。Gemini 會處理工具動作的結果,並生成其他回覆。這類行動和評估的循環會持續進行,直到工作完成為止。

如果是複雜工作,Gemini 可能會顯示高階計畫,請先核准。開始流程前,你可以在對話中微調計畫並提出問題。如果對企劃書感到滿意,可以核准。核准計畫後,代理程式就會開始處理第一項工作,並在執行計畫時視需要要求您提供說明或權限。

代理模式脈絡

背景資訊可讓代理程式根據特定提示生成更優質的回覆。你可以從 IDE 中的檔案、本機系統資料夾中的檔案、工具回應和提示詳細資料取得情境資訊。

視 IDE 和設定而定,代理程式可用的情境可能有所不同。

以下分頁說明如何為不同 IDE 收集內容。

VS Code

在代理程式模式下,Gemini Code Assist 通常可透過下列方式取得內容:

  • IDE 工作區中的資訊。
  • 來自 grep、終端機、檔案讀取或檔案寫入等內建工具的工具回應。
  • Google 搜尋回覆。
  • 提示或工具中提供的特定網址內容。
  • 以 Markdown 建立的脈絡檔案。

服務專員記憶體

VS Code 中的 Gemini Code Assist 代理程式模式會運用 Gemini CLI 記憶體探索服務,尋找並載入可為代理程式提供背景資訊的 GEMINI.md 檔案。記憶體探索服務會從目前的工作目錄開始,依階層搜尋這些檔案,然後向上移動至專案根目錄和主目錄。也會搜尋子目錄。

您可以建立全域、專案層級和元件層級的情境檔案,這些檔案會合併,為模型提供最相關的資訊。

您可以使用 /memory show 指令查看所有已載入 GEMINI.md 檔案的合併內容,並使用 /memory refresh 指令重新載入這些檔案。

Gemini CLI 擴充功能

您可以使用 Gemini CLI 擴充功能,設定及擴充 Gemini Code Assist 代理程式模式功能。

代理程式會在兩個位置尋找擴充功能:

  • WORKSPACE/.gemini/extensions,其中 WORKSPACE 是目前的工作區。
  • ~/.gemini/extensions,其中 ~ 是主目錄。

代理程式會從這兩個位置載入所有擴充功能,但如果兩者都有同名擴充功能,工作區目錄中的擴充功能優先。每個擴充功能都是包含 gemini-extension.json 檔案的目錄。這個檔案包含擴充功能的設定。

詳情請參閱「Gemini CLI 擴充功能」。

IntelliJ

IntelliJ 或其他 JetBrains IDE 的 Gemini Code Assist 不支援這項功能。

工具

工具是廣泛的服務類別,代理程式可用於回應提示時的背景資訊和動作。例如 grep 和檔案讀取/寫入等內建工具、本機或遠端 Model Context Protocol (MCP) 伺服器及其可執行的函式,以及專屬服務實作項目。

後續步驟