Claude Code で「複数のAIに手分けして働かせたい」とき、似て非なる2つの仕組みがある——Subagents(サブエージェント)Agent Teams(エージェントチーム)だ。名前が紛らわしいが、役割と協調のしかたが根本的に違う。本記事では、両者の正体・決定的な違い・どちらを使うべきか・使い方を、公式ドキュメントに基づいて整理する。

先に最重要の3点。① Subagents は標準機能——メインのエージェントが専用の小タスクを“別コンテキストの助手”に委譲し、要約だけ受け取る(階層型・使い捨て)。② Agent Teams は実験的なオプトイン機能で、既定では無効CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を設定して初めて使える——複数の独立セッションが共有タスクリストで“対等に”連携する(ピア型・永続)。③ 「ネスト5階層」はSubagentsの仕様で、Agent Teams は入れ子にできない(フラット)——ここを混同しないこと。

CLAUDE CODE · SUBAGENTS vs TEAMS

階層型か、ピア型か

— 委譲して要約を受け取るか、対等に連携するか

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.jsonenv)を設定する。設定しなければ、起動時にチームは作られず、Claude が仲間を提案・生成することもない。

なお v2.1.178 の変更は「TeamCreate/TeamDelete の準備ステップを撤廃し、フラグが有効なら各セッションが暗黙のチームを1つ持つようにした」だけ——“既定で有効化された”わけではない。フラグは依然として必須だ。

3. 決定的な違い

比較すると、両者は「協調のしかた」がまるで違うことが分かる。

SubagentsAgent Teams
協調階層型(メインが委譲し結果を集約)ピア型(共有タスクリストで自律連携)
通信呼び出し元に報告するだけ(互いに話さない)仲間同士がメールボックスで直接やり取り
永続性使い捨て(タスク後に要約を返す)永続的な独立セッション(直接操作可)
コンテキスト別の新規コンテキスト+要約をメインに返す完全に独立(自動では要約されない)
トークンコスト比較的低い高い(各仲間が別の Claude インスタンス)
状態標準・常時利用可実験的・要フラグ・既定オフ
ネストサブエージェントは5階層まで入れ子不可(仲間は仲間を作れない)

一言でいうと:Subagents=「メインが集中タスクを“別コンテキストの助手”に渡し、結論だけ受け取る(階層・使い捨て・要約のみ)」Agent Teams=「複数の永続セッションが共有タスクリストとメッセージで連携し、各自を直接動かせる(対等・独立)」。よくある誤解として 「5階層ネスト」は Subagents の特徴であり、Teams はフラット(入れ子不可)である点に注意。

4. どちらを使うべきか

用途で選べば迷わない。多くの日常作業は Subagents(または単一セッション)で十分だ。

WHICH TO USE

用途で選ぶ

Subagents が向く
・大量出力でメイン文脈を汚したくない(テスト/ログ/調査)
結果だけが欲しい自己完結タスク
・ツール制限や安いモデルに振りたい
・作業者同士の会話は不要
Agent Teams が向く
・作業者が知見を共有・相互チェック・自律調整すべき
・並列探索が効く(並行レビュー/対立仮説デバッグ/多モジュール)
・各作業者を直接操作したい
(高コスト+フラグを許容)
単一セッションで十分
・順序立てた逐次処理
・頻繁な往復が必要
同じファイルを触る作業
・素早い局所的な修正

基本は 「迷ったら単一セッション 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 でツールを限定したり、modelhaiku 等の軽量モデルに振ったりできる。エージェントの作り方や設計は マルチエージェントの作り方AIエージェントの作り方 も参考になる。

6. Agent Teams の注意点

Agent Teams は強力だが、実験的ゆえの制約とコストがある。導入前に把握しておこう。

1セッション1チーム・入れ子不可——仲間は仲間を作れず、リードは固定。 トークン消費が大きい(仲間ごとに別の Claude インスタンス)。推奨は 3〜5人程度。 仲間はworktree で隔離されないため、同じファイルを触ると上書きし合う——担当ファイルを手で分ける 実験的機能ゆえ、/resume/rewind では in-process の仲間が復元されない等の制限がある。 分割ペイン表示には tmux か iTerm2 が必要(VS Code 等の一部ターミナルは非対応)。要するに、「並列連携の効果がコストと手間を上回る」場面に限って使うのが賢い。

まとめ

Claude Code の SubagentsAgent 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.jsonenv)に 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 が必要、といった点です。連携の効果がコストを上回る並列作業に限って使うのが賢明です。