Subagent と Agent Teams の違い — 「働くエージェント」と「議論するエージェント」を設計レイヤで理解する

@dify_base 氏のポストが、Claude Code の Subagent と Agent Teams の違いを図解で整理しています。

Claude Code の「Subagent」と「Agent Teams」の違い、意外と知らない人が多いので、図解で整理しました👇

✅Subagent → 調査して結果を返すだけの部下 ✅Agent Teams → 複数AIが議論・協力する自律チーム

この2つの機能は名前が似ていて混同しやすいですが、設計思想が根本的に異なります。本記事では、公式ドキュメントQiita の設計レイヤ分析記事を基に、両者の違いを構造的に解説します。

一言で言う違い

Qiita の記事が最も端的に表現しています。

Subagent は「働くエージェント」、Agent Teams は「議論するエージェント」

SubagentAgent Teams
一言で調査して結果を返す部下議論・協力する自律チーム
比喩上司に報告するだけの社員横で相談し合うプロジェクトチーム

構造的な違い — 通信モデルが本質

Subagent: スター型(親子通信のみ)

         メインエージェント
        /     |     \
  Subagent  Subagent  Subagent
  (Explore)  (Plan)  (general)

Subagent はメインエージェントの単一セッション内で動作します。結果をメインエージェントに返すことしかできず、Subagent 同士は直接通信できません。

Agent Teams: メッシュ型(全方向通信)

      リード(チームリーダー)
      /     |     \
  Teammate  Teammate  Teammate
  (API)     (UI)     (Test)
      \     |     /
       共有タスクリスト

Agent Teams のメンバーは完全に独立したセッションとして動作し、互いに直接メッセージを送受信できます。リードを介さずに横の連携が可能です。

比較表

公式ドキュメントの比較をベースに整理します。

項目SubagentAgent Teams
コンテキスト親から分岐した独自ウィンドウ。結果は親に返る完全に独立したコンテキストウィンドウ
通信方式メインエージェントへの結果報告のみメンバー間の直接メッセージ
調整方式メインエージェントが全体を管理共有タスクリストで自律調整
ファイル分離なし(同じ作業ディレクトリ)Git worktree で完全分離
最適用途結果だけが重要な集中タスク議論と協力が必要な複雑タスク
トークンコスト低い(結果を要約して返す)高い(メンバー数分のセッション)
ステータス安定機能実験的機能(デフォルト無効)

Subagent の詳細

組み込みサブエージェント

Claude Code には複数の組み込みサブエージェントがあります。

タイプ用途ツールアクセス
Exploreコードベースの高速検索・調査読み取り専用(Edit/Write 不可)
Plan実装計画の設計読み取り専用(Edit/Write 不可)
general-purpose複雑な調査・多段階タスクフルアクセス

Subagent が適しているケース

  • 「このファイルを調べて」のような独立した調査
  • 複数ファイルの並列読み込み
  • API ドキュメントの検索と要約
  • コードベースのパターン検索
  • 結果を返すだけで、他のタスクとの相互依存がない作業

Subagent の限界

Subagent 同士は直接通信できないため、以下のようなタスクには不向きです。

❌ Subagent A が生成した型定義を、Subagent B が参照してUIコードを書く
   → A の結果をメインエージェントが受け取り、B に渡す必要がある

❌ Subagent A の調査結果に基づいて、Subagent B の方針を変更する
   → メインエージェントが仲介しなければ情報が伝わらない

Agent Teams の詳細

有効化方法

Agent Teams はデフォルトで無効です。settings.json で有効化します。

1
2
3
4
5
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

Agent Teams のアーキテクチャ

コンポーネント役割
チームリードチームを作成し、タスクを割り当て、結果を統合する
チームメイト独立したセッションで作業し、互いに直接通信する
共有タスクリスト~/.claude/tasks/{team-name}/ に保存。依存関係の自動管理
メールボックスエージェント間のメッセージングシステム

Agent Teams が適しているケース

公式ドキュメントが推奨する最強のユースケースは4つです。

ユースケース理由
リサーチとレビュー複数の視点で同時調査し、発見を共有・挑戦し合う
新モジュール・機能開発メンバーがそれぞれ別のファイルを担当し、互いに踏まない
競合仮説でのデバッグ複数の仮説を並列検証し、互いの理論を論破し合う
クロスレイヤー調整フロントエンド・バックエンド・テストをそれぞれ担当

競合仮説デバッグの例

公式ドキュメントが紹介する最も印象的な使い方は「競合仮説でのデバッグ」です。

ユーザーから「アプリが1メッセージ後に切断される」という報告。
5人のチームメイトを起動して異なる仮説を調査させてください。
互いの理論を論破し合う科学的議論の形式で。
合意が得られた結論を調査報告書にまとめてください。

議論の構造が鍵です。逐次調査はアンカリングに陥ります。一つの理論を探索すると、後続の調査がそれに偏ります。独立した複数の調査者が互いの理論を積極的に論破し合うことで、生き残った理論こそが真の原因である確率がはるかに高くなります。

推奨チームサイズ

公式ドキュメントの推奨は 3〜5人です。

  • 1人あたり 5〜6タスクが適切
  • 15の独立タスクなら 3人のチームメイトが出発点
  • 3人の集中したチームメイトは、5人の散漫なチームメイトを上回ることが多い

表示モード

モード動作要件
In-process全メンバーがメインターミナル内。Shift+↓ で切り替えなし
Split panesメンバーごとに別ペイン。全員の出力を同時に確認tmux または iTerm2

現在の制限事項

Agent Teams はまだ実験的機能です。

制限内容
セッション再開不可/resume でチームメイトは復元されない
タスクステータスの遅延メンバーがタスク完了をマークし忘れることがある
シャットダウンに時間がかかる現在の処理完了を待つ
1セッション1チーム同時に複数チームは不可
ネスト不可チームメイトが自身のチームを作ることはできない
リード固定リーダーの交代不可

ハイブリッド設計パターン

最も実践的なアプローチは、Subagent と Agent Teams の組み合わせです。

パターン A: チーム内から Subagent を呼び出す

Agent Teams(戦略層・協調)
  ├── Teammate A(API設計)
  │     └── Subagent(ドキュメント調査)← 軽量な調査は Subagent
  ├── Teammate B(UI実装)
  │     └── Subagent(コンポーネント検索)
  └── Teammate C(テスト)
        └── Subagent(既存テスト調査)

パターン B: フェーズごとの切り替え

Phase 1: 設計 → Agent Teams(議論・合意形成)
Phase 2: 実装 → Subagent(独立した並列実装)
Phase 3: 統合 → Agent Teams(レビュー・調整)

パターン C: 3層レイヤ構造

Qiita の記事が提案する3層構造です。

レイヤ担当機能
戦略層Agent Teams方針決定、合意形成、レビュー
実行層Subagent調査、コード生成、テスト実行
ツール層MCP・外部 APIデータ取得、外部サービス連携

判断フローチャート

タスクを並列化したい?
  ├── いいえ → 単一セッションで十分
  └── はい → タスク間で情報共有が必要?
       ├── いいえ → Subagent(低コスト、シンプル)
       └── はい → 議論・合意形成が必要?
            ├── いいえ → Subagent(メイン経由で情報伝達)
            └── はい → Agent Teams
                 └── コスト許容できる?
                      ├── いいえ → Subagent で代替し、品質不足なら Agent Teams に切り替え
                      └── はい → Agent Teams(Max プラン推奨)

コストの現実

Agent Teams は強力ですが、トークンコストが大幅に増加します。

構成トークン消費(概算)
単一セッション1x(基準)
Subagent 3個1.5〜2x
Agent Teams 3人3〜4x

Zenn の記事が指摘する通り、Pro プラン($20/月)ではレートリミットに頻繁に当たります。Agent Teams を本格的に使うには **Max プラン($200/月)**が事実上必要です。

迷ったら、まず Subagent で試し、品質が不足した場合に Agent Teams に切り替えるのが経済的です。

まとめ

  • Subagent は「働く部下」: メインエージェントに結果を返すだけ。Subagent 同士は通信不可。低コストで独立タスクに最適
  • Agent Teams は「議論するチーム」: メンバー間の直接通信、共有タスクリスト、自律調整が可能。複雑な協調作業に最適
  • 本質的な違いは通信モデル: Subagent はスター型(親子のみ)、Agent Teams はメッシュ型(全方向)
  • 最強のユースケースは4つ: リサーチ&レビュー、新モジュール開発、競合仮説デバッグ、クロスレイヤー調整
  • ハイブリッドが実践的: 戦略層に Agent Teams、実行層に Subagent の3層構造が最も効果的
  • コストに注意: Agent Teams は3〜4倍のトークンを消費。Max プランが事実上必要。迷ったら Subagent から始める
  • Agent Teams はまだ実験的: デフォルト無効、セッション再開不可、1セッション1チームなどの制限あり

参考