Claude CodeのDynamic Workflowsとは?
数百のエージェントを操る新機能
Claudeが「計画」ではなく「実行スクリプト」を書く。大規模タスクをコード化して再実行可能にする仕組みを解説します。
Dynamic Workflows(動的ワークフロー)は、Claudeがサブエージェントを大規模にオーケストレーションするJavaScriptスクリプトを書き、専用のランタイムがバックグラウンドで実行する機能です。コードベース全体の監査、数百ファイル規模の移行、相互チェックが必要なリサーチなど、1回の会話では制御しきれない規模のタスクに向いています。
なぜ「スクリプト」なのか
サブエージェント・スキル・エージェントチームは、いずれもClaude自身がターンごとに次の一手を判断する方式です。Dynamic Workflowsはこれと違い、計画そのものをコードに落とし込みます。ループ・分岐・中間結果がすべてスクリプトの変数として保持されるため、Claudeの会話コンテキストには最終的な結果だけが残ります。
| サブエージェント | スキル | エージェントチーム | ワークフロー | |
|---|---|---|---|---|
| 次の一手を決めるのは | Claude(ターンごと) | Claude(プロンプトに従う) | リード役のエージェント | スクリプト |
| 中間結果の置き場所 | Claudeのコンテキスト | Claudeのコンテキスト | 共有タスクリスト | スクリプト変数 |
| 規模の目安 | 1ターンで数個 | サブエージェントと同様 | 長時間動く数体 | 1回の実行で数十〜数百体 |
計画をコード化することで、独立したエージェント同士に互いの結果を敵対的にレビューさせたり、複数の切り口から立案した計画同士を比較検討させたりといった、単純な物量ではない品質パターンも再現しやすくなります。
まず試す:バンドル済みワークフロー
最も手軽に体験できるのが、標準搭載の/deep-researchです。
使用例
/deep-research Node.jsのパーミッションモデルはv20からv22でどう変わったか
複数の切り口でWeb検索を展開し、見つけたソースを相互チェックしながら、出典付きのレポートを1本にまとめて返します。実行はバックグラウンドで進むため、セッションは自由に使い続けられます。
進行状況の確認
/workflows
フェーズごとのエージェント数・トークン消費量・経過時間を確認できます。個々のエージェントまでドリルダウンして、何をしていたかも見られます。
自分のタスクでワークフローを使う
プロンプトにultracodeというキーワードを含めるか、単に「ワークフローを使って」と自然文で頼めば、Claudeがそのタスク用のスクリプトを書きます。
使用例
ultracode: src/routes/ 以下の全APIエンドポイントを
認証チェック漏れがないか監査して
他の依頼パターン
| 用途 | プロンプト例 |
|---|---|
| 同じ問題を全ファイルで監査 | ワークフローを使って、変更のあった全ファイルのレビューを行い、1つのランキング付き要約にまとめて |
| チェックが通るまで修正を繰り返す | ワークフローを使って型チェックを実行し、2回連続で進捗がなくなるまで修正を繰り返して |
| 大量ファイルの並行移行 | ワークフローを使って各コンポーネントを独立コピー内で移行し、それぞれ検証して |
| 新しい発見がなくなるまで探索 | ワークフローを使ってフレーキーテストを探し、2ラウンド連続で新規発見がなければ停止して |
実行前に計画を確認できる
CLIでは、実行前にフェーズ一覧と選択肢が表示されます。
- Yes, run it:実行を開始
- Yes, and don’t ask again:このプロジェクトのこのワークフローでは以後確認をスキップ
- View raw script:実行前にスクリプトの中身を確認
- No:キャンセル
Ctrl+Gでスクリプトをエディタで開くこともできます。この確認プロンプトが出るかどうかは権限モードによって変わり、Auto Modeでは初回起動時のみ確認され、以降は確認なしで実行されます。
再利用可能なコマンドとして保存する
うまくいったワークフローは、/workflowsから選んでsキーで保存できます。「毎回同じレビューを走らせたい」といった繰り返し作業を、以後は/<name>という自分のコマンドとして呼び出せるようになります。
保存されたスクリプトの雰囲気
export const meta = {
name: 'audit-routes',
description: 'Audit every route handler for missing auth checks',
}
const found = await agent('List every .ts file under src/routes/.', {
schema: { type: 'object', required: ['files'], properties: { files: { type: 'array', items: { type: 'string' } } } },
})
const audits = await pipeline(found.files, file =>
agent(`Audit ${file} for missing authentication checks.`, { label: file }),
)
return audits.filter(Boolean)
agent()が1体のサブエージェントを起動し、pipeline()がリストの各要素に対して1体ずつ起動します。保存先は、リポジトリで共有する.claude/workflows/と、自分だけが使う~/.claude/workflows/の2択です。
規模をコントロールする
/configの「Dynamic workflow size」設定で、Claudeが書くスクリプトの規模に目安を与えられます。
| 設定値 | Claudeへのガイダンス |
|---|---|
| unrestricted(デフォルト) | 目安なし |
| small | 5体未満を目指す |
| medium | 15体未満を目指す |
| large | 50体未満を目指す |
これはあくまで「助言」で、プロンプト側で明確に大規模な処理を求めていれば上書きされます。一方、ランタイム側の上限(同時実行16体、1回の実行あたり合計1,000体)は設定に関わらず常に適用されます。
大規模ワークフローの警告表示
25体を超えるエージェントがスケジュールされた場合、またはトークン消費見込みが150万を超えた場合、タスクパネルにLarge workflowという警告が表示されます(サイズガイドラインを設定している場合はその上限値が閾値として使われます)。警告はあくまで注意喚起で、実行を止めるものではありません。
コストの考え方
ワークフローは多数のエージェントを起動するため、同じタスクを会話ベースで進めるより意味のある差でトークン消費が増えることがあります。実行はプランの利用量・レート制限にそのままカウントされます。
本番投入前に小さく試す
リポジトリ全体ではなく1ディレクトリだけ、広い質問ではなく狭い質問だけで先に走らせてみることで、コスト感をつかんでから本番のタスクに進めます。/workflows画面ではエージェントごとのトークン消費がリアルタイムで見えるため、想定より膨らんできた時点でいつでも停止できます。
利用条件
- Claude Code v2.1.154以降が必要
- すべての有料プラン、Anthropic API、Amazon Bedrock、Google Cloud Agent Platform(旧Vertex AI)、Microsoft Foundryで利用可能
- Proプランでは
/configの「Dynamic workflows」の行から有効化が必要
オフにする方法
個人設定でオフにする
{
"disableWorkflows": true
}
または環境変数CLAUDE_CODE_DISABLE_WORKFLOWS=1でも同様に無効化できます。組織全体でオフにしたい場合はmanaged settingsに同じ設定を配置します。
よくある質問
Q. 実行を一時停止して後から再開できますか?
A. できます。同一セッション内であれば、完了済みのエージェントはキャッシュされた結果を返し、残りだけが実際に動きます。ただしClaude Codeを終了した場合、次のセッションではワークフローは最初からやり直しになります。
Q. スクリプトを直接編集できますか?
A. できます。実行のたびに、その実行のスクリプトはセッションディレクトリ配下のファイルに書き出されます。中身を読んで前回実行との差分を見たり、編集して再実行を頼んだりできます。
Q. 実行中にユーザーが割り込むことはできますか?
A. 途中のユーザー入力は基本的に想定されていません。エージェントの権限確認プロンプトのみが実行を一時停止させます。段階ごとに承認を挟みたい場合は、各段階を別々のワークフローとして分けて実行してください。
まとめ
本記事のポイント
- Dynamic WorkflowsはClaudeが書いたJavaScriptスクリプトでサブエージェントを大規模オーケストレーションする機能
/deep-researchで手軽に体験でき、自分のタスクはultracodeキーワードや自然文の依頼で開始できる- うまくいった実行は保存して自分のコマンドとして繰り返し使える
- 規模は
/configのサイズガイドラインで抑えられるが、ランタイム上限(同時16体・合計1,000体)は常に適用される - コストが読みにくいタスクは、小さいスコープで先に試してから本番投入するのが安全
1回の会話ではとても回しきれない規模のタスクに直面したら、まずは/deep-researchで仕組みを体感してから、自分のリファクタリングや監査タスクに応用してみてください。
※本記事の情報は2026年7月時点のものです。仕様は変更される可能性があります。


