エージェントを並列実行する
Claude Code が複数のタスクを同時に実行する方法を比較します。サブエージェント、エージェントビュー、エージェントチーム、および動的ワークフローについて説明します。
サブエージェント、エージェントビュー、エージェントチーム、および 動的ワークフロー は、それぞれ異なる方法で作業を並列化します。どれを選ぶかは、各会話に自分で留まりたいのか、タスクを引き継いで後で確認したいのか、それとも Claude に一群のワーカーを調整させたいのかによって異なります。
| アプローチ | 提供内容 | 使用する場合 |
|---|---|---|
| サブエージェント | 1 つのセッション内で委任されたワーカーが、独自のコンテキストでサイドタスクを実行し、サマリーを返す | サイドタスクが検索結果、ログ、またはファイルコンテンツで主な会話を埋め尽くす場合(再度参照しない) |
| エージェントビュー | claude agents で開く、バックグラウンドで実行されているセッションをディスパッチして監視する 1 つの画面。リサーチプレビュー |
複数の独立したタスクがあり、それらを引き継いで、一目で状態を確認し、必要な場合のみ介入したい場合 |
| エージェントチーム | 共有タスクリストとエージェント間メッセージングを備えた複数の調整されたセッション。リーダーによって管理される。実験的で、デフォルトでは無効 | Claude にプロジェクトを分割させ、割り当てさせ、ワーカーを同期させたい場合 |
| 動的ワークフロー | 多くのサブエージェントを実行し、その結果をチェックするスクリプト。1 回のターンで調整するには大きすぎるジョブ向け | タスクが大きすぎてサブエージェント数個では対応できない場合。コードベース全体の監査、500 ファイルのマイグレーション、または相互検証が必要な調査など |
すべてのアプローチにおいて、ワーカーは Claude セッションです。別のツールを関与させるには、それを Claude に MCP サーバー として公開します。
この作業をサポートする 2 つの追加ツールがありますが、エージェント自体を実行する方法ではありません。
- ワークツリー は各セッションに個別の git チェックアウトを提供するため、並列セッションが同じファイルを編集することはありません。自分で実行するセッションに使用します。エージェントビューは、ディスパッチされた各セッションを自動的に独自のワークツリーに移動し、スポーンするサブエージェントも各々独自のワークツリーを取得できます。
/batchは、1 つの大きな変更を 5 ~ 30 個のワークツリー分離サブエージェントに分割し、各エージェントがプルリクエストを開く skill です。これはサブエージェントとワークツリーのパッケージ化された使用法であり、別の調整スタイルではありません。
他にも Claude を各ステップで駆動することなく実行する機能がいくつかありますが、これらはエージェント間で作業を分割することとは異なる問題を解決します。
- バックグラウンド bash コマンド は、会話をブロックすることなく 1 つのシェルコマンドを実行します。エージェントをスポーンしません。
- フォークされたサブエージェント は、新規に開始する代わりに完全な会話コンテキストを継承するサブエージェントです。これはサブエージェントをスポーンする方法であり、別のサーフェスではありません。
- ルーチン は、マシン上で並列に実行するのではなく、Anthropic のクラウドでスケジュールに従ってセッションを実行します。
複数のセッションまたはサブエージェントを同時に実行すると、トークン使用量が増加します。使用量とレート制限の詳細については、コスト を参照してください。
アプローチを選択する
適切なアプローチは、誰が作業を調整するか、ワーカーが通信する必要があるかどうか、および同じファイルを編集するかどうかによって異なります。
- 誰が作業を調整するか?
- Claude が 1 つの会話内で委任と結果の収集を行う場合:サブエージェント
- 独立したタスクを引き継いで後で確認する場合:エージェントビュー
- Claude がワーカーのグループを計画、割り当て、監督する場合:エージェントチーム(実験的で、デフォルトでは無効)
- スクリプトが Claude のターンバイターン判断の代わりに計画を保持する場合:動的ワークフロー。ワークフローがサブエージェントとスキルとどのように比較されるかを参照してください
- ワーカーが互いに通信する必要があるか? サブエージェントは結果をそれらを生成した会話に報告し、エージェントビューセッションはあなたにのみ報告します。エージェントチームのチームメイトはタスクリストを共有し、互いに直接メッセージを送信します。
- タスクが同じファイルに触れるか? ワークツリーで作業を分離します。サブエージェントと自分で実行するセッションは、それぞれ個別のワークツリーを使用できます。エージェントチームはチームメイトをワークツリーで分離しないため、作業を分割して、各チームメイトが異なるファイルセットを所有するようにします。
実行中の作業を確認する
実行中の作業を確認するコマンドは、使用したアプローチによって異なります。
- バックグラウンドセッションの場合、
claude agentsは エージェントビュー を開きます。すべてのセッション、その状態、および入力が必要なセッションを表示する 1 つの画面です。 - 現在のセッション内のサブエージェントの場合、
/agentsはパネルを開き、ライブサブエージェントをリストする Running タブと、カスタムサブエージェントを作成および編集 できる Library タブがあります。名前は似ていますが、これはclaude agentsとは別です。 - 現在のセッションのバックグラウンドで実行されているもの場合、
/tasksは各項目をリストし、確認、アタッチ、または停止できます。 - 動的ワークフローの場合、
/workflowsは実行中および完了した実行、各実行がある段階、および完了したエージェント数をリストします。
すべてのセッションのデスクトップビューについては、デスクトップアプリでのセッションの並列実行 を参照してください。
詳細情報
各ガイド以下は、1 つのアプローチのセットアップと構成をカバーしています。
- カスタムサブエージェントを作成する:再利用可能なスペシャリストを定義し、使用できるツールを制御します。
- エージェントビューでエージェントを管理する:セッションをディスパッチし、その状態を監視し、必要な場合にアタッチします。
- エージェントチームを調整する:リーダーとチームメイトをセットアップし、タスクを割り当て、その作業をレビューします。
- 動的ワークフローを調整する:バンドルされたワークフローを実行するか、多くのサブエージェントを実行し、その結果を相互に検証する Claude が作成したワークフローを実行します。
- ワークツリーで並列セッションを実行する:分離されたチェックアウトで Claude を開始し、コピーされるものを制御し、その後クリーンアップします。