UStackUStack
Gemini CLI Subagents icon

Gemini CLI Subagents

Gemini CLI Subagents 可將複雜且高流量任務委派給專家子代理:彼此隔離的情境視窗、支援平行執行與自訂子代理定義。

Gemini CLI Subagents

什麼是 Gemini CLI 子代理?

子代理是與您的主要 Gemini CLI 工作階段並行運作的專門專家代理。當您給 Gemini CLI 廣泛或複雜任務時,主要代理可將特定子任務委派給最適合的子代理,扮演協調者角色。

每個子代理獨立運作,擁有專屬情境視窗、自訂系統指示,以及精選工具集。它們的工作——可能涉及多個工具呼叫、搜尋或測試執行——會彙整成單一回應,返回主要工作階段。

主要功能

  • 委派給專門專家:Gemini CLI 可將大型任務拆解成子任務,並路由至目標子代理。
  • 隔離執行環境:每個子代理擁有獨立情境視窗、系統指示及精選工具,有助避免主要工作階段過度擁擠。
  • 工具與情境彙整:子代理執行的中間步驟會彙整成單一回應,提供給主要代理。
  • 平行子代理執行:Gemini CLI 支援同時執行多個子代理(不同子代理或相同子代理的多個實例)。
  • 自訂子代理定義:您可使用含 YAML frontmatter 的簡單 Markdown 檔案建立自訂子代理。

如何使用 Gemini CLI 子代理

  1. 建立子代理定義:使用含 YAML frontmatter 的 Markdown 檔案(.md),指定如 namedescriptiontoolsmodel 等欄位(如「frontend-specialist」範例所示)。
  2. 將定義新增至支援位置
    • 個人工作流程:~/.gemini/agents
    • 團隊/專案分享:.gemini/agents
    • 擴充功能:將代理定義 Markdown 檔案置於擴充功能的 agents/ 目錄。
  3. 如常使用 Gemini CLI:在主要 Gemini CLI 工作階段提供整體任務;Gemini CLI 即可派遣子代理處理相關子任務。
  4. (視需要)平行執行工作:當任務自然拆分成多個獨立研究/重構/測試軌道時,Gemini CLI 可同時派遣多個子代理。

使用情境

  • 跨多主題研究:將獨立研究線程委派給不同子代理並平行執行,然後在主要工作階段接收彙整輸出。
  • 重構多個元件:將重構拆分成獨立元件級任務,讓專門子代理處理各區域,而不填滿主要情境視窗。
  • 程式碼探索與分析:使用專家子代理調查程式碼區段並返回摘要或格式化結果,同時主要代理維持決策與最終綜合。
  • 測試與驗證:將測試相關步驟序列(可能涉及多個工具呼叫)卸載至子代理,讓主要工作階段保持回應性。
  • 自訂角色的工作流程自動化:建立可重用專門代理(例如前端/UI-UX 角色),強制一致方法與工具使用於重複專案工作流程。

常見問題

子代理與主要 Gemini CLI 工作階段有何不同?

子代理是與主要工作階段並行運作的專門專家代理。它們獨立運作,擁有專屬情境視窗、系統指示及工具,之後返回彙整結果。

Gemini CLI 可否同時執行多個子代理?

可以。Gemini CLI 支援 平行執行,包括同時產生多個子代理或相同子代理的多個實例。

如何設定自訂子代理?

自訂子代理使用含 YAML frontmatterMarkdown 檔案.md)定義。您可置於 ~/.gemini/agents 用於個人、 .gemini/agents 用於專案分享,或擴充功能的 agents/ 目錄。

子代理執行的中間工作如何處理?

子代理可能執行多個工具呼叫、檔案搜尋或測試執行,但其執行會 彙整成單一回應 返回主要代理。

子代理是否有專屬工具與系統指示?

是的。每個子代理擁有精選工具集與自訂系統指示,與主要工作階段不同。

替代方案

  • 無委派的單一代理提示:您可以要求 Gemini CLI 在單一情境中處理一切。這避免了自訂代理的設定,但可能更容易需要長提示或因情境增長而受影響。
  • 手動工作流程拆分:您可以為每個子任務執行獨立的提示,然後自行合併結果。這可模擬委派,但您需自行處理協調與整合。
  • 通用多代理框架:基於工具或框架的多代理方法也能將任務路由至專門角色,但工作流程與設定會與 Gemini CLI 的子代理定義及隔離模型不同。
  • 聊天式代理角色(非子代理):若您的使用情境主要是基於角色的協助,而非隔離平行工具執行,您可能發現簡單的角色提示已足夠,雖然對隔離與整合子工作輸出的控制較少。