6 6
7> Claude Code が複数のタスクを同時に実行する方法を比較します。サブエージェント、エージェントビュー、エージェントチーム、および動的ワークフローについて説明します。7> Claude Code が複数のタスクを同時に実行する方法を比較します。サブエージェント、エージェントビュー、エージェントチーム、および動的ワークフローについて説明します。
8 8
9[サブエージェント](/ja/sub-agents)、[エージェントビュー](/ja/agent-view)、[エージェントチーム](/ja/agent-teams)、および [動的ワークフロー](/ja/workflows) は、それぞれ異なる方法で作業を並列化します。どれを選ぶかは、各会話に自分で留まりたいのか、タスクを引き継いで後で確認したいのか、それとも Claude に一群のワーカーを調整させたいのかによって異なります。9[サブエージェント](/docs/ja/sub-agents)、[エージェントビュー](/docs/ja/agent-view)、[エージェントチーム](/docs/ja/agent-teams)、および [動的ワークフロー](/docs/ja/workflows) は、それぞれ異なる方法で作業を並列化します。どれを選ぶかは、各会話に自分で留まりたいのか、タスクを引き継いで後で確認したいのか、それとも Claude に一群のワーカーを調整させたいのかによって異なります。
10 10
11| アプローチ | 提供内容 | 使用する場合 |11| アプローチ | 提供内容 | 使用する場合 |
12| :--------------------------- | :---------------------------------------------------------------------- | :-------------------------------------------------------------------------- |12| :--------------------------- | :---------------------------------------------------------------------- | :-------------------------------------------------------------------------- |
13| [サブエージェント](/ja/sub-agents) | 1 つのセッション内で委任されたワーカーが、独自のコンテキストでサイドタスクを実行し、サマリーを返す | サイドタスクが検索結果、ログ、またはファイルコンテンツで主な会話を埋め尽くす場合(再度参照しない) |13| [サブエージェント](/docs/ja/sub-agents) | 1 つのセッション内で委任されたワーカーが、独自のコンテキストでサイドタスクを実行し、サマリーを返す | サイドタスクが検索結果、ログ、またはファイルコンテンツで主な会話を埋め尽くす場合(再度参照しない) |
14| [エージェントビュー](/ja/agent-view) | `claude agents` で開く、バックグラウンドで実行されているセッションをディスパッチして監視する 1 つの画面。リサーチプレビュー | 複数の独立したタスクがあり、それらを引き継いで、一目で状態を確認し、必要な場合のみ介入したい場合 |14| [エージェントビュー](/docs/ja/agent-view) | `claude agents` で開く、バックグラウンドで実行されているセッションをディスパッチして監視する 1 つの画面。リサーチプレビュー | 複数の独立したタスクがあり、それらを引き継いで、一目で状態を確認し、必要な場合のみ介入したい場合 |
15| [エージェントチーム](/ja/agent-teams) | 共有タスクリストとエージェント間メッセージングを備えた複数の調整されたセッション。リーダーによって管理される。実験的で、デフォルトでは無効 | Claude にプロジェクトを分割させ、割り当てさせ、ワーカーを同期させたい場合 |15| [エージェントチーム](/docs/ja/agent-teams) | 共有タスクリストとエージェント間メッセージングを備えた複数の調整されたセッション。リーダーによって管理される。実験的で、デフォルトでは無効 | Claude にプロジェクトを分割させ、割り当てさせ、ワーカーを同期させたい場合 |
16| [動的ワークフロー](/ja/workflows) | 多くのサブエージェントを実行し、その結果をチェックするスクリプト。1 回のターンで調整するには大きすぎるジョブ向け | タスクが大きすぎてサブエージェント数個では対応できない場合。コードベース全体の監査、500 ファイルのマイグレーション、または相互検証が必要な調査など |16| [動的ワークフロー](/docs/ja/workflows) | 多くのサブエージェントを実行し、その結果をチェックするスクリプト。1 回のターンで調整するには大きすぎるジョブ向け | タスクが大きすぎてサブエージェント数個では対応できない場合。コードベース全体の監査、500 ファイルのマイグレーション、または相互検証が必要な調査など |
17 17
18すべてのアプローチにおいて、ワーカーは Claude セッションです。別のツールを関与させるには、それを Claude に [MCP サーバー](/ja/mcp) として公開します。18すべてのアプローチにおいて、ワーカーは Claude セッションです。別のツールを関与させるには、それを Claude に [MCP サーバー](/docs/ja/mcp) として公開します。
19 19
20この作業をサポートする 2 つの追加ツールがありますが、エージェント自体を実行する方法ではありません。20この作業をサポートする 2 つの追加ツールがありますが、エージェント自体を実行する方法ではありません。
21 21
22* [ワークツリー](/ja/worktrees) は各セッションに個別の git チェックアウトを提供するため、並列セッションが同じファイルを編集することはありません。自分で実行するセッションに使用します。エージェントビューは、ディスパッチされた各セッションを自動的に独自のワークツリーに移動し、スポーンするサブエージェントも各々独自のワークツリーを取得できます。22* [ワークツリー](/docs/ja/worktrees) は各セッションに個別の git チェックアウトを提供するため、並列セッションが同じファイルを編集することはありません。自分で実行するセッションに使用します。エージェントビューは、ディスパッチされた各セッションを自動的に独自のワークツリーに移動し、スポーンするサブエージェントも各々独自のワークツリーを取得できます。
23* [`/batch`](/ja/commands) は、1 つの大きな変更を 5 ~ 30 個のワークツリー分離サブエージェントに分割し、各エージェントがプルリクエストを開く [skill](/ja/skills) です。これはサブエージェントとワークツリーのパッケージ化された使用法であり、別の調整スタイルではありません。23* [`/batch`](/docs/ja/commands) は、1 つの大きな変更を 5 ~ 30 個のワークツリー分離サブエージェントに分割し、各エージェントがプルリクエストを開く [skill](/docs/ja/skills) です。これはサブエージェントとワークツリーのパッケージ化された使用法であり、別の調整スタイルではありません。
24 24
25他にも Claude を各ステップで駆動することなく実行する機能がいくつかありますが、これらはエージェント間で作業を分割することとは異なる問題を解決します。25他にも Claude を各ステップで駆動することなく実行する機能がいくつかありますが、これらはエージェント間で作業を分割することとは異なる問題を解決します。
26 26
27* [バックグラウンド bash コマンド](/ja/interactive-mode#background-bash-commands) は、会話をブロックすることなく 1 つのシェルコマンドを実行します。エージェントをスポーンしません。27* [バックグラウンド bash コマンド](/docs/ja/interactive-mode#background-bash-commands) は、会話をブロックすることなく 1 つのシェルコマンドを実行します。エージェントをスポーンしません。
28* [フォークされたサブエージェント](/ja/sub-agents#fork-the-current-conversation) は、新規に開始する代わりに完全な会話コンテキストを継承するサブエージェントです。これはサブエージェントをスポーンする方法であり、別のサーフェスではありません。28* [フォークされたサブエージェント](/docs/ja/sub-agents#fork-the-current-conversation) は、新規に開始する代わりに完全な会話コンテキストを継承するサブエージェントです。これはサブエージェントをスポーンする方法であり、別のサーフェスではありません。
29* [ルーチン](/ja/routines) は、マシン上で並列に実行するのではなく、Anthropic のクラウドでスケジュールに従ってセッションを実行します。29* [ルーチン](/docs/ja/routines) は、マシン上で並列に実行するのではなく、Anthropic のクラウドでスケジュールに従ってセッションを実行します。
30 30
31<Note>31<Note>
32 複数のセッションまたはサブエージェントを同時に実行すると、トークン使用量が増加します。使用量とレート制限の詳細については、[コスト](/ja/costs) を参照してください。32 複数のセッションまたはサブエージェントを同時に実行すると、トークン使用量が増加します。使用量とレート制限の詳細については、[コスト](/docs/ja/costs) を参照してください。
33</Note>33</Note>
34 34
35<h2 id="choose-an-approach">35<h2 id="choose-an-approach">
39適切なアプローチは、誰が作業を調整するか、ワーカーが通信する必要があるかどうか、および同じファイルを編集するかどうかによって異なります。39適切なアプローチは、誰が作業を調整するか、ワーカーが通信する必要があるかどうか、および同じファイルを編集するかどうかによって異なります。
40 40
41* **誰が作業を調整するか?**41* **誰が作業を調整するか?**
42 * Claude が 1 つの会話内で委任と結果の収集を行う場合:[サブエージェント](/ja/sub-agents)42 * Claude が 1 つの会話内で委任と結果の収集を行う場合:[サブエージェント](/docs/ja/sub-agents)
43 * 独立したタスクを引き継いで後で確認する場合:[エージェントビュー](/ja/agent-view)43 * 独立したタスクを引き継いで後で確認する場合:[エージェントビュー](/docs/ja/agent-view)
44 * Claude がワーカーのグループを計画、割り当て、監督する場合:[エージェントチーム](/ja/agent-teams)(実験的で、デフォルトでは無効)44 * Claude がワーカーのグループを計画、割り当て、監督する場合:[エージェントチーム](/docs/ja/agent-teams)(実験的で、デフォルトでは無効)
45 * スクリプトが Claude のターンバイターン判断の代わりに計画を保持する場合:[動的ワークフロー](/ja/workflows)。[ワークフローがサブエージェントとスキルとどのように比較されるか](/ja/workflows#when-to-use-a-workflow)を参照してください45 * スクリプトが Claude のターンバイターン判断の代わりに計画を保持する場合:[動的ワークフロー](/docs/ja/workflows)。[ワークフローがサブエージェントとスキルとどのように比較されるか](/docs/ja/workflows#when-to-use-a-workflow)を参照してください
46* **ワーカーが互いに通信する必要があるか?** サブエージェントは結果をそれらを生成した会話に報告し、エージェントビューセッションはあなたにのみ報告します。エージェントチームのチームメイトはタスクリストを共有し、互いに直接メッセージを送信します。46* **ワーカーが互いに通信する必要があるか?** サブエージェントは結果をそれらを生成した会話に報告し、エージェントビューセッションはあなたにのみ報告します。エージェントチームのチームメイトはタスクリストを共有し、互いに直接メッセージを送信します。
47* **タスクが同じファイルに触れるか?** [ワークツリー](/ja/worktrees)で作業を分離します。サブエージェントと自分で実行するセッションは、それぞれ個別のワークツリーを使用できます。エージェントチームはチームメイトをワークツリーで分離しないため、[作業を分割](/ja/agent-teams#avoid-file-conflicts)して、各チームメイトが異なるファイルセットを所有するようにします。47* **タスクが同じファイルに触れるか?** [ワークツリー](/docs/ja/worktrees)で作業を分離します。サブエージェントと自分で実行するセッションは、それぞれ個別のワークツリーを使用できます。エージェントチームはチームメイトをワークツリーで分離しないため、[作業を分割](/docs/ja/agent-teams#avoid-file-conflicts)して、各チームメイトが異なるファイルセットを所有するようにします。
48 48
49<h2 id="check-on-running-work">49<h2 id="check-on-running-work">
50 実行中の作業を確認する50 実行中の作業を確認する
52 52
53実行中の作業を確認するコマンドは、使用したアプローチによって異なります。53実行中の作業を確認するコマンドは、使用したアプローチによって異なります。
54 54
55* バックグラウンドセッションの場合、`claude agents` は [エージェントビュー](/ja/agent-view) を開きます。すべてのセッション、その状態、および入力が必要なセッションを表示する 1 つの画面です。55* バックグラウンドセッションの場合、`claude agents` は [エージェントビュー](/docs/ja/agent-view) を開きます。すべてのセッション、その状態、および入力が必要なセッションを表示する 1 つの画面です。
56* 現在のセッション内のサブエージェントの場合、名前付きバックグラウンドサブエージェントは @-メンション入力補完に状態とともに表示されます。{/* min-version: 2.1.198 */}v2.1.198 以降、`/agents` はパネルを開かなくなり、サブエージェントファイルの場所を指すお知らせを出力します。[カスタムサブエージェントを作成および編集](/ja/sub-agents#configure-subagents) するには、Claude に質問するか、ファイルを直接編集してください。名前は似ていますが、`/agents` は `claude agents` とは別です。56* 現在のセッション内のサブエージェントの場合、名前付きバックグラウンドサブエージェントは @-メンション入力補完に状態とともに表示されます。v2.1.198 以降、`/agents` はパネルを開かなくなり、サブエージェントファイルの場所を指すお知らせを出力します。[カスタムサブエージェントを作成および編集](/docs/ja/sub-agents#configure-subagents) するには、Claude に質問するか、ファイルを直接編集してください。名前は似ていますが、`/agents` は `claude agents` とは別です。
57* 現在のセッションのバックグラウンドで実行されているもの場合、`/tasks` は各項目をリストし、確認、アタッチ、または停止できます。リストには完了したサブエージェントも含まれます。57* 現在のセッションのバックグラウンドで実行されているもの場合、`/tasks` は各項目をリストし、確認、アタッチ、または停止できます。リストには完了したサブエージェントも含まれます。
58* 動的ワークフローの場合、`/workflows` は実行中および完了した実行、各実行がある段階、および完了したエージェント数をリストします。58* 動的ワークフローの場合、`/workflows` は実行中および完了した実行、各実行がある段階、および完了したエージェント数をリストします。
59 59
60すべてのセッションのデスクトップビューについては、[デスクトップアプリでのセッションの並列実行](/ja/desktop#work-in-parallel-with-sessions) を参照してください。60すべてのセッションのデスクトップビューについては、[デスクトップアプリでのセッションの並列実行](/docs/ja/desktop#work-in-parallel-with-sessions) を参照してください。
61 61
62<h2 id="learn-more">62<h2 id="learn-more">
63 詳細情報63 詳細情報
65 65
66各ガイド以下は、1 つのアプローチのセットアップと構成をカバーしています。66各ガイド以下は、1 つのアプローチのセットアップと構成をカバーしています。
67 67
68* [カスタムサブエージェントを作成する](/ja/sub-agents):再利用可能なスペシャリストを定義し、使用できるツールを制御します。68* [カスタムサブエージェントを作成する](/docs/ja/sub-agents):再利用可能なスペシャリストを定義し、使用できるツールを制御します。
69* [エージェントビューでエージェントを管理する](/ja/agent-view):セッションをディスパッチし、その状態を監視し、必要な場合にアタッチします。69* [エージェントビューでエージェントを管理する](/docs/ja/agent-view):セッションをディスパッチし、その状態を監視し、必要な場合にアタッチします。
70* [エージェントチームを調整する](/ja/agent-teams):リーダーとチームメイトをセットアップし、タスクを割り当て、その作業をレビューします。70* [エージェントチームを調整する](/docs/ja/agent-teams):リーダーとチームメイトをセットアップし、タスクを割り当て、その作業をレビューします。
71* [動的ワークフローを調整する](/ja/workflows):バンドルされたワークフローを実行するか、多くのサブエージェントを実行し、その結果を相互に検証する Claude が作成したワークフローを実行します。71* [動的ワークフローを調整する](/docs/ja/workflows):バンドルされたワークフローを実行するか、多くのサブエージェントを実行し、その結果を相互に検証する Claude が作成したワークフローを実行します。
72* [ワークツリーで並列セッションを実行する](/ja/worktrees):分離されたチェックアウトで Claude を開始し、コピーされるものを制御し、その後クリーンアップします。72* [ワークツリーで並列セッションを実行する](/docs/ja/worktrees):分離されたチェックアウトで Claude を開始し、コピーされるものを制御し、その後クリーンアップします。