UStackUStack
Gemini CLI Subagents icon

Gemini CLI Subagents

Gemini CLI Subagentsは、専門エージェントに複雑で高負荷な作業を委譲。分離されたコンテキストで並列実行や独自定義にも対応。

Gemini CLI Subagents

Gemini CLI subagentsとは?

Subagentsは、主なGemini CLIセッションと並行して動作する専門エージェントです。Gemini CLIに広範または複雑なタスクを与えると、メーンエージェントが特定のサブタスクを最適なsubagentに委譲し、オーケストレーターとして機能します。

各subagentは独立したコンテキストウィンドウ、カスタムシステム指示、および厳選されたツールセットで分離実行されます。その作業(多数のツールコール、検索、テスト実行を含む可能性)—は、メーンセッションに単一のレスポンスとして統合されます。

主な機能

  • 専門エージェントへの委譲: Gemini CLIは大規模タスクをサブタスクに分解し、対象のsubagentにルーティングします。
  • 分離実行環境: 各subagentは独自のコンテキストウィンドウ、システム指示、厳選ツールで動作し、メーンセッションの混雑を防ぎます。
  • ツールとコンテキストの統合: subagentによる中間ステップがプライマリエージェント向けに1つのレスポンスに統合されます。
  • 並列subagent実行: Gemini CLIは複数のsubagent(異なるものまたは同一subagentの複数インスタンス)を同時に実行可能です。
  • カスタムsubagent定義: YAML frontmatter付きのシンプルなMarkdownファイルで独自subagentを作成できます。

Gemini CLI subagentsの使い方

  1. subagent定義を作成: namedescriptiontoolsmodelなどのフィールドを指定したYAML frontmatter付きMarkdownファイル(.md)を使用(「frontend-specialist」の例を参照)。
  2. 定義をサポート場所に追加:
    • 個人ワークフロー用: ~/.gemini/agents
    • チーム/プロジェクト共有用: .gemini/agents
    • 拡張機能用: 拡張のagents/ディレクトリにエージェント定義Markdownファイルを配置。
  3. 通常通りGemini CLIを使用: メーンセッションで全体タスクを指定すると、Gemini CLIが関連サブタスクをsubagentにディスパッチします。
  4. (必要に応じて)並列実行: タスクが複数の独立した調査/リファクタ/テスト軌道に自然分割される場合、Gemini CLIが複数subagentを同時にディスパッチします。

ユースケース

  • 複数トピックでの調査: 異なるsubagentに個別調査スレッドを委譲し並列実行後、メーンセッションに統合出力を返却。
  • 複数コンポーネントのリファクタ: リファクタをコンポーネント単位タスクに分割し、専門subagentが各領域を処理(プライマリコンテキストを埋めない)。
  • コード探索と分析: 専門subagentでコードセクションを調査し要約や整形結果を返却、プライマリエージェントが意思決定と最終合成を維持。
  • テストと検証: 多数のツールコールを含むテストステップ列をsubagentにオフロードし、メーンセッションの応答性を保持。
  • カスタムペルソナによるワークフロー特化自動化: 再利用可能な専門エージェント(例: frontend/UI-UXペルソナ)を作成し、繰り返しプロジェクトで一貫したアプローチとツール使用を強制。

FAQ

SubagentsはメーンGemini CLIセッションとどう違うのですか? Subagentsはプライマリセッションと並行する専門エージェントです。独自のコンテキストウィンドウ、システム指示、ツールで分離動作し、統合結果を返却します。

Gemini CLIは複数subagentを同時に実行できますか? はい。Gemini CLIは並列実行をサポートし、複数subagentまたは同一subagentの複数インスタンスを同時に起動可能です。

カスタムsubagentsはどう設定しますか? YAML frontmatter付きMarkdownファイル.md)で定義。個人用は~/.gemini/agents、プロジェクト共有用は.gemini/agents、拡張用はagents/ディレクトリに配置。

Subagentsの中間作業はどうなりますか? Subagentsは多数のツールコール、ファイル検索、テスト実行を行う可能性がありますが、実行結果はメーンエージェントに単一レスポンスとして統合されます。

Subagentsは独自のツールとシステム指示を持っていますか? はい。各subagentはプライマリセッションと区別された厳選ツールセットとカスタムシステム指示で動作します。

代替案

  • 委譲なしのシングルエージェントプロンプト: Gemini CLIに1つのコンテキストで全てを処理させることができます。カスタムエージェントのセットアップを避けられますが、長大なプロンプトが必要になったり、コンテキストの肥大化が発生しやすくなります。
  • 手動ワークフロー分割: 各サブタスクごとに独立したプロンプトを実行し、自分で結果を統合します。委譲を模倣できますが、オーケストレーションと統合を自分で担います。
  • 汎用マルチエージェントフレームワーク: ツールやフレームワークベースのマルチエージェントアプローチでもタスクを専門ロールにルーティングできますが、ワークフローと設定はGemini CLIのサブエージェント定義および分離モデルと異なります。
  • チャットベースのエージェントロール(非サブエージェント): ユースケースがロールベースの支援が主で分離された並列ツール実行でない場合、よりシンプルなロールプロンプトで十分で、分離や統合されたサブ作業出力に対する制御が少なくなります。