將代理程式聊天室當做結對程式設計師使用

本文說明如何在整合式開發環境 (IDE) 中,設定及使用 Gemini Code Assist 代理程式模式,做為結對程式設計師。

代理模式適用於 VS Code IDE。

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

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

限制

使用代理程式模式時,請注意下列限制:

  • 代理程式無法呼叫 Gemini Code Assist 工具。你必須退出 代理人模式才能使用這些工具。
  • 代理程式無法使用程式碼自訂功能。如要使用程式碼自訂功能,必須先退出代理程式模式。
  • 代理程式模式不支援有多個根目錄的專案。如果您在有多個根目錄的專案中使用代理程式模式,代理程式只會存取遇到的第一個根目錄。
  • 代理程式模式不支援 Gemini for Google Cloud 記錄

事前準備

  1. 在 IDE 中設定要使用的 Gemini Code Assist 版本:
  2. 將 Gemini Code Assist 發布管道設為「搶先體驗」版本:
    1. 開啟指令區塊面板 (Cmd + Shift + P),然後選取「Open User Settings JSON」(開啟使用者設定 JSON)
    2. 在使用者設定 JSON 中加入下列程式碼:
      "geminicodeassist.updateChannel": "Insiders",

使用代理模式

在代理程式模式下,你可以要求 Gemini 完成高階目標和複雜工作。

如要充分發揮代理程式模式的效用,請遵循提示最佳做法,並盡可能提供詳細資訊。

如要切換至代理程式模式:

VS Code

  1. 如要開啟 Gemini Code Assist 對話,請在 IDE 的活動列中點按「Gemini Code Assist」spark
  2. 按一下「代理程式」切換按鈕,進入代理程式模式。切換至服務專員模式時,切換按鈕會醒目顯示;切換至一般對話時,切換按鈕則會顯示為灰色。
  3. 在 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

  1. 安裝 MCP 伺服器所需的任何依附元件。
  2. 開啟位於 ~/.gemini/settings.json 的 Gemini 設定 JSON,其中 ~ 是您的主目錄。
  3. 按照伺服器操作說明,將本機或遠端 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"]
            }
        }
    }
    

  4. 開啟指令區塊面板,然後選取「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 是使用者的存取權杖。

建立內容檔案

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

VS Code

  1. 在符合您要套用環境範圍的位置,建立名為 GEMINI.md 的檔案。下表詳細列出不同範圍的內容檔案位置:

    範圍 位置
    所有專案 ~/.gemini/GEMINI.md
    特定專案 工作目錄或任何上層目錄,直到專案根目錄 (由 .git 資料夾識別) 或主目錄為止。
    專案的特定元件、模組或子區段 工作目錄的子目錄。

    代理程式的記憶體系統是從多個位置載入內容檔案所建立。來自更具體檔案 (例如特定元件或模組的檔案) 的內容,會覆寫或補充來自更一般內容檔案 (例如 ~/.gemini/GEMINI.md 的全域內容檔案) 的內容。

  2. 以 Markdown 格式撰寫任何規則、風格指南資訊或情境,供代理程式使用,然後儲存檔案。詳情請參閱 GitHub 上的範例內容檔案

IntelliJ

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

使用指令

斜線 / 指令可讓您快速執行指令,類似於終端機視窗中的指令。

您可以在代理程式模式中使用下列 Gemini CLI 指令:

  • /tools:顯示代理程式模式工作階段中可用的工具清單。子指令包括:
    • descdescriptions:顯示各項工具的詳細說明。
    • nodescnodescriptions:隱藏工具說明,只顯示工具名稱。
  • /memory:管理從 GEMINI.md 檔案載入的代理程式指令內容。子指令包括:
    • show:顯示從所有可用 GEMINI.md 檔案載入的目前記憶體完整串連內容。
    • refresh:從可用位置的所有 GEMINI.md 檔案重新載入記憶體。如要瞭解 GEMINI.md 檔案如何影響代理程式的階層式記憶體,請參閱 Gemini CLI 設定說明文件
  • /mcp:列出已設定的 Model Context Protocol (MCP) 伺服器、連線狀態、伺服器詳細資料和可用工具。子指令包括:
    • descdescriptions:顯示 MCP 伺服器和工具的詳細說明。
    • nodescnodescriptions:隱藏 MCP 伺服器說明,只顯示 MCP 伺服器名稱。
    • schema:顯示 MCP 伺服器設定參數的完整 JSON 結構定義。
  • /stats:顯示詳細的代理程式模式工作階段統計資料和時間長度。

如要進一步瞭解 Gemini CLI 指令,請參閱「Gemini CLI 指令」。請注意,並非所有 Gemini CLI 指令都適用於代理程式模式。

一律允許代理程式動作

你可以自動允許所有代理程式動作。

如要自動允許所有代理程式動作,請按照下列步驟操作:

  1. 開啟 VS Code 使用者設定 JSON 檔案:

    1. 開啟指令區塊面板 (ctrl/command + Shift + P)。
    2. 選取「Preferences: Open User Settings (JSON)」
  2. 將下列內容新增至 VS Code 使用者設定 JSON 檔案:

    //other settings...
    
    "geminicodeassist.agentYoloMode": "true",
    //other settings...
    
  3. 開啟指令區塊面板,然後選取「Developer: Reload Window」(開發人員:重新載入視窗)

代理人模式會使用 yolo 模式,且在您傳送提示時,不會先要求權限再採取行動。

建立 Gemini CLI 擴充功能

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

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

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

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

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

其他提示

請嘗試使用自己的資訊,輸入下列提示:

  • 「這個存放區有什麼作用?幫我瞭解架構。」
  • 「這個 [類別/函式] 的用途是什麼?」
  • 「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]。)

後續步驟