AI 程式設計教學中文版
官方教學中文版Agents & Skills

Remote agents

Gemini CLI Remote agents 的用途:連線遠端 agent、跨環境協作、遠端能力邊界和安全注意事項。

📖 本篇術語速查表
英文 / 縮寫中文一句話解釋
Remote agents遠端代理在遠端環境跑的 Agent。
網路暴露exposure遠端連線的對外訪問面。
認證auth遠端訪問的身份校驗。

不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你判斷要不要用 Remote agents、怎麼安全連線。

你是 Gemini CLI 遠端代理顧問。

【角色】
Gemini CLI 遠端代理顧問,按最小夠用、安全優先的原則給可落地方案,每條結論都落到能照做的步驟或示例,不停留在空泛建議。

【輸入】
- 為什麼想用遠端(算力 / 環境 / 資料在遠端):___
- 遠端環境型別:___
- 現有認證方式:___
- 最擔心的安全點:___
- 經驗水平:___

【工作流程】
1. 判斷是否真需要遠端
2. 給連線和認證設定
3. 收緊網路暴露面
4. 說明常見故障
5. 給驗證和排障

【輸出規範】
▌一、是否需要遠端
▌二、連線 + 認證
▌三、網路暴露收緊
▌四、故障排查

【硬約束】
- 能用本地就不開遠端
- 遠端必須認證,不裸暴露埠
- 生產環境遠端預設人工確認
- 不要替我臆測情況或編造不存在的能力,資訊不全先問清
- 不確定的設定或介面一律以官方文件為準,禁止照搬過時寫法
- 給的每條結論都要落到具體可照做的步驟或示例,不停留在「建議」「考慮一下」這類沒法直接執行的空泛表述

Remote agents 讓 Gemini CLI 可以連線和使用遠端 agent。它適合把某些專門能力放到遠端環境,但安全邊界要比本地 subagent 更謹慎。

Remote agent 會引入網路、遠端記錄、認證和資料跨邊界問題。第一次呼叫只給低敏、只讀任務。

官方實現基於 Agent-to-Agent(A2A)協議。Gemini CLI 可以連線符合 A2A 的遠端 subagent,把任務委託給遠端服務後接收結果。

適合場景

  • 遠端有專門執行環境。
  • 團隊共享某個專門能力。
  • 本機不適合安裝重依賴。
  • 任務需要訪問遠端資源。

定義方式

Remote agent 用 Markdown 檔案加 YAML frontmatter 定義,放在:

  • 專案級:.gemini/agents/*.md
  • 使用者級:~/.gemini/agents/*.md

最小示例:

---
kind: remote
name: my-remote-agent
agent_card_url: https://example.com/agent-card
---

kind 必須是 remotename 必須是合法 slug。遠端能力來源可以是 agent_card_url,也可以是內聯 agent_card_json。一個 Markdown 檔案可以定義多個 remote agent,但目前只支援 remote list,不支援把 local 和 remote 混在同一個檔案裡。

網路和認證

如果設定了代理,Gemini CLI 會使用 settings.jsongeneral.proxy 或標準環境變數 HTTP_PROXYHTTPS_PROXY

官方支援的認證方式包括:

  • apiKey:把靜態 key 放進 HTTP header。
  • http:Bearer、Basic 或其他 HTTP auth scheme。
  • google-credentials:Google ADC,適合 Google Cloud / Cloud Run。
  • oauth:OAuth 2.0 Authorization Code + PKCE。

專案級 agent 檔案不要直接寫明文金鑰。apiKeyhttp 的 secret 支援 $ENV_VAR!command 動態讀取;優先用環境變數或命令獲取短期 token。

風險

  • 遠端 agent 能看到什麼資料。
  • 遠端記錄如何儲存。
  • 憑據是否會跨邊界。
  • 網路失敗如何恢復。
  • 任務結果如何驗證。
  • 遠端 agent card 是否可信。
  • 認證 token 是否會發到非預期 host。
風險點檢查
資料外發遠端能看到哪些 prompt、檔案和結果
遠端記錄服務端是否儲存請求和響應
認證token 是否只發給預期 host
網路失敗超時、重試、降級策略是否明確
結果驗證本地如何複核遠端輸出

建議

先用只讀任務驗證 remote agent,再逐步開放寫操作。不要把遠端 agent 當成“更強的本地 agent”,它多了網路、許可權和資料邊界。

對 Google Cloud 場景,google-credentials 只會把 token 發給已知 Google-owned hosts,例如 *.googleapis.com*.run.app。其他域名應改用 apiKeyhttpoauth,不要繞過 host 限制。

管理和關閉

會話內用 /agents list 檢視 local 和 remote agents,用 /agents reload 過載定義,用 /agents enable <name>/agents disable <name> 控制單個 agent。要整體關閉 agents,可在 settings.json 裡設定:

{
  "experimental": {
    "enableAgents": false
  }
}

驗收方式

先驗證 agent card 能讀取,再驗證認證方式不會把金鑰寫入專案檔案。第一次呼叫只給遠端只讀、低敏任務;拿到結果後,用本地命令或人工檢查複核。遠端 agent 的結果不能直接等同於本地已驗證產物。

接下來去哪

官方來源

本頁目錄