【Claude Code 連載 第64回】エージェントを並列実行する — 4つのアプローチの使い分け

スポンサーリンク
【Claude Code 連載 第64回】エージェントを並列実行する — 4つのアプローチの使い分け 用語解説
【Claude Code 連載 第64回】エージェントを並列実行する — 4つのアプローチの使い分け
この記事は約9分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

スポンサーリンク

背景

この連載では、Claude Codeの公式ドキュメントを1ページずつ読み解いていきます。公式ドキュメントは情報が網羅されている分、「結局どの機能を、どんな場面で使えばいいのか」は自分で考える必要があり、読むのに意外と時間がかかります。そこで、私が実務で使うために読み込んだ内容を「使う場面→実例コード」の順に整理して残していくことにしました。専門家の解説というより、一次情報を読んだ記録です。推測や動作を確認していない部分には、その都度そう書きます。

1. 一言でいうと何か

このページは、**Claude Code が複数のタスクを同時に走らせる4つの方法を比較する「地図」**です。

前回(第63回)の worktree はファイル編集を分離する仕組みでした。今回はその一段上——そもそもどの並列化手段を選ぶかという判断の話です。

4つのアプローチはこれです。

アプローチ提供内容使う場面
サブエージェント1つのセッション内で委任されたワーカーが、独自のコンテキストでサイドタスクを実行し、サマリーを返すサイドタスクが検索結果・ログ・ファイル内容で主な会話を埋め尽くす場合(再度参照しない)
エージェントビューclaude agents で開く、バックグラウンド実行中のセッションをディスパッチして監視する1画面。リサーチプレビュー複数の独立したタスクを引き継いで、一目で状態を確認し、必要なときだけ介入したい場合
エージェントチーム共有タスクリストとエージェント間メッセージングを備えた複数の調整されたセッション。リーダーが管理。実験的で既定は無効Claude にプロジェクトを分割・割り当て・同期させたい場合
動的ワークフロー多くのサブエージェントを実行し、その結果をチェックするスクリプト。1回のターンで調整するには大きすぎるジョブ向けコードベース全体の監査、500ファイルの移行、相互検証が必要な調査など

選択の軸は冒頭で示されています。各会話に自分で留まりたいのか、タスクを引き継いで後で確認したいのか、それとも Claude に一群のワーカーを調整させたいのか。

そして全アプローチに共通する前提が1つ。**ワーカーはすべて Claude セッションです。**別のツールを関与させたいなら、MCP サーバーとして Claude に公開します。

2. どういう場面で役立つか

シーン1:会話をログで埋めたくない

サブエージェントの本来の用途がこれです。「検索結果、ログ、ファイル内容で主な会話を埋め尽くす」——そして再度参照しないサイドタスク。結果のサマリーだけ受け取れば十分な作業に向きます。

シーン2:独立した複数タスクを投げて後で見る

エージェントビューclaude agents)は1画面ですべてのセッションと状態を見せ、入力が必要なものを教えてくれます。「引き継いで、必要なときだけ介入」という運用に合います。

シーン3:Claude に指揮させる

エージェントチームは、Claude がプロジェクトを分割し、割り当て、ワーカーを同期させる構成です。チームメイトはタスクリストを共有し、互いに直接メッセージを送ります——ここが他と決定的に違う点です。

シーン4:1ターンでは無理な規模の作業

動的ワークフロースクリプトが計画を保持します。Claude のターンごとの判断の代わりにスクリプトが段取りを持つので、規模が大きくても崩れません。

不要・向かないケース

  • 単にコマンドを1つ非同期で走らせたいバックグラウンド bash コマンドで足ります——エージェントをスポーンしません。
  • 会話コンテキストを引き継がせたい。それはフォークされたサブエージェントで、新規に開始する代わりに完全な会話コンテキストを継承します。ただしこれはサブエージェントをスポーンする方法であって、別のサーフェスではありません。
  • スケジュールで動かしたいルーチンマシン上で並列実行するのではなく、Anthropic のクラウドでスケジュールに従ってセッションを実行します。並列化とは別問題です。
  • トークン消費を抑えたい複数のセッションやサブエージェントを同時に走らせるとトークン使用量が増えます。
  • エージェントチームを今すぐ本番投入したい実験的で、デフォルトでは無効です。エージェントビューもリサーチプレビュー

3. 選び方と確認方法

**このページには実行可能なコード例が含まれていません。**示されるのは比較の枠組みと、状態を確認するためのコマンド群です。以下ではその判断基準と、原文のコマンドを整理します。

判断は3つの問いで決まる

問い1:誰が作業を調整するか。

  • Claude が1つの会話内で委任と結果の収集を行うサブエージェント
  • 独立したタスクを引き継いで後で確認するエージェントビュー
  • Claude がワーカーのグループを計画・割り当て・監督するエージェントチーム(実験的・既定無効)
  • スクリプトが Claude のターンバイターン判断の代わりに計画を保持する動的ワークフロー

4つ目の表現が的確です。「スクリプトが計画を保持する」——つまり判断の主体をモデルからコードに移すのが動的ワークフローの本質だ、ということです。

問い2:ワーカーが互いに通信する必要があるか。

ここで3つの通信モデルが対比されます。サブエージェントは結果を「それらを生成した会話」に報告する。エージェントビューのセッションは「あなたにのみ」報告する。エージェントチームのチームメイトはタスクリストを共有し、互いに直接メッセージを送る。

エージェント同士が話す必要があるならエージェントチーム一択、という整理になります。

問い3:タスクが同じファイルに触れるか。

触れるならworktree で分離します(第63回)。サブエージェントと、自分で実行するセッションは、それぞれ個別の worktree を使えます。

ただし重要な例外が明記されています。エージェントチームはチームメイトを worktree で分離しません。したがって作業を分割して、各チームメイトが異なるファイルセットを所有するようにする必要があります。Claude に指揮を任せる代わりに、ファイルの縄張りは人間が設計する——ここは見落とすと衝突します。

並列化を支える2つの補助ツール

エージェント自体を実行する方法ではないが、この作業を支えるものが2つ挙げられています。

worktree(第63回)は各セッションに個別の git チェックアウトを与えます。自分で実行するセッションに使うのが基本ですが、自動化もされています——エージェントビューはディスパッチした各セッションを自動的に独自の worktree に移し、そこからスポーンするサブエージェントも各々独自の worktree を取得できます。

/batch1つの大きな変更を5〜30個の worktree 分離サブエージェントに分割し、各エージェントがプルリクエストを開く skill です。位置づけの説明が明快で——**これはサブエージェントと worktree のパッケージ化された使い方であり、別の調整スタイルではありません。**新しい概念を覚える必要はない、ということです。

並列化と紛らわしいが別物の3つ

混同しやすいものが名指しで区別されています。

  • バックグラウンド bash コマンド会話をブロックせずにシェルコマンドを1つ実行する。エージェントはスポーンしない。
  • フォークされたサブエージェント完全な会話コンテキストを継承するサブエージェント。サブエージェントをスポーンする方法であって、別のサーフェスではない。
  • ルーチンAnthropic のクラウドでスケジュール実行。マシン上での並列実行ではない。

「並列に何かが動く」という見た目は似ていても、解決している問題が違うという整理です。

実行中の作業を確認するコマンド

**アプローチごとに確認コマンドが違います。**ここは実務で毎回引くところです。

対象コマンド見えるもの
バックグラウンドセッションclaude agentsすべてのセッション、その状態、入力が必要なセッションを1画面で
現在のセッション内のサブエージェント@-メンションの入力補完名前付きバックグラウンドサブエージェントが状態とともに表示される
現在のセッションのバックグラウンド実行全般/tasks各項目をリストし、確認・アタッチ・停止できる。完了したサブエージェントも含む
動的ワークフロー/workflows実行中と完了した実行、各実行の段階、完了したエージェント数

/agents の扱いが変わっている点は注意が必要です。v2.1.198 以降、/agents はパネルを開かなくなり、サブエージェントファイルの場所を指すお知らせを出力するだけになりました。カスタムサブエージェントの作成・編集はClaude に頼むか、ファイルを直接編集します。

そして紛らわしい名前についての警告——/agentsclaude agents は名前が似ているが別物です。前者はスラッシュコマンド(現在は案内を出すだけ)、後者はエージェントビューを開く CLI コマンド

すべてのセッションをデスクトップで見たい場合は、デスクトップアプリの並列セッション機能(第30・31回)を参照します。

コスト

Note として1点だけ、しかし重要な注意があります。**複数のセッションまたはサブエージェントを同時に実行すると、トークン使用量が増加します。**並列化は時間を買う代わりにトークンを払う取引だ、ということです。使用量とレート制限の詳細はコストのページに委ねられています。

4. まとめ + 次回予告

  • 並列化の手段は4つ——サブエージェント(1会話内の委任)/エージェントビュー(引き継いで監視)/エージェントチーム(Claude が指揮)/動的ワークフロー(スクリプトが計画を保持)
  • **ワーカーはすべて Claude セッション。**別のツールを混ぜたいなら MCP サーバーとして公開する。
  • 選択は3つの問いで決まる——誰が調整するか/ワーカーが通信する必要があるか/同じファイルに触れるか。
  • 通信モデルの違いが決定的:サブエージェントは生成元の会話へ、エージェントビューはあなたへ、エージェントチームは互いに直接。
  • **エージェントチームだけは worktree で分離されない。**ファイルの縄張りを自分で設計する必要がある。
  • worktree と /batch は「エージェントを実行する方法」ではなく補助ツール。/batchサブエージェント+worktree のパッケージ化であって新しい調整スタイルではない。
  • バックグラウンド bash・フォークされたサブエージェント・ルーチンは並列化とは別問題を解いている。
  • 確認コマンドは**claude agents(エージェントビュー)/@-メンション補完(サブエージェント)//tasks(バックグラウンド全般)//workflows(動的ワークフロー)**。
  • /agents は v2.1.198 以降パネルを開かない。claude agents とは別物。
  • エージェントビューはリサーチプレビュー、エージェントチームは実験的で既定無効。
  • 並列化はトークンを消費する。

次回予告(暫定):4つのアプローチのうち、**エージェントビュー(agent-view)**を取り上げ、claude agents によるセッションのディスパッチと監視、ファイル編集の分離の仕組みを扱う予定です。


よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました