GitHub Copilot CLI の /fleet で並列サブエージェントを利用した開発を試してみた

GitHub Copilot CLI の /fleet で並列サブエージェントを利用した開発を試してみた

2026.04.21

製造ビジネステクノロジー部の小林です。

GitHub Copilot CLI に搭載された /fleet コマンドをご存知でしょうか?

これは大きなタスクを複数の小さなサブタスクへ自動で分割し、それぞれをサブエージェントが並列に同時実行してくれる機能です。

今回はこの /fleet コマンドを実際に試してみたので、その使用感をご紹介します。

/fleet とは何か

/fleet は GitHub Copilot CLI のスラッシュコマンドです。

通常、Copilot CLI はメインエージェントが 1 つのタスクを順番に処理します。一方 /fleet を使うと、メインエージェントがオーケストレーターとして動き、タスクを並列実行可能なサブタスクに分割し、それぞれを独立したサブエージェントに割り当てます。

https://docs.github.com/ja/copilot/concepts/agents/copilot-cli/fleet

/fleet を使わない場合(逐次処理)

タスク全体 [step 1] [step 2] [step 3] [step 4] 完了

↑ 全部直列処理になります。

/fleet を使った場合(並列処理)

タスク全体 オーケストレーターが分析・分割
├─ [subagent-1] step 1 ─┐
├─ [subagent-2] step 2 ─┤→ 完了
├─ [subagent-3] step 3 ─┘
└─ [step 4] step 1〜3 に依存するため逐次

オーケストレーターとサブエージェント

/fleet を指定すると、内部でこのような処理が行われます。
スクリーンショット 2026-04-21 18.46.56 (1)

各サブエージェントの特徴

  • 独自のコンテキストウィンドウを持つ(他のサブエージェントと干渉しない)
  • デフォルトでは低コストの AI モデルを使用
  • 特定のモデルやカスタムエージェントを指定可能

基本的な使い方

プロンプトの冒頭に /fleet を付ける

> /fleet このプロジェクトの全テストをリファクタリングして

これだけです。あとは Copilot CLI が自動でサブタスクへの分割・並列実行を行います。

/fleet を実行したときのターミナル出力の流れ

既存の Todo API に GET /{id}・PUT・DELETE を追加し、各層のテストも書いてもらう例です。

> /fleet Todo API に GET /todos/{id}、PUT /todos/{id}、DELETE /todos/{id} を追加して。
  レイヤードアーキテクチャ(router handler service database)の各層を更新し、
  CDK スタックに API Gateway リソースを追加して。各層の Jest ユニットテストも作成して。

スクリーンショット 2026-04-21 18.01.57
スクリーンショット 2026-04-21 18.03.53

各テストは jest.mock() でモックするため依存先の実装を待つ必要がなく、Phase 1 でプロダクションコードと並列に生成できます。

並列実行でタスク完了を短縮

/fleet を使用する最大のメリットはスピードです。
たとえば、先ほどの例で Todo API に GET/{id}・PUT・DELETE の 3 操作を追加する場合を考えてみます。

/fleet なし(逐次処理)

GET/{id} の実装 (3分) → PUT の実装 (3分) → DELETE の実装 (3分) → 合計 約9分

/fleet あり(並列処理)

├─ GET/{id} の実装 (3分) ─┐
├─ PUT の実装    (3分) ─┤→ 合計 約3分
└─ DELETE の実装  (3分) ─┘

各操作は互いに依存しないため、3 つのサブエージェントが同時に作業できます。

サブタスクごとにモデルを使い分けられる

/fleet では、サブタスクごとに異なる AI モデルを指定できます。

たとえば、Todo API のテスト生成と CDK スタックのセキュリティレビューを同時に依頼する場合、それぞれに適したモデルを割り当てられます。

> /fleet
  高性能モデルでテストを生成し、別の高性能モデルでセキュリティレビューして

  ├─ [subagent-1 / Claude Sonnet 4.6] Jest テスト生成: Running...
  └─ [subagent-2 / Claude Opus 4.6] CDK セキュリティレビュー: Running...

定型的なコード生成はコスパの良いモデル、設計判断が必要なレビューは高性能モデル、という使い分けが 1 回のコマンドで実現します。指定しない場合はデフォルトの低コストモデルが自動で選ばれます。

各サブエージェントが独立したコンテキストを持つ

各サブエージェントはメインエージェントや他のサブエージェントとは独立したコンテキストウィンドウを持ちます。

大規模タスクの全体像をすべてのエージェントが把握する必要はなく、それぞれが担当するサブタスクのコンテキストだけに集中できます。これにより精度が上がり、トークンも効率的に使えます。

/tasks でサブエージェントの進捗を確認

サブエージェントはバックグラウンドで動作します。進捗は /tasks で確認できます。

> /tasks

スクリーンショット 2026-04-21 18.13.00

サブエージェントが動いている間もメインセッションで作業できます。待ち時間ゼロで別の質問やタスクを進められます。

/plan + autopilot との組み合わせ

/fleet/plan(プランモード) と autopilot と組み合わせて使うと便利です。

プランモードで設計

Shift+Tab でプランモードに切り替え、実装計画を作成します。

> (Shift+Tab でプランモードへ)
> メール購読機能を追加したい

スクリーンショット 2026-04-21 18.19.02
スクリーンショット 2026-04-21 18.19.22

"autopilot + /fleet で構築" を選択

プラン承認時に「autopilot + /fleet で構築する」を選ぶと、自動的に並列実行が開始されます。
スクリーンショット 2026-04-21 18.21.40

/diff で変更を確認して PR を作成

> /diff
> /delegate

差分の確認
スクリーンショット 2026-04-21 18.40.27

PR の作成
スクリーンショット 2026-04-21 18.41.11

3 つのモードの関係

モード 役割
/plan 実装計画の作成と人間によるレビュー
autopilot ステップごとの承認なしに自律実行
/fleet タスクをサブエージェントで並列実行

/fleet が向いているタスク・向いていないタスク

向いているタスク

共通点は「サブタスク同士が独立していて、同時に進めても競合しない」ことです。

  • 複数エンドポイントの実装 — GET/{id}・PUT・DELETE を同時に各層へ追加
  • 各層への Jest テスト追加 — handler / service / database のテストをそれぞれ並列作成
  • CDK コンストラクトの分割 — DynamoDB・Lambda・API Gateway を別コンストラクトへ同時に切り出し
  • 複数ファイルのリントエラー修正 — ファイルごとに独立して修正可能
  • 依存ライブラリのアップデート — ライブラリごとに影響範囲が異なるため分割可能

向いていないタスク

共通点は「前のステップの結果がないと次に進めない」ことです。

  • 1 ファイルのバグ修正 — そもそも分割する意味がない
  • DB スキーマ変更 → それに依存する全層の修正 — 順番に進めないと整合性が取れない
  • 対話的な調査・デバッグ — 途中の結果を見ながら次の手を考える必要がある
  • 設計の議論・アーキテクチャ検討 — 思考プロセスを共有しながら進めたい

Premium リクエストの消費

/fleet を使うと、オーケストレーター(メインエージェント)に加えて各サブエージェントも LLM を呼び出すため、通常より多くの Premium リクエストを消費します。

たとえば、先ほどの Todo API に CRUD を追加する例で 4 つのサブエージェントが起動した場合:

通常(/fleet なし):
  メインエージェントが逐次処理 = 1 セッション分の消費

/fleet 使用:
  オーケストレーター       × 1 セッション
  + サブエージェント (低コストモデル) × 4 セッション
  = 合計 5 セッション分の消費

ただし、サブエージェントはデフォルトで低コストモデル(マルチプライヤー 0.25〜0.33)が使われるため、1 サブエージェントあたりの消費は軽めです。

コスト管理のポイント

  • デフォルトのサブエージェントは低コストモデルを使用するため、高コストモデルを全体に使うより節約になることも
  • 小さなタスクには /fleet を使わず、複雑・大規模なタスクに絞って使うのが経済的

まとめ

/fleet は「大きくて複雑なタスクを、待たずに終わらせる」ためのコマンドです。

# 基本の使い方
> /fleet <タスクの説明>

# モデルを指定する場合
> /fleet Claude Sonnet 4.6 でテストを生成し、Claude Opus 4.6 でレビューして

使い始めのチェックリスト

  • タスクが「並列化できる」かどうか確認する
  • /plan でプランを作ってから "autopilot + /fleet" を選ぶ
  • /tasks でサブエージェントの進捗を確認する
  • 完了後は /diff で変更内容をレビューする
  • Premium リクエストの消費量を /usage で確認する

こんな人に特におすすめ

  • 大規模なリファクタリングや移行作業が多い人
  • 「テスト追加・ドキュメント整備・実装」を同時に進めたい人
  • 待ち時間なく次の作業に移りたい人

シングルエージェントでは直列にしか進められなかった作業を、/fleet で並列に実行できます。扱うタスクの数が多いほど、その差は大きくなります。並列作業ができそうな際はぜひ試してみてください!

この記事をシェアする

関連記事