Claude Codeのサブエージェントか並列セッションか:どちらを使うべきか
Claudeが独立したサイドタスクをヘルパーに任せ、要約だけを受け取ればよいならサブエージェントを使います。各タスクを自分で操作したい、完全なコンテキストを保ちたい、Claudeの隣で別のプロバイダーを動かしたい場合は、それぞれ専用のGitワークツリーを持つ別々のセッションを使います。それらのセッション同士がやり取りする必要があるなら、MAOが適しています。
- サブエージェントは専用のコンテキストで動き、要約を返します
- 並列セッションはそれぞれ専用のGitワークツリーを持ちます
- Claude Code自体の並列機能が動かすのはClaudeだけです
1つのセッションが独立したサイドタスク(検索、テストの実行、レビュー)をヘルパーに任せ、要約だけを受け取ればよい場合は、Claude Codeのサブエージェントを使います。各タスクが自分で操作するほど大きい場合、専用の完全なコンテキストが必要な場合、Codexなど別のプロバイダーで動かすべき場合は、それぞれ専用のGitワークツリーを持つ複数のセッションを並列に動かします。MAOは後者のためのものです。各セッションはキャンバス上の実際のターミナルで、それぞれのブランチで動き、ワイヤーで接続したセッション同士は互いにタスクを送れます。
Claude Codeのサブエージェントとは?
サブエージェントは、Claudeがあなたのセッションの中から起動するヘルパーです。それぞれが専用のコンテキストウィンドウで、専用のシステムプロンプト、ツールへのアクセス、権限を持って動き、そこで作業を終えるとメインの会話に要約を返します。
Claude Codeには組み込みのサブエージェントがあり、Explore(コードベースを検索するための高速な読み取り専用エージェント)、Plan(プランモード中の読み取り専用の調査)、そして探索も操作もできる汎用エージェントなどがあります。フォークではないサブエージェントはあなたの会話履歴を見られません。フォークしたサブエージェントは会話履歴を引き継ぎます。
独自のサブエージェントは、YAMLフロントマター付きのMarkdownファイルとして定義します。現在のプロジェクト用なら .claude/agents/、すべてのプロジェクト用なら ~/.claude/agents/ に置きます。必須なのは name と description だけです。ドキュメントにあるレビュアーの例のフロントマターは次のとおりです。
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnetこの4つのフィールドは .claude/agents/code-reviewer.md の先頭にある2行の --- の間に書き、その下の指示("You are a code reviewer...")がシステムプロンプトになります。Claudeは各サブエージェントの description を読んで、いつ委任するかを判断します。名前を指定して頼む("use the code-reviewer subagent on the auth changes")、@メンションする、または claude --agent code-reviewer でセッション全体をそのエージェントとして動かすこともできます。
Claude Codeのドキュメントによると、サブエージェントは次のように動きます。
- フォアグラウンドかバックグラウンドか。 フォアグラウンドのサブエージェントは終わるまでメインの会話をブロックし、バックグラウンドのサブエージェントはあなたが作業を続ける間に動きます。何も設定していなければ、Claudeがメインの会話から起動するサブエージェントはバックグラウンドで始まります。
- 複数を同時に。 デフォルトでは1つのセッションで最大20個のサブエージェントを同時に動かせ(
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSで上限を変更できます)、サブエージェントは自分のサブエージェントを、メインの会話から3階層下まで起動できます。 - 分離しない限り同じチェックアウト。 サブエージェントはメインの会話の作業ディレクトリで始まります。フロントマターに
isolation: worktreeを書くと、代わりに一時的なGitワークツリーが割り当てられ、変更がなければ自動で削除されます。 - 同じ利用上限。 サブエージェントのリクエストはメインの会話と同じ利用上限にカウントされます。ドキュメントは、多数のサブエージェントがそれぞれ詳しい結果を返すとコンテキストを大きく消費すると注意しています。
Claude Codeのドキュメントにある並列機能は?
Claude Codeのドキュメントには、サブエージェント以外にも作業を並列に進める方法がいくつか書かれており、どれもClaudeのセッションで構成されます。ドキュメントによると、別のツールを関わらせるには、それをMCPサーバーとしてClaudeに公開します。
ドキュメントには、動的ワークフロー(多数のサブエージェントを動かすスクリプト)と、プロジェクト(claude.ai/codeまたはデスクトップアプリから始める並列のスレッド)も載っています。Agent teamsは CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 で有効にします。ドキュメントによるとチームメイトはワークツリーで分離されないため、チームメイトごとに別のファイル群を担当させるべきです。
別々の並列セッションでは何が得られる?
別々のセッションとは、タスクごとの完全な会話で、あなたが直接操作でき、専用のチェックアウトを持ち、好きなエージェントを動かせます。その代わり、セッション同士の調整はあなたかツールが担います。
- 別々のコンテキスト。 各セッションは会話全体を保持し、誰かに渡される要約にはなりません。いつでも直接話しかけられます。やり取りを何度も重ねる長いタスクに向いており、サブエージェントのドキュメントもそうしたタスクはメインの会話で扱うべきだとしています。
- 別々のワークツリー。 コードを編集するセッションにはそれぞれ専用のワークツリーを与え、あるセッションの作りかけの変更が別のセッションの足元に現れないようにします。Claude Codeに作らせることも、Gitをそのまま使うこともできます。
claude --worktree feature-auth # terminal 1
claude --worktree fix-session-bug # terminal 2
# or with git directly
git worktree add ../myapp-api -b agent/api
cd ../myapp-api && claude- プロバイダーの混在。 専用のターミナルなら、Claude Codeの隣でCodex、Gemini CLI、その他のCLIエージェントを動かせます。Claude Codeの組み込み機能ではこれはできません。
複数のセッションやサブエージェントを同時に動かすとトークン使用量は何倍にもなるため、ドキュメントは利用量とレート制限について料金のページを案内しています。特にAgent teamsは、チームメイトがそれぞれ別のClaudeインスタンスなので、単一のセッションよりかなり多くのトークンを使います。
サブエージェントと並列セッションの比較は?
どちらを使うべき?
条件を満たす最も軽い方法から始め、タスクが必要とするときだけ次へ進みます。
- すぐ済む変更や、やり取りの多いタスク: 1つのメインの会話のままにします。
- コンテキストを埋め尽くしてしまうサイドタスク(大きなコードベースの検索、ログの読み込み、テストの実行):サブエージェントを使い、要約だけを残します。
- 同時にファイルを編集する複数の独立したClaudeのタスク:
isolation: worktreeを設定したサブエージェント、またはそれぞれワークツリーを持つAgent viewのバックグラウンドセッションを使います。 - タスクごとに自分で操作したい作業や、別のプロバイダーのレビュアー: それぞれ専用のワークツリーを持つ別々のセッションを動かします。
- 作業を互いに受け渡す必要があるセッション: やり取りの手段を加えます。Claude Codeセッション間のセッション間メッセージ、Agent teams、または別のプロバイダーを含むならMAOです。
MAOはどこに当てはまる?
MAOは並列セッション側のためのものです。各セッションはキャンバス上の実際のターミナルで、MAOは普通のターミナルにないブランチ、接続、通知を加えます。
- すべてのノードはエージェント自身のCLIです。 ノードはClaude Code、Codex、Gemini CLI、Grok、OpenCode、Antigravity、またはシェルを、そのエージェント自身のログインとモデルで動かします。Claude Codeのノードは本物のCLIなので、自分のサブエージェントにも委任できます。
- レイヤーはGitワークツリーです。 エージェントをレイヤーに置くと、専用のブランチと専用の作業ツリーで作業します。キャンバス上で差分を確認し、準備ができたらレイヤーをGroundに取り込みます。
- ワイヤーでセッション同士がやり取りできます。 2つのエージェントを接続すると、
maoコマンドで互いにタスクを送り、結果を受け取れます。ワイヤーが許可するのは、その反対側にあるノードへのアクセスだけです。 - 共有コンテキストはノートに置きます。 ノートにワイヤーで接続したエージェントは、そのノートを読み、追記できるので、仕様は一度書けば済みます。
- 要対応は向こうから知らせてくれます。 エージェントが完了、失敗、または承認待ちになると、そのノードに表示され、デスクトップ通知も届きます。
- ノードごとのアカウント。 エージェントノードはそれぞれ専用のプロバイダーアカウントを使えるので、2つのClaude Codeセッションを2つのアカウントで並べて動かせます。
ワーカーは自分のターミナルから、接続したレビュアーに依頼し、進捗を記録します。
mao peers
mao ask reviewer "Review the session refresh changes on this branch"
mao note append progress "Refresh path done; reviewer is on it"よくある質問
いいえ。各サブエージェントは専用のコンテキストウィンドウで動き、あなたの会話履歴を見ずに、要約を返します。例外はフォークしたサブエージェントで、会話を引き継ぎます。
はい、それぞれが専用のワークツリーを持っていればできます。サブエージェントのフロントマターに isolation: worktree を加えるか、エージェントにワークツリーを使うようClaudeに頼みます。そうしなければ、サブエージェントはメインの会話のチェックアウトで作業します。
サブエージェントは要約だけが返るのでメインのコンテキストを小さく保てますが、そのリクエストは同じ利用上限にカウントされます。Haikuなど小さいモデルで動かすこともできます。どちらの方法でも、複数のセッションやサブエージェントを同時に動かすとトークン使用量は何倍にもなります。
いいえ。Claude Codeのどの方法でもワーカーはClaudeのセッションで、別のツールにはMCPサーバーとしてしか接続できません。CodexやGemini CLIを独立したエージェントとして動かすには、専用のターミナルで起動するか、MAOのノードとして置いてClaude Codeのセッションとワイヤーで接続します。
サブエージェントは結果をメインの会話に報告し、作業全体はメインの会話が管理します。Agent teamsでは、リードがチームメイトを起動し、チームメイトはタスクリストを共有して直接メッセージを送り合います。この機能は実験的で、デフォルトで無効になっており、より多くのトークンを使います。
出典
- Create custom subagents:サブエージェントとは何か、専用のコンテキストウィンドウ、組み込みのサブエージェント、ファイルの場所とフロントマター、呼び出し方、フォアグラウンドとバックグラウンド、同時実行数と入れ子の上限、
isolation: worktree、利用上限、そしてメインの会話を使うべき場面。 - Run agents in parallel:Claude Codeの並列の方法の一覧、ワーカーが常にClaudeのセッションであること、別のツールにはMCPを使うこと、複数のセッションやサブエージェントでトークン使用量が何倍にもなること。
- Run parallel sessions with worktrees:
claude --worktree、.claude/worktrees/の場所とブランチ名、サブエージェントのワークツリー。 - Manage multiple agents with agent view:
claude agents、リサーチプレビューであること、割り当てた各セッションが移るワークツリー。 - Orchestrate teams of Claude Code sessions:Agent teams、有効にする方法、サブエージェントとの比較、ファイルの衝突、トークン使用量。
- Message your other Claude Code sessions:セッション間メッセージ、必要なバージョン、メッセージに含まれるもの。
- Manage costs effectively:サブエージェントのリクエストが利用量を消費すること、サブエージェント向けの小さいモデル、Agent teamsのトークン費用。
- 複数のClaude Codeエージェントを並列で動かす方法とコーディングエージェントのためのマルチエージェント・オーケストレーション:MAOのレイヤー、ワイヤー、
maoコマンド、要対応。 - シェルやエージェントを起動する、ワークツリーのレイヤーを作成する、エージェント、ノート、ポータルを接続する、接続したノートをCLIで扱う、プロバイダーアカウントを追加して選ぶ:MAOのエージェントノード、レイヤー、接続、ノート、アカウント。
確認日:2026-10-28。
ご質問は?Discordで質問するか、hello@miguer.comまでメールでお知らせください。