Agent 模式總覽

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

代理模式適用於 VS Code 和 IntelliJ 整合式開發環境 (IDE)。如要開始使用代理模式,請參閱「使用 Gemini Code Assist 代理模式」。

在代理模式下,您可以執行下列操作:

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

代理模式的運作方式

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

當代理收到工具要求時,會準備使用該工具,並檢查是否需要明確權限才能使用:

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

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

取得工具使用權限後,代理會使用工具完成所需動作,並將動作結果傳回 Gemini API。Gemini 會處理工具動作的結果,並生成另一則回覆。這個行動和評估循環會持續進行,直到工作完成為止。

如果是複雜的工作,Gemini 可能會顯示高階計畫,您可以在開始前,透過對話微調計畫及提問。確認規劃內容符合需求後,即可核准。核准後,代理就會開始執行第一項工作,並在執行過程中視需要要求您釐清或授權。

Agent 模式背景資訊

背景資訊可讓代理針對特定提示生成更優質的回覆。背景資訊可取自 IDE 中的檔案、本機系統資料夾中的檔案、工具回覆和提示詳細資料。

視 IDE 和設定而定,代理可能會有不同的情境。

下列分頁詳細說明如何收集不同 IDE 的情境資訊。

VS Code

在代理模式下,Gemini Code Assist 通常可透過下列方法取得脈絡:

  • IDE 工作區中的資訊。
  • 內建工具 (例如 grep、終端機、檔案讀取或檔案寫入) 的工具回覆。
  • Google 搜尋回覆。
  • 提示詞或工具提供的特定網址內容。
  • 以 Markdown 格式建立的脈絡檔案。

IntelliJ

在代理模式下,Gemini Code Assist 通常可透過下列方法取得脈絡:

  • IDE 專案中的資訊,包括檔案、已建立索引的符號,以及專案中的符號使用情形。
  • 內建工具 (例如 grep、檔案讀取或檔案寫入) 的工具回覆。
  • IntelliJ 版本管控。
  • 已設定的 MCP 伺服器和工具
  • 以 Markdown 格式建立的脈絡檔案。

在代理模式的對話提示詞區域,您可以透過脈絡資訊導覽匣,查看代理可用的脈絡資訊。

Agent 模式脈絡資訊匣。

工具

工具是廣泛的服務類別,代理可使用這些服務,在回覆提示時提供背景資訊和執行動作。代理可透過工具,呼叫 API 端點或其他代理的函式,藉此存取最新資訊。工具可能只提供一項函式,也可能提供多項相關函式。

內建工具 (例如 grep 和檔案讀取或寫入)、本機或遠端 Model Context Protocol (MCP) 伺服器及其可執行函式,以及 RESTful API 呼叫,都是工具的例子。

內建工具

在代理模式下,Gemini 可以存取內建系統工具。選取 IDE,即可查看 Gemini 在代理模式下可用的內建工具清單。

VS Code

Gemini Code Assist 的代理模式支援所有 Gemini CLI 內建工具。

IntelliJ

read_file
使用絕對路徑擷取檔案的文字內容。
write_file
將指定文字寫入特定檔案,如果檔案不存在,則會建立檔案。
analyze_current_file
分析編輯器中開啟的檔案,找出錯誤和警告。
find_files
根據檔案名稱或部分路徑,找出檔案的絕對路徑
grep
在專案中找出含有指定文字模式或規則運算式的所有檔案。
list_files
列出指定絕對路徑中的所有檔案和目錄。
resolve_symbol
將特定符號參照解析為原始宣告。
find_usages
在專案中搜尋指定符號宣告的所有參照。
git
執行 Git 指令列介面 (CLI) 指令並傳回結果。
list_vcs_roots
傳回目前專案中的所有版本管控系統 (VCS) 根目錄,例如 Git 存放區。

限制

標準 Gemini Code Assist 對話的部分功能可能無法在代理模式中使用,或運作方式與標準對話不同。

代理模式不支援背誦功能。在代理模式下,Gemini 不會引用來源,您也無法停用與引用來源相符的程式碼建議。

後續步驟