目次
Claude Code で「複数のAIに手分けして働かせたい」とき、似て非なる2つの仕組みがある——Subagents(サブエージェント)と Agent Teams(エージェントチーム)だ。名前が紛らわしいが、役割と協調のしかたが根本的に違う。本記事では、両者の正体・決定的な違い・どちらを使うべきか・使い方を、公式ドキュメントに基づいて整理する。
先に最重要の3点。① Subagents は標準機能——メインのエージェントが専用の小タスクを“別コンテキストの助手”に委譲し、要約だけ受け取る(階層型・使い捨て)。② Agent Teams は実験的なオプトイン機能で、既定では無効。CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を設定して初めて使える——複数の独立セッションが共有タスクリストで“対等に”連携する(ピア型・永続)。③ 「ネスト5階層」はSubagentsの仕様で、Agent Teams は入れ子にできない(フラット)——ここを混同しないこと。
階層型か、ピア型か
— 委譲して要約を受け取るか、対等に連携するか
Subagents は「メインが助手に投げて結論をもらう」、Agent Teams は「対等な仲間が共有タスクで連携」。
Teams は 既定オフの実験機能——CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 が必要。
1. Subagents(サブエージェント)とは
Subagents は、1つのセッション内で 特定タイプの作業を担う専門エージェントだ。公式の説明では、「各サブエージェントは独自のコンテキストウィンドウ・専用システムプロンプト・固有のツール権限を持つ」。メインのエージェントが、定義の description に合うタスクを自動で委譲し、サブエージェントは独立して作業して 要約だけをメインの会話に返す。
重要なのは 「各サブエージェントは“まっさらな別コンテキスト”で動く」こと——あなたの会話履歴や既に読んだファイルは見ない。だから 大量のログやテスト出力でメインの文脈を汚さずに、重い調べ物を“外”でやらせて結論だけ受け取れる。管理は /agents(Running / Library タブ)。定義は .claude/agents/<名前>.md に YAML フロントマター(name / description / tools / model)で書く。標準で Explore(Haiku・読み取り専用)・Plan・general-purpose 等が用意されている。サブエージェントは入れ子にでき、最大5階層まで(深さ5では Agent ツールが渡されずそれ以上は増やせない)。マルチエージェントの全体像は マルチエージェントとは も参照。
2. Agent Teams とは(実験的・要フラグ)
Agent Teams は、複数の Claude Code セッションを“チーム”として連携させる仕組みだ。1つが チームリード(調整・割り当て・統合)、ほかは 仲間(teammates)——それぞれ独立した別セッション・別コンテキストで、共有タスクリストとメールボックスを通じて互いに直接やり取りする。Subagents と違い、個々の仲間とあなたが直接対話することもできる。
重要:Agent Teams は「既定では無効」の実験的機能
公式ドキュメントは 「Agent Teams は実験的で、既定では無効」と明記している。使うには環境変数 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1(または settings.json の env)を設定する。設定しなければ、起動時にチームは作られず、Claude が仲間を提案・生成することもない。
なお v2.1.178 の変更は「TeamCreate/TeamDelete の準備ステップを撤廃し、フラグが有効なら各セッションが暗黙のチームを1つ持つようにした」だけ——“既定で有効化された”わけではない。フラグは依然として必須だ。
3. 決定的な違い
比較すると、両者は「協調のしかた」がまるで違うことが分かる。
| Subagents | Agent Teams | |
|---|---|---|
| 協調 | 階層型(メインが委譲し結果を集約) | ピア型(共有タスクリストで自律連携) |
| 通信 | 呼び出し元に報告するだけ(互いに話さない) | 仲間同士がメールボックスで直接やり取り |
| 永続性 | 使い捨て(タスク後に要約を返す) | 永続的な独立セッション(直接操作可) |
| コンテキスト | 別の新規コンテキスト+要約をメインに返す | 完全に独立(自動では要約されない) |
| トークンコスト | 比較的低い | 高い(各仲間が別の Claude インスタンス) |
| 状態 | 標準・常時利用可 | 実験的・要フラグ・既定オフ |
| ネスト | サブエージェントは5階層まで | 入れ子不可(仲間は仲間を作れない) |
一言でいうと:Subagents=「メインが集中タスクを“別コンテキストの助手”に渡し、結論だけ受け取る(階層・使い捨て・要約のみ)」。Agent Teams=「複数の永続セッションが共有タスクリストとメッセージで連携し、各自を直接動かせる(対等・独立)」。よくある誤解として 「5階層ネスト」は Subagents の特徴であり、Teams はフラット(入れ子不可)である点に注意。
4. どちらを使うべきか
用途で選べば迷わない。多くの日常作業は Subagents(または単一セッション)で十分だ。
用途で選ぶ
・結果だけが欲しい自己完結タスク
・ツール制限や安いモデルに振りたい
・作業者同士の会話は不要
・並列探索が効く(並行レビュー/対立仮説デバッグ/多モジュール)
・各作業者を直接操作したい
(高コスト+フラグを許容)
・頻繁な往復が必要
・同じファイルを触る作業
・素早い局所的な修正
基本は 「迷ったら単一セッション or Subagents」。
仲間同士の連携が本当に要る並列作業のときだけ Agent Teams を検討する。
5. 使い方チートシート
コマンドと設定の早見表。
# --- Subagents(標準) ---
/agents # 管理画面(Running / Library)
.claude/agents/<name>.md # プロジェクトの定義(name/description/tools/model)
~/.claude/agents/<name>.md # ユーザーの定義(全プロジェクト)
claude --agent code-reviewer # セッション全体を特定サブエージェントで実行
@agent-<name> # @メンションで明示的に呼ぶ
# --- Agent Teams(実験的・要フラグ) ---
# settings.json の env、または環境変数で有効化(既定オフ)
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
# 有効後は自然言語で(例):「PR #142 をレビューする仲間を3人立てて。
# 1人はセキュリティ、1人は性能、1人はテスト網羅性を見て」
# 表示モードは teammateMode(既定 in-process。分割ペインは tmux/iTerm2 が必要)
サブエージェントの定義ファイルでは、tools でツールを限定したり、model で haiku 等の軽量モデルに振ったりできる。エージェントの作り方や設計は マルチエージェントの作り方・AIエージェントの作り方 も参考になる。
6. Agent Teams の注意点
Agent Teams は強力だが、実験的ゆえの制約とコストがある。導入前に把握しておこう。
① 1セッション1チーム・入れ子不可——仲間は仲間を作れず、リードは固定。② トークン消費が大きい(仲間ごとに別の Claude インスタンス)。推奨は 3〜5人程度。③ 仲間はworktree で隔離されないため、同じファイルを触ると上書きし合う——担当ファイルを手で分ける。④ 実験的機能ゆえ、/resume・/rewind では in-process の仲間が復元されない等の制限がある。⑤ 分割ペイン表示には tmux か iTerm2 が必要(VS Code 等の一部ターミナルは非対応)。要するに、「並列連携の効果がコストと手間を上回る」場面に限って使うのが賢い。
まとめ
Claude Code の Subagents と Agent Teams は、どちらも「複数AIで手分け」だが協調モデルが違う。Subagents は標準機能——メインが集中タスクを別コンテキストの助手に委譲し、要約だけ受け取る(階層・使い捨て・互いに話さない・5階層までネスト可)。Agent Teams は実験的なオプトインで既定オフ(CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 が必要)——複数の独立セッションが共有タスクリストとメッセージで対等に連携する(永続・各自を直接操作可・入れ子不可)。
選び方は 「結果だけ欲しい/文脈を汚したくない → Subagents」「作業者が相互に共有・調整すべき並列作業 → Agent Teams」「逐次・同一ファイル・素早い修正 → 単一セッション」。よくある誤解として、「5階層ネスト」は Subagents の仕様であり、Agent Teams はフラット。そして v2.1.178 はチーム起動の簡略化であって“既定有効化”ではない点に注意。Teams は高コスト・実験的なので、連携の効果が上回る場面だけに絞るのがよい。関連:マルチエージェントとは、作り方、AIオブザーバビリティ。
FAQ
Q. Subagents と Agent Teams はどう違うのですか?
A. 協調のしかたが根本的に違います。Subagents は階層型——メインのエージェントが集中タスクを別コンテキストの助手に委譲し、要約だけ受け取る(助手同士は会話しない・使い捨て)。Agent Teams はピア型——複数の独立セッションが共有タスクリストとメールボックスで対等に連携し、各自を直接操作できます(永続)。Subagents は標準、Agent Teams は実験的でフラグ必須です。
Q. Agent Teams は最初から使えますか?
A. いいえ、既定では無効です。環境変数(または settings.json の env)に CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を設定して初めて使えます。v2.1.178 は「TeamCreate の準備ステップを撤廃し、フラグ有効時に各セッションが暗黙のチームを持つ」よう簡略化しただけで、“既定で有効化された”わけではありません。フラグは依然として必須です。
Q. 「ネストは5階層まで」とはどちらの話ですか?
A. Subagents の話です。サブエージェントは自分のサブエージェントを生成でき、最大5階層まで(深さ5ではそれ以上増やせません)。一方 Agent Teams は入れ子にできません——仲間は仲間を作れず、リードだけがチームを管理します。この2つを混同しないでください。
Q. どちらを使えばいいか分かりません。
A. 多くの場合は単一セッションか Subagents で十分です。結果だけ欲しい・大量出力でメイン文脈を汚したくないなら Subagents。作業者同士が知見を共有・相互チェック・自律調整すべき並列作業(並行レビュー、対立仮説デバッグ、多モジュール開発など)で、各自を直接動かしたいなら Agent Teams。逐次処理・頻繁な往復・同じファイルを触るなら単一セッションが向きます。
Q. Agent Teams の注意点は?
A. トークン消費が大きい(仲間ごとに別インスタンス。推奨3〜5人)、1セッション1チームで入れ子不可、仲間は worktree で隔離されないので同じファイルを触ると競合する(担当を手で分ける)、実験的ゆえ /resume・/rewind 等に制限、分割ペインには tmux/iTerm2 が必要、といった点です。連携の効果がコストを上回る並列作業に限って使うのが賢明です。