Claude Code の Dynamic Workflows — 数百のサブエージェントを束ねるオーケストレーション
Claude Code の新機能 Dynamic Workflows を解説します。Claude が書いたスクリプトが多数のサブエージェントを並列実行し、コードベース監査や大規模マイグレーションをこなす仕組みと使い方をまとめます。
Claude Code に Dynamic Workflows(動的ワークフロー)という新機能がリサーチプレビューとして登場しました。Opus 4.8 と同時に 2026 年 5 月 28 日に公開された機能で、Claude が書いた JavaScript のオーケストレーションスクリプトが、数十〜数百のサブエージェントを並列に動かして 1 つの複雑なタスクを片付けます。
象徴的な実例として、JavaScript ランタイム Bun を Zig から Rust へ書き直すデモがあり、約 11 日間で 75 万行の Rust コードを生成し、テストスイートの 99.8% をパスしたと紹介されています。この記事では Dynamic Workflows が何なのか、何ができるのか、どう使うのかを公式ドキュメントをもとに整理します。
Dynamic Workflows とは
Dynamic Workflows は「Claude が書く JavaScript スクリプトが、サブエージェントを大規模にオーケストレーションする仕組み」です。タスクを伝えると Claude がそのタスク専用のスクリプトを生成し、ランタイムがそれをバックグラウンドで実行します。実行中もセッションは応答可能なまま使えます。
ポイントは 計画(plan)がコードに移る ことです。通常のサブエージェントやスキルでは Claude 自身がオーケストレーターとなり、ターンごとに「次に何を起動するか」を判断し、結果はすべて Claude のコンテキストウィンドウに戻ってきます。一方ワークフローでは、ループ・分岐・中間結果をスクリプト側の変数が保持するため、Claude のコンテキストには最終的な答えだけが返ります。
サブエージェント・スキルとの違い
同じ「複数ステップのタスク」を、サブエージェント・スキル・ワークフローのいずれでも実行できます。違いは 誰が計画を持つか です。
| 観点 | サブエージェント | スキル | ワークフロー |
|---|---|---|---|
| 実体 | Claude が起動するワーカー | Claude が従う指示書 | ランタイムが実行するスクリプト |
| 次に何を動かすか | Claude がターンごとに判断 | Claude がプロンプトに従う | スクリプトが決める |
| 中間結果の置き場 | Claude のコンテキスト | Claude のコンテキスト | スクリプトの変数 |
| 再利用できるもの | ワーカー定義 | 指示書 | オーケストレーション自体 |
| スケール | 1 ターンに数件の委譲 | サブエージェントと同等 | 1 回の実行で数十〜数百エージェント |
| 中断したとき | ターンをやり直す | ターンをやり直す | 同一セッション内で再開可能 |
計画をコードに移すことで、単に多くのエージェントを動かすだけでなく、繰り返し可能な品質パターン を適用できる点も特徴です。たとえば独立したエージェント同士が互いの発見を敵対的にレビューしてから報告したり、複数の角度から計画を起草して比較検討したりと、1 回のパスより信頼性の高い結果を得られます。
ワークフローの実行プロセス
ワークフローが走り出すと、おおまかに次の流れで処理が進みます。
- 計画: Claude がプロンプトからタスクをサブタスクへ動的に分解する
- 並列実行: 複数のサブエージェントが独立した角度から問題に取り組む
- 敵対的レビュー: 別のエージェントがその発見を反証しようと試みる
- 収束: 答えが収束するまで反復する
- 検証: 結果は統合される前にチェックされる
ランタイムは各エージェントの結果を進行に応じて記録します。これが同一セッション内での再開を可能にしています。
3 つの起動方法
ワークフローの起動には主に 3 つの方法があります。
1. プロンプトに workflow を含める
セッションの effort レベルを変えずに、特定のタスク 1 件だけをワークフローとして走らせる場合は、プロンプトのどこかに workflow という単語を入れます。
Run a workflow to audit every API endpoint under src/routes/ for missing auth checks Claude Code が入力中のこの単語をハイライトし、ターンごとに進める代わりにワークフロースクリプトを書き始めます。意図せずハイライトされた場合は Option+W(Windows では Alt+W)でそのプロンプトに限り無視できます。
2. ultracode で Claude に任せる
ultracode は xhigh の reasoning effort と自動的なワークフローオーケストレーションを組み合わせた Claude Code の設定です。オンにすると、こちらが頼まなくても Claude がセッション内のすべての実質的なタスクに対してワークフローを計画します。
/effort ultracode ultracode がオンの間は、1 つのリクエストが複数のワークフローに連なることもあります(コードを理解する 1 つ、変更を加える 1 つ、検証する 1 つ、という具合です)。すべてのタスクに適用されるため、各リクエストはトークンを多く消費し、低い effort レベルより時間がかかります。ultracode は現在のセッション限りで、新しいセッションを始めるとリセットされます。通常作業に戻るときは /effort high に下げます。
3. バンドル済みワークフロー /deep-research
最も手軽に動作を確認できるのが、組み込みの /deep-research です。1 つの問いに対して複数の角度から Web 検索をファンアウトし、見つけたソースを取得・相互チェックし、各主張を投票で評価して、引用付きのレポートを返します。相互チェックを生き残らなかった主張はフィルタで除かれます。
/deep-research What changed in the Node.js permission model between v20 and v22? /deep-research は WebSearch ツールが利用可能であることが前提です。
実行の監視と管理
ワークフローはバックグラウンドで走るため、セッションは応答可能なまま保たれます。/workflows を実行すると、実行中・完了済みのワークフロー一覧が表示され、選択すると進捗ビューが開きます。
/workflows 進捗ビューでは各フェーズのエージェント数・トークン合計・経過時間が確認できます。フッターには操作キーが並び、主なものは次のとおりです。
| キー | 動作 |
|---|---|
↑ / ↓ | フェーズ・エージェントを選択 |
Enter / → | 選択したフェーズ、さらにエージェントの詳細へドリルダウン |
p | 実行の一時停止・再開 |
x | 選択したエージェント、または実行全体を停止 |
r | 選択中のエージェントを再起動 |
s | 実行のスクリプトをコマンドとして保存 |
実行を停止しても再開できます。完了済みのエージェントはキャッシュした結果を返し、残りがライブで走ります。ただし再開が効くのは同一セッション内だけで、ワークフロー実行中に Claude Code を終了すると、次のセッションでは最初からのやり直しになります。
ワークフローの保存と再利用
毎ブランチで回すレビューのような繰り返しの処理は、ワークフローのスクリプトをコマンドとして保存できます。/workflows で対象の実行を選び s を押すと保存ダイアログが開きます。保存先は 2 つから選べます。
.claude/workflows/(プロジェクト内): リポジトリをクローンした全員と共有~/.claude/workflows/(ホームディレクトリ): 全プロジェクトで使え、自分だけに見える
保存すると、以降のセッションで /<name> として実行できます。プロジェクトと個人で同名のワークフローがある場合はプロジェクト側が優先されます。
制約と権限
ランタイムは次の制約を適用します。
| 制約 | 理由 |
|---|---|
| 実行途中のユーザー入力は不可 | 一時停止できるのはエージェントの権限確認のみ。段階ごとの承認には各段を別ワークフローにする |
| ワークフロー自体はファイルシステム・シェルに直接アクセスできない | 読み書き・コマンド実行はエージェントが行う。スクリプトはエージェントを調整するだけ |
| 同時実行エージェントは最大 16(CPU コアが少ないと減る) | ローカルリソースの使用量を抑える |
| 1 回の実行あたり合計 1,000 エージェントまで | 暴走ループを防ぐ |
権限面では、ワークフローが起動するサブエージェントは、セッションのモードにかかわらず常に acceptEdits モードで動き、こちらのツール許可リスト(allowlist)を継承します。ファイル編集は自動承認されます。一方、許可リストにないシェルコマンド・Web フェッチ・MCP ツールは実行途中で確認を求めることがあります。長い実行で中断されたくない場合は、エージェントが必要とするコマンドを事前に許可リストへ追加しておきます。
コストとオフにする方法
ワークフローは多数のエージェントを起動するため、1 回の実行が会話で同じタスクをこなすより大幅に多くのトークンを使います。実行はプランの使用量・レート制限に通常のセッションと同様にカウントされます。大規模な実行の前には /model を確認し、ステージごとに小さいモデルへ振り分けるよう依頼してコストを抑える、といった工夫が有効です。
ワークフローを無効化したい場合は次のいずれかを使います。
/configで Dynamic workflows をオフにする(セッションをまたいで持続)~/.claude/settings.jsonに"disableWorkflows": trueを設定する- 環境変数
CLAUDE_CODE_DISABLE_WORKFLOWS=1を設定する
組織全体で無効化する場合は、管理対象設定(managed settings)に "disableWorkflows": true を設定します。無効化されると、バンドルされたワークフローコマンドは使えなくなり、workflow キーワードもトリガーしなくなり、ultracode も /effort メニューから消えます。
対応環境とプラン
Dynamic Workflows はリサーチプレビュー段階で、Claude Code v2.1.154 以降 が必要です。利用できる環境とプランは次のとおりです。
- 環境: Claude Code CLI、Desktop アプリ、IDE 拡張(VS Code 等)、
claude -pの非対話モード、Claude Agent SDK - プロバイダー: Claude API、Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry
プラン別の利用可否
利用には有料プランが必要です。プランによって既定で使えるか、事前の設定が必要かが異なります。
| プラン | 利用可否 | 必要な設定 |
|---|---|---|
| Free | ✕ | 有料プランのみ対象 |
| Pro | ○ | 既定でオフ。/config の Dynamic workflows 行でオンにする |
| Max | ○ | 追加設定なしで利用可 |
| Team | ○ | 追加設定なしで利用可 |
| Enterprise | ○ | 既定で無効。管理者が有効化する必要がある |
公開時の Claude 公式ブログ告知では「Max・Team・Enterprise」と案内されていましたが、その後の公式ドキュメントでは Pro を含む全有料プランが対象と明記されています。Pro はデフォルトでオフのため、/config から手動で有効化するのがポイントです。
有効化の流れ
有効・無効は /config の Dynamic workflows 行で切り替えます(この設定はセッションをまたいで持続します)。Dynamic Workflows を本格的に使うなら、次の流れになります。
/modelで Opus 4.8(xhighをサポートするモデル)を選ぶ/configでワークフローをオンにする- 必要に応じて
/effort ultracodeに切り替える
まとめ
Dynamic Workflows は、Claude が書いた JavaScript のオーケストレーションスクリプトが多数のサブエージェントを並列に束ねて、1 セッションでは扱いきれない規模のタスクをこなす仕組みです。要点を整理します。
| 項目 | 内容 |
|---|---|
| 本質 | 計画を Claude のコンテキストではなくスクリプトの変数に持たせる |
| 強み | 並列スケール(最大 16 並列・合計 1,000)と敵対的レビュー等の品質パターン |
| 起動方法 | プロンプトに workflow / /effort ultracode / /deep-research |
| 向くタスク | コードベース全体の監査、大規模マイグレーション、相互チェック付き調査 |
| 注意点 | トークン消費が大きい。スコープを絞ったタスクから始めるのが推奨 |
| 要件 | Claude Code v2.1.154 以降、有料プラン |
コードベース全体のバグ探し・最適化監査・セキュリティ監査や、数百ファイル規模のマイグレーションといった「人手でもエージェント 1 つでも追いきれない」作業に向いた機能です。まずは /deep-research で挙動を体感し、スコープを絞ったタスクから試すのがよさそうです。


