ダイナミックワークフローとは — Claude Codeが数百のサブエージェントを並列で束ねる新機能の仕組みと使い方
Claude Codeのダイナミックワークフロー(Dynamic Workflows)は、複雑なタスクをスクリプト化し数十〜数百のサブエージェントを並列実行する新機能です。仕組み・起動方法・他機能との違い・コストと使い分けを押さえます。
ダイナミックワークフロー(Dynamic Workflows)は、Claude Codeが複雑なタスクを自分でオーケストレーション用のスクリプトに書き起こし、1つのセッション内で数十〜数百のサブエージェントを並列に走らせる機能です。2026年5月28日に研究プレビューとして公開され、Claude Code v2.1.154以降の有料プランで利用できます。
これまでのClaude Codeは、メインのClaudeが「次に何をするか」をターンごとに判断し、必要に応じてサブエージェントを1つずつ起動する形でした。ダイナミックワークフローでは、その段取り(ループ・分岐・中間結果の受け渡し)をスクリプトという形のコードに固定します。Claudeはタスクの全体像を読み取ってこのスクリプトを書き、あとはランタイムがバックグラウンドで実行します。コードベース全体のバグ掃討、数百ファイルの移行、複数ソースを突き合わせる調査のように、1回の対話では抱えきれない規模の作業を任せる用途に向いています。
ダイナミックワークフローとは
ダイナミックワークフローの正体は、Claudeがタスクに合わせて動的に書き起こすJavaScriptのオーケストレーションスクリプトです。スクリプトの中で複数のサブエージェントを並列に展開し、結果を集約・検証してから次の工程へ渡します。要点は次のとおりです。
- Claudeがタスクに応じてスクリプトを生成する。利用者が段取りを手で組む必要はない
- 1回の実行で数十〜数百のサブエージェントを並列に動かせる
- 段取りと中間結果はスクリプト側が保持するため、メインのClaudeのコンテキストには最終結果だけが返る
- 独立したエージェントが互いの結果を反証・相互チェックしてから採用する品質パターンを組み込める
- バックグラウンドで走るので、実行中もセッションは応答可能なまま使える
- 一度動いて気に入ったスクリプトはコマンドとして保存し、何度でも再実行できる
なぜ単一エージェントでは足りないのか
1つのエージェントが1つのコンテキストの中で順番に処理していく方式には、規模が大きくなるほど効きにくくなる3つの壁があります。
- コンテキストの圧迫: 数百ファイルの走査結果をすべてメインのコンテキストに積むと、本来の思考に使える領域が早々に埋まる
- 計画が会話に縛られる: 「次に何をするか」をターンごとに決める方式では、長い分岐やループを最後まで一貫して回しきりにくい
- 再利用しにくい: その場の判断の積み重ねは、同じ手順をもう一度別の対象に当てたいときに再現しづらい
ダイナミックワークフローは、この段取りを会話の外のコードに移します。中間結果はスクリプトの変数に保持され、メインのClaudeには最終的な答えだけが返ります。段取りをコードにしておくと、エージェントを増やせるだけでなく、「複数のエージェントに互いの発見を反証させてから報告する」「1つの計画を複数の角度から下書きして比べる」といった、一度きりの処理では難しい品質の作り込みが繰り返し効くようになります。
仕組み:Claudeがスクリプトを書いて並列実行する
ダイナミックワークフローの実行は、おおまかに次の流れで進みます。
- 計画: Claudeが依頼内容を読み、タスクをサブタスクに分解するスクリプトを書く
- 並列展開: スクリプトが多数のサブエージェントを起動し、独立に走らせる
- 検証: 出てきた結果を別のエージェントが反証・相互チェックし、生き残った結果だけを採用する
- 収束まで反復: 検証で落ちた部分をやり直し、答えが固まるまで繰り返す
- 集約: 最終結果だけがメインのClaudeに返り、レポートとして提示される
ランタイムは会話とは別の隔離された環境でスクリプトを実行します。各エージェントの結果はランタイムが逐次記録するため、途中で止めても再開できます(再開の条件は後述します)。
公式が挙げる実例に、JavaScriptランタイムのBunを取り上げた移植事例があります。1つのワークフローがZigコードのすべての構造体フィールドに対応するRustのライフタイムを割り当て、次のワークフローが各.zigファイルを挙動の同じ.rsファイルへ移植しました。このとき1ファイルにつき2名のレビュー担当を付けた数百のエージェントが並列で動き、ビルドとテストが通るまで修正ループを回したと説明されています。結果として約75万行規模のRustコードへの移植を、最初のコミットからマージまで11日、既存テストスイートの99.8%を通過させて完了したとされます。
スクリプトの中身には何が書かれているか
ダイナミックワークフローのスクリプトはJavaScriptで書かれ、サブエージェントを並列に展開したり、各項目を複数段の工程へ順に流したり、進捗をフェーズ単位に区切ったりする処理で組み立てられます。組み込みの /deep-research も同じ仕組みで書かれているため、/workflows から実行を選んでスクリプトを開けば、実際にどんな関数でどう段取りされているかをそのまま読めます。気に入ればそのまま保存して再利用できます。
Subagents・Skillsとの違いと使い分け
ダイナミックワークフローは、サブエージェントやスキルと同じく複数ステップのタスクをこなせます。違いは「計画を誰が持つか」にあります。
| 観点 | Subagents | Skills | ダイナミックワークフロー |
|---|---|---|---|
| 正体 | SubagentsClaudeが起動する作業者 | SkillsClaudeが従う手順書 | ダイナミックワークフローランタイムが実行するスクリプト |
| 次の手を決めるのは | SubagentsClaude(ターンごと) | SkillsClaude(手順書に沿って) | ダイナミックワークフロースクリプト自身 |
| 中間結果の置き場所 | SubagentsClaudeのコンテキスト | SkillsClaudeのコンテキスト | ダイナミックワークフロースクリプトの変数 |
| 再利用できる単位 | Subagents作業者の定義 | Skills手順書の指示 | ダイナミックワークフローオーケストレーション全体 |
| 規模 | Subagents1ターンに数個 | SkillsSubagentsと同程度 | ダイナミックワークフロー1回の実行に数十〜数百 |
| 中断したとき | Subagentsターンをやり直す | Skillsターンをやり直す | ダイナミックワークフロー同一セッション内で再開可 |
サブエージェントとスキルでは、オーケストレーター(全体の指揮役)はあくまでClaude本体です。次に何を起動するかをターンごとに決め、結果は毎回Claudeのコンテキストに返ります。ダイナミックワークフローは、このループ・分岐・中間結果をスクリプト側に移します。だからこそ規模を一段引き上げられ、段取りそのものを保存して再利用できます。
役割をもう少し広げると、プロジェクト常駐のルールはCLAUDE.md、専門的な手順はSkills、責務を絞った作業者はSubagents、保存と検知のしかけはHooks、そして大規模なオーケストレーションがダイナミックワークフロー、という層に整理できます。サブエージェント自体の設計はClaude Code Sub-agents完全ガイド、スキルの仕組みはClaude Code Skills完全ガイドで詳しく扱っています。
3つの起動方法
ダイナミックワークフローを動かす入口は3つあります。
組み込みの /deep-researchを使う
最初の一歩として分かりやすいのが、組み込みのワークフロー /deep-research です。質問を渡すと、複数の角度でWeb検索を展開し、見つけた情報源を突き合わせ、相互チェックで生き残った主張だけを引用付きのレポートにまとめます。
/deep-research What changed in the Node.js permission model between v20 and v22?プロンプトにworkflowの語を入れる
セッションのエフォート(思考の強度)設定を変えずに、その依頼だけをワークフローにしたいときは、プロンプトのどこかに「workflow」という語を含めます。Claude Codeがその語を強調表示し、ターンごとに処理する代わりにワークフロー用のスクリプトを書きます。
Run a workflow to audit every API endpoint under src/routes/ for missing auth checks/effort ultracodeに切り替える
ultracodeは、推論のエフォートを最大級(xhigh)に上げつつ、ワークフローの自動オーケストレーションを組み合わせるClaude Code固有の設定です。
/effort ultracodeultracodeをオンにすると、Claudeがタスクごとに「ワークフローを組むべきか」を自分で判断します。1つの依頼が、コードを理解するワークフロー・変更を加えるワークフロー・検証するワークフロー、と複数に分かれて連続することもあります。セッション中はすべてのタスクに適用されるため、トークン消費も所要時間も増えます。日常作業に戻るときは /effort high などに下げます。ultracodeは現在のセッション限りで、新しいセッションを始めるとリセットされます。
有効化・対応プラン・無効化
ダイナミックワークフローは研究プレビューとして提供されており、利用にはClaude Code v2.1.154以降が必要です。
- 対応プラン: 有料プラン全般(Pro / Max / Team / Enterprise)。Proでは
/configの「Dynamic workflows」の行から明示的にオンにします - 対応する場所: Claude CodeのCLI(コマンドラインインターフェース)、デスクトップアプリ、IDE(統合開発環境)拡張、
claude -pの非対話モード、Agent SDK - API経由: Anthropic APIのほか、Amazon Bedrock / Google Cloud Vertex AI / Microsoft Foundryでも利用できます
無効化したいときは、次のいずれかを使います。
/configの「Dynamic workflows」をオフにする(セッションをまたいで持続)~/.claude/settings.jsonにdisableWorkflowsをtrueで書く- 環境変数
CLAUDE_CODE_DISABLE_WORKFLOWS=1を設定する - 組織全体で止めるなら、managed settings(組織管理設定)の
disableWorkflowsか、管理画面のトグルを使う
無効化すると、組み込みのワークフローコマンドは使えなくなり、「workflow」の語も起動を誘発しなくなり、/effort メニューからultracodeが消えます。
並列の上限・進捗の確認・再開の仕様
ランタイムには、暴走を防ぐための制約があります。
| 制約 | 内容 |
|---|---|
| 同時実行 | 内容最大16エージェント(CPUコアが少ない端末ではより少なく) |
| 1回の総数 | 内容最大1,000エージェント |
| 実行中の入力 | 内容受け付けない。停止できるのはエージェントの権限プロンプトのみ |
| ファイル・シェル | 内容スクリプト自体は直接触れない。読み書きや実行はエージェントが担う |
進捗は /workflows のビューで確認できます。フェーズごとにエージェント数・トークン総量・経過時間が表示され、各エージェントが何を見つけたかまで掘り下げられます。実行はバックグラウンドなので、見ている間もセッションは自由に使えます。
途中で止めた実行は、同一セッション内であれば再開できます。完了済みのエージェントはキャッシュされた結果を返し、残りだけが新たに走ります。ただしClaude Code自体を終了すると再開はできず、次回のセッションでは最初からのやり直しになります。
権限の挙動にも注意点があります。ワークフローが起動するサブエージェントは、セッションの権限モードにかかわらず常に acceptEdits モードで動き、ツールの許可リストを継承します。ファイル編集は自動承認されます。一方、許可リストにないシェルコマンド・Web取得・MCP(Model Context Protocol、外部システム連携の仕組み)のツールは、実行の途中でも権限プロンプトを出して止まります。長時間の実行で止まりたくない場合は、必要なコマンドを事前に許可リストへ加えておきます。
トークン消費とコスト管理
ダイナミックワークフローは多数のエージェントを起動するため、同じ作業を対話でこなす場合より、1回の実行で大きくトークンを消費しうる点が最大の注意です。
コストの構造はシンプルです。1回の実行で最大1,000のエージェントが動き、各エージェントは原則としてセッションのモデルを使います。つまり通常の1回の対話に比べ、桁が変わる規模のトークンが動く可能性があります。これらはほかのセッションと同じように、プランの利用量とレート制限に計上されます。
消費をコントロールする手立てには、次のものがあります。
- 小さくスコープして較正する: 限定した範囲で1度走らせ、消費量と結果を確かめてから広げる
- 大きな実行の前に
/modelを確認する: 普段は軽いモデルに切り替えている場合、想定外のモデルで大量に動かさないよう確認する - 工程ごとにモデルを使い分ける: 最も強いモデルが要らない工程は、軽いモデルにルーティングするようClaudeに依頼する
- 必要なら止める:
/workflowsからいつでも実行を停止できる。停止しても完了済みの成果は失われない
実測の消費量はタスクの規模・モデル・並列度で大きく変わります。最初の数回は小さな範囲で走らせ、自分の環境での目安をつかむのが堅実です。次の節では、編集部が実際に小さなワークフローを1本走らせて計測した数値を紹介します。
編集部が小さなワークフローを1本走らせてみた
仕様だけでは規模感がつかみにくいため、編集部で小規模なワークフローを1本実行し、挙動を計測しました。依頼は「Claude Codeのワークフロー運用に関する情報を4つの角度から並列で調べ、見つかった主張を相互チェックで裏取りする」というもので、リサーチ系の典型的な構成です。
1回の実行で観測できた数値は次のとおりです。
| 項目 | 実測値 |
|---|---|
| 起動したエージェント総数 | 実測値8体(並列調査4 + 相互チェック4) |
| フェーズ数 | 実測値2(調査 → 検証) |
| 消費トークン(エージェント合計) | 実測値約165,000 |
| 実行時間(全体) | 実測値約98秒 |
| エージェントのツール呼び出し回数 | 実測値38回 |
注目したいのは相互チェックの効きです。調査フェーズが集めた4件の主張のうち、検証フェーズが1件(全体の25%)を「信頼できる出典で確認できない」として却下しました。却下されたのは、コスト管理コマンドに関する一見もっともらしいが不正確な記述で、単一エージェントの一度きりの出力ならそのまま残っていた可能性が高いものです。複数のエージェントに互いの結果を反証させる仕組みが、こうした取りこぼしを実際に止めることを確認できました。
ここで強調したいのは、これが最小規模の一例だという点です。エージェント8体・約16万トークンは小さな部類で、コードベース全体の監査や数百ファイルの移行ではエージェント数も消費トークンも桁が変わります。最初に小さく走らせて自分の環境での単価感をつかむ進め方の有効性は、この一例からも実感できました。
向くタスク・向かないタスク 使い分け早見表
公式が示す適性と制約をもとにすると、ダイナミックワークフローが効くタスクと避けたほうがよいタスクは、次のように分かれます。
| タスク | 向き | 理由 |
|---|---|---|
| コードベース全体のバグ掃討 | 向き◎ | 理由多数のファイルを並列で走査し相互検証できる |
| 数百ファイル規模の移行 | 向き◎ | 理由1ファイルずつ並列で変換しレビューを反復できる |
| 複数ソースを突き合わせる調査 | 向き◎ | 理由/deep-research が反証込みで集約する |
| 複数案を比べてから決める設計判断 | 向き◯ | 理由独立した角度で下書きし、突き合わせて選べる |
| 1〜2ステップで終わる小さな修正 | 向き△ | 理由単一エージェントのほうが速く安い |
| 途中で人の承認を挟みたい作業 | 向き△ | 理由実行中は介入できない。工程ごとに分ける |
| 毎日の定型作業 | 向き△ | 理由トークン消費が見合わないことが多い |
途中で人のサインオフを挟みたい場合は、1本のワークフローに詰め込まず、工程ごとに別々のワークフローとして走らせ、間に判断を入れる形が現実的です。定期的に繰り返したい監査やレビューは、気に入ったワークフローを保存してコマンド化し、必要なときに呼び出す運用が合います。保存と定期実行を組み合わせる発想はClaude Code Routines完全ガイドの定期実行と相性がよく、並列の組み方そのものはSub-agent並列実行パターンが参考になります。
コピーして使える依頼プロンプト集
ワークフローは「workflow」の語を含めて依頼するだけで起動しますが、スコープ・分割の観点・レビュー基準・出力形式まで書いておくと、Claudeが組むスクリプトの精度が上がります。用途別のひな型を用意しました(対象パスや条件は自分の環境に合わせて書き換えてください)。
コードベース全体の監査
workflowで、src/ 配下のすべてのAPIエンドポイントを監査してほしい。認証チェックの漏れ・入力バリデーションの欠落・権限の取り違えの3観点で、エンドポイントごとに並列で調べ、見つかった指摘は別のエージェントに反証させてから、ファイル名・行番号・深刻度(高/中/低)の表にまとめて。
大規模な移行・リファクタ
workflowで、lib/ 配下の旧API呼び出しを新APIにすべて置き換えてほしい。ファイルごとに並列で変換し、1ファイルにつき別のエージェントが「挙動が変わっていないか」をレビューしてから、ビルドとテストが通るまで修正を繰り返して。最後に変更ファイルの一覧と要修正点を報告して。
複数ソースを突き合わせる調査
workflowで、調べたいテーマを複数の角度から調査してほしい。角度ごとに並列で情報源を集め、主張が出典と一致するか相互チェックし、裏が取れた主張だけを出典付きでまとめて。確認できなかった主張は「未確認」として分けて。
複数案を比較する設計判断
workflowで、設計テーマの進め方を3つの独立した案として起案してほしい。それぞれ「実装の速さ重視」「リスク最小重視」「拡張性重視」の観点で別々に下書きし、保守性・コスト・移行容易性で採点して、最良案をベースに他案の良い部分を取り込んだ最終案を1つにまとめて。
ドキュメントの整備
workflowで、components/ 配下の公開コンポーネントのドキュメントを整備してほしい。コンポーネントごとに並列でprops・使用例・注意点を抽出し、別のエージェントが記載漏れを点検してから、1ファイルにまとめて。
依頼文に共通するコツは、①対象範囲を具体的なパスや条件で絞る、②「並列で」と分割の単位を示す、③別のエージェントによる検証を挟ませる、④出力形式を指定する、の4点です。この4点があると、ワークフローの強みである並列展開と相互チェックがそのまま依頼に乗ります。
つまずきやすいポイント
運用で踏みやすい点を6つ挙げます。
ultracodeを付けたまま軽い作業に戻る
ultracodeはすべてのタスクをワークフロー候補にするため、ちょっとした修正にも重い段取りを組んでトークンを無駄に溶かすことがあります。大きな作業が終わったら /effort high などに戻すのが無難です。
実行中に人の判断を挟もうとする
ワークフローは走り出すと、エージェントの権限プロンプト以外では止まりません。「途中の結果を見て方針を決めたい」場合は、工程を分けて別々のワークフローにします。
Claude Codeを終了して再開できなくなる
再開が効くのは同一セッション内だけです。Claude Codeを閉じると、走っていたワークフローは次回ゼロからになります。長い実行は閉じる前に終わらせるか、区切りのよい単位に分けておきます。
同時実行は16までという上限を忘れる
1,000体まで起動できても、同時に動くのは最大16体です。残りはキューに並びます。「数百ファイルを一気に」と指示しても、実際は16並列で順に処理される点を踏まえて所要時間を見積もります。
許可していないツールで実行が止まる
許可リストにないシェル・Web取得・MCPツールは、実行の途中でも権限プロンプトで止まります。長時間の無人実行を狙うなら、必要なコマンドを先に許可リストへ入れておきます。
workflowの語が意図せず起動を誘発する
プロンプトに何気なく「workflow」と書くと、ワークフロー起動として強調されることがあります。意図しないときは alt+w でその回の起動を無視するか、強調語の直後で backspace を押します。完全に止めるなら /config の「Workflow keyword trigger」をオフにします。
ダイナミックワークフローのよくある質問
無料プランでも使えますか?
研究プレビューとして、有料プラン(Pro / Max / Team / Enterprise)で提供されています。Proでは /config の「Dynamic workflows」から明示的にオンにする必要があります。無料プランは対象外です。
利用に必要なバージョンは?
Claude Code v2.1.154以降が必要です。CLI・デスクトップアプリ・IDE拡張のほか、Anthropic APIやAmazon Bedrock / Google Cloud Vertex AI / Microsoft Foundryでも利用できます。
サブエージェントと何が違いますか?
サブエージェントはClaudeが次の手をターンごとに決め、結果は毎回Claudeのコンテキストに返ります。ダイナミックワークフローは段取りと中間結果をスクリプト側が保持し、そのオーケストレーション全体を保存して再利用できる点が違います。
途中で止めたら最初からやり直しですか?
同一セッション内であれば再開できます。完了済みのエージェントはキャッシュ結果を返し、残りだけが走ります。ただしClaude Code自体を終了すると、次回はゼロからのやり直しになります。
同時に何体のエージェントが動きますか?
同時実行は最大16体(CPUコアが少ない端末ではより少なく)、1回の実行で起動できる総数は最大1,000体です。それを超える分はキューで順番待ちになります。
コストはどれくらい増えますか?
多数のエージェントが動くため、同じ作業を対話でこなす場合より大幅にトークンを消費しうる点が注意です。消費はプランの利用量とレート制限に計上されます。スコープを小さく較正する、/model を確認する、工程ごとに軽いモデルへ振る、といった手立てで管理します。
無効化する方法はありますか?
/config のトグル、設定ファイルで disableWorkflows を true にする、環境変数 CLAUDE_CODE_DISABLE_WORKFLOWS=1 のいずれかで止められます。組織全体ではmanaged settingsか管理画面のトグルを使います。
作ったワークフローを使い回せますか?
/workflows で実行を選び s キーを押すと、そのスクリプトをコマンドとして保存できます。プロジェクトの .claude/workflows/ に置けば共有でき、~/.claude/workflows/ に置けば自分の全プロジェクトで使えます。
まとめ
ダイナミックワークフローは、これまでClaude本体が握っていた段取りをスクリプトという形のコードに移し、数十〜数百のサブエージェントを並列に走らせて、検証まで含めて1回で回しきる機能です。コードベース全体の監査、大規模な移行、突き合わせ前提の調査のように、1度の対話では抱えきれない規模の作業に向きます。
一方で、1回の実行で大量のトークンを消費しうること、実行中は人が介入できないこと、再開が同一セッション内に限られることは、押さえておきたい性質です。最初は範囲を小さく区切って走らせ、消費量と結果を確かめてから広げると、過大なコストを避けながら使いどころをつかめます。SubagentsとSkillsの設計を先に理解しておくと、どこまでをワークフローに任せ、どこを手元のエージェントや手順書で持つかの判断がしやすくなります。