ブログ

Claude CodeでDynamic Workflowsを使って数百のエージェントを起動する方法

Markdown

Anthropicは2026年5月28日にDynamic Workflowsを公開しました。Claudeが1,000のサブエージェント向けスクリプトを書く仕組み、ultracodeと/deep-researchの概要、そしてその制限を解説します。

記事の全文を読む

要点

2026年5月28日、AnthropicはClaude CodeにDynamic Workflowsを導入しました。タスクを1つ書くと、ClaudeがJavaScriptのオーケストレータースクリプトを生成し、ランタイムがバックグラウンドで最大16のサブエージェントを同時に起動します(1回の実行あたり最大1,000)。独立したエージェント同士が互いの調査結果を照合し、最終レポートを1つ返します。プロンプトにworkflowキーワードを入れるか、/effort ultracodeモード、または組み込みの/deep-researchコマンドを使って有効にできます。Claude Code v2.1.154+が必要で、Pro、Max、Team、Enterpriseで利用できます。

ツールの設定に関する資料はAilootのドキュメントでご覧ください。

Dynamic Workflowsとは何か、Anthropicはなぜ5月28日に公開したのか

要点

Dynamic Workflowとは、特定のタスク向けにClaudeがその場で書くJavaScriptスクリプトです。ランタイムがバックグラウンドで実行し、数十から数百のサブエージェントを並行して起動して調査結果を照合し、レポートを1つ返します。

従来は、形式そのものが規模の拡大を制限していました。チャット1つにつき計画1つ、コンテキストウィンドウ1つです。サブエージェントは役立ちますが、「次に何を実行するか」の判断はメイン会話のClaudeに残り、途中経過もすべて同じコンテキストを消費していました。ファイル500個や独立した仮説10個を扱うタスクでは、これがボトルネックになっていました。

Dynamic Workflowsは計画をコードの中へ移します。Claudeがタスクをオーケストレータースクリプトとして組み立て、ランタイムが隔離された環境でそのスクリプトを実行します。途中経過はユーザーのコンテキストではなく、スクリプトの変数に保存されます。エージェントがバックグラウンドで動いている間も、セッションは応答可能です。

Claudeは、1つのセッション内で数十から数百のサブエージェントを並行して起動し、結果がユーザーに届く前に作業を検証するオーケストレータースクリプトを動的に作成します。

— Anthropic, https://claude.com/blog/introducing-dynamic-workflows-in-claude-code

従来の方法との実際の違いは、独立したエージェント同士が互いの調査結果に異議を唱え、相互検証を通過したものだけが届けられることです。名前にある「Dynamic」は、まさにこの点を指しています。実行のたびに、そのタスクに合わせて作成されます。あらかじめ用意されたプロセスの一覧はありません。

Workflow、サブエージェント、Skillの違い:3種類のオーケストレーション

要点

この3つのツールは、複数段階のタスクをそれぞれ異なる方法で処理します。サブエージェントはClaudeが途中で起動する作業者です。SkillはClaudeが従う指示です。Workflowはランタイムが実行するスクリプトです。それぞれ計画を置く場所が異なります。

Workflow、サブエージェント、Skillのどれを使うかは、2つの質問で決めます。計画を持つのは誰か、途中経過はどこに保存されるか、です。

サブエージェントSkillsWorkflows
何かClaudeが起動する作業者Claudeが従う指示ランタイムが実行するスクリプト
次のステップを決めるのはClaudeが一度に1ステップずつ決定プロンプトに従うClaudeスクリプト自体
途中経過の保存場所ClaudeのコンテキストClaudeのコンテキストスクリプトの変数
繰り返されるもの作業者の説明指示オーケストレーションそのもの
規模1ターンに複数のタスク同程度の数1回の実行で数十から数百のエージェント
中断時ターンを再開ターンを再開同じセッションで再開

大きな変化は、計画がコードの中に移ることです。サブエージェントやSkillsでは、Claudeが常にオーケストレーターです。作業中に次に何を起動するかを決め、戻ってきた結果はすべてコンテキストウィンドウに入ります。Workflowはループ、分岐、途中経過を自分の中に保持し、最終回答だけをClaudeに返します。

同じ計画を実行し、独立したエージェントが異なる角度から検証して、スクリプトが妥当な結果をまとめるようにできます。通常の1つのチャットで同じことはできません。Claudeには独立して統合する場がないからです。

選び方は次のとおりです。いくつかの段階がある日常的なタスクにはサブエージェントまたはSkillを使います。1回の会話に収まらないタスクや、必要に応じて再実行したいプロセスにはWorkflowを使います。4つの基本要素については、柱となるガイドSkills, Subagents, MCP, or Pluginsで詳しく解説しました。

Claude CodeでWorkflowを始める3つの方法

要点

Anthropicは3つの開始方法を提供しています。プロンプト内のworkflowキーワード(1回限りの実行)、/effort ultracodeモード(Claude自身が判断)、または組み込みの/deep-researchコマンドです。どの方法にもClaude Code v2.1.154以降が必要です。

方法1. プロンプト内のworkflowキーワード。 セッション設定を変更しない、最も簡単な方法です。任意のプロンプトにworkflowという単語を入れるだけで、Claude Codeが入力中にその単語を強調表示し、通常の会話の代わりにオーケストレータースクリプトを生成します。

src/routes/ 内のすべての API エンドポイントを監査し、認証チェック漏れがないか確認するワークフローを実行して

Claude Codeがその単語を強調表示しても、Workflowを始めるつもりがなかった場合は、alt+wを押すとそのプロンプトでのトリガーが無効になります。

方法2. /effort ultracodeモード。 モデルの最大推論努力レベル(xhigh)を有効にし、タスクにWorkflowが必要かどうかをClaude自身が判断できるようにします。

/effort ultracode

このモードでは、1つのリクエストから複数のWorkflowが連続して実行されることがあります。1つ目はコードを理解し、次は変更を加え、3つ目は結果を確認します。各実行は通常のeffortレベルより多くのトークンを使い、時間もかかります。このモードは現在のセッションだけに適用され、新しいセッションを開くとリセットされます。日常的な作業に戻るときは、/effort highでultracodeをオフにします。

方法3. 組み込みの/deep-researchコマンド。 ウェブ調査用のAnthropic製ワークフローです。次のセクションで説明します。

どの方法でも、初回実行時にClaude Codeが確認を求め、フェーズの一覧を表示します。応答の選択肢はYes, run it、Yes, and don't ask again for <name>(承認を記憶)、View raw script(Ctrl+Gでコードを開く)、Noです。Autoモードでは初回だけ確認が必要で、以降は確認なしで実行されます。claude -pとAgent SDKでは確認自体がありません。その場合、サブエージェントの権限は共有許可リストから取得されます。

すぐ使える/deep-research Workflow:初回実行の例

要点

/deep-researchは、複数の角度から質問を調査し、情報源を取得し、各主張を相互検証して、リンク付きのレポートを作成する組み込みWorkflowです。自分でスクリプトを書かずに動作をつかむのに適しています。

Dynamic Workflowsを最も手早く試すには、自作する代わりに既製のものを実行します。AnthropicはClaude Codeに組み込みの/deep-research Workflowを用意しています。複数の独立した角度から質問を調べ、情報源を集め、各主張に投票し、相互検証を通過したものだけをレポートに残します。

  1. コマンドを実行する

    Claude Codeのセッションで/deep-researchを入力し、詳しいプロンプトで質問を提示します。表現が具体的であるほど、スクリプトが無駄なフェーズを立ち上げる時間を減らせます。

  2. Workflowを許可する

    フェーズとYes / View raw script / Noボタンが表示されたダイアログが開きます。don't ask againを含む選択肢を選ぶと、プロジェクトに承認が保存されます。

  3. /workflowsで進行状況を確認する

    実行はバックグラウンドに移り、セッションを引き続き使えます。/workflowsコマンドには、実行中と完了済みの実行が一覧表示されます。矢印キーでフェーズを選び、Enterで展開してエージェントを表示し、j/kで詳細をスクロールし、pで一時停止、xで実行を停止、rでエージェントを再起動、sでスクリプトを保存します。

  4. レポートを読む

    実行が終わると、リンク付きのレポートがセッションに表示されます。相互検証を通過しなかった主張は自動的に除外されます。

ウェブ検索を1回行うだけの通常のチャットとは異なり、/deep-researchは検索クエリを自動で並行処理し、情報源間の矛盾を調整します。ガイドを書く前にテーマを調べる際に使っています。Workflowを拡大する前にトークン使用量の感覚をつかむのに便利です。

Ultracode:ClaudeがWorkflowを始めるタイミングを判断するモード

要点

/effort ultracodeは、最大の推論レベルxhighと自動オーケストレーションを組み合わせています。セッション内のどのタスクをWorkflowにするかをClaude自身が決めます。このモードはxhighに対応するモデルでのみ動作します。

Ultracodeは2つの機能を組み合わせています。最大の推論努力レベルと、Claudeが自分でWorkflowを開始する許可です。デフォルトでは、/effort xhighを使っても通常の会話が進みます。Claudeはより長く考えますが、ステップは引き続き自分のコンテキスト内に保ちます。Ultracodeは、1つのセッションでは足りないとClaudeが気づいたとき、自分でタスクをWorkflowに切り替える許可を加えます。

/effort ultracode

このモードを有効にすると、1つのリクエストから2つか3つのWorkflowが続けて起動することがあります。1つがコードベースを調べ、別の1つが変更を加え、3つ目はそれを反証しようとする別個の実行です。「複数の独立した試行 ⇒ 最終的な統合」という同じパターンを、各フェーズを手動で始めずに使えます。

代償は明らかです。リクエストごとに/effort highより時間も費用もかかります。内部では複数の実行がそれぞれ独自の制限付きで動き、Anthropic自身もultracodeをデフォルトモードとして推奨していません。このモードは現在のセッションだけに適用され、次のセッションではリセットされます。

日常的な作業に戻るときは、/effort highでultracodeをオフにすると、セッションはサブエージェントを使う通常のチャットに戻ります。xhighに対応しないモデルでは、/effortにultracodeの選択肢が表示されません。

制限、トークン、初回実行時の注意点

要点

並列エージェントは最大16、1回の実行あたり最大1,000です。Claude Code v2.1.154+が必要で、Pro、Max、Team、Enterpriseで利用できます。最大の注意点はトークン使用量です。Workflowで実行するタスクは、通常のチャットで1回実行する場合よりかなり多くのトークンを使います。

ランタイムには次の技術的な上限があります。

  • 同時に並行実行できるエージェントは最大16です。 コア数が少ないマシンではさらに少なくなります。これはローカルリソースの割り当てです。
  • 1回の実行あたり1,000エージェント。 無限ループへの安全策です。スクリプトがエージェントを延々と起動し始めると、ランタイムが停止します。
  • 実行中にユーザー入力を待つことはできません。 一時停止できるのはツールの権限確認だけです。フェーズの間に承認が必要なら、作業を別々のWorkflowに分けてください。
  • スクリプト自体はファイルやコマンドシェルに直接アクセスできません。 ファイルの読み書きやコマンドの実行は、スクリプトが起動したエージェントが行います。スクリプトはエージェントを調整するだけです。
  • Claude Code v2.1.154以降が必要です。 Pro、Max、Team、Enterprise(Proでは/configから有効化)で利用できます。また、Claude API、Amazon Bedrock、Vertex AI、Microsoft Foundryでも利用できます。

最大の注意点はコストです。

Dynamic workflowsは通常のClaude Codeセッションより大幅に多くのトークンを使う場合があるため、まずは範囲を絞ったタスクから始め、ご自身の作業での使用量を把握することをおすすめします。

— Anthropic, https://claude.com/blog/introducing-dynamic-workflows-in-claude-code

スクリプトが別のモデルにフェーズを割り当てない限り、実行中の各エージェントはセッションのモデルを使います。大規模な実行の前に/modelを確認してください。日常的なタスクでは安価なモデルに切り替える習慣がある場合、この確認を省くとultracodeや/deep-researchで請求額が増える可能性があります。「最大限の能力が不要なフェーズでは、より安価なモデルを使って」とプロンプトでClaudeに明示的に頼むこともできます。これはコスト管理に有効な方法です。

実行が脱線したら、/workflowsを開いて実行を選び、xを押します。完了済みのエージェントの結果は保持されます。その場でpを押して停止した実行を再開するか、Claudeに同じ場所からスクリプトを再起動するよう頼めます。キャッシュされたエージェントは結果を返し、それ以外のエージェントはそのまま作業を続けます。これは1つのセッション内でのみ有効です。Claude Codeを終了すると、次のセッションではWorkflowが最初から始まります。

長時間の実行を計画している場合は、ガイドClaude Codeの利用上限を使い切らない方法とSecond Brainを参考に、使用量の管理を始めましょう。適切なプロジェクト構成なら、Workflowがリポジトリ全体をすべてのエージェントに読み込ませる事態を避けられます。

プロジェクトにWorkflowを保存する方法

要点

実行が成功したら、/workflows → 実行を選択 → sを押すと、スクリプトをコマンドとして保存できます。.claude/workflows/(チームと共有)または~/.claude/workflows/(自分だけで使用)に置けます。次回は通常のスラッシュコマンド/[name]で実行します。

Claudeが繰り返し行うタスク(たとえば、すべてのブランチのレビューや定期的なセキュリティ監査)向けにWorkflowを作成した場合は、スクリプトを保存すれば、毎回タスクを言葉で説明する必要がなくなります。

  1. /workflowsを開く

    このコマンドは最近の実行一覧を表示します。矢印キーで必要な実行を選びます。

  2. sを押す

    保存ダイアログが表示されます。Tabで保存場所を切り替えます。

  3. フォルダーを選ぶ

    .claude/workflows/はプロジェクト内にあり、リポジトリをクローンした人全員が利用できます。~/.claude/workflows/はホームディレクトリ内にあり、すべてのプロジェクトで使えますが、自分だけが利用できます。

  4. コマンドとして呼び出す

    /[script_name]を実行すると、初回と同じスクリプトでWorkflowが始まります。プロジェクトとホームの両方に同じ名前のWorkflowがある場合は、プロジェクト側が優先されます。

ここから興味深いパターンが生まれます。チームの誰か1人がWorkflowを一度うまく動かし、.claude/workflows/にコミットすると、その後はチームの各メンバーがコマンドで同じオーケストレーションを実行できます。スクリプトは読みやすいJavaScriptなので、内容を確認して編集し、新しいバージョンをコミットできます。

プロジェクトで保存済みWorkflowを初めて実行するとき、Claude Codeは引き続き権限ダイアログを表示します。スクリプトを保存しただけでは、自動的に承認されません。Yes, and don't ask againを選んで、別途承認してください。

どのようなタスクにWorkflowを使う価値があるか

要点

Anthropicによると、Workflowsは大規模な監査、移行、相互検証を伴う調査に適しています。「変更を1つ加える」といったタスクでは、トークン使用量に見合う時間短縮にはなりません。

Anthropicは、ランタイムが想定しているシナリオを明確に挙げています。

  • コードベース全体の監査—チェックリストに沿って、すべてのエンドポイント、ファイル、関数を確認します。たとえば、認証チェック漏れや重複したロジックを見つけたり、OWASPのルールに照らしてセキュリティを監査したりします。チェックリストの項目ごとに別のエージェントが起動します。
  • 大規模な移行—フレームワークの切り替え、非推奨APIからの移行、数千のファイルの別言語への移植などです。Workflowが進捗を追跡し、エージェントがファイルを並行して処理し、相互検証を行うエージェントが見落としを探します。
  • 相互検証を伴う調査—異なる角度からの情報源と、相互検証に耐えうる主張の評価が必要な質問です。これは組み込みの/deep-researchが想定して作られた基本的なシナリオです。
  • 複数の独立した視点から練りたい複雑な計画—Workflowが互いに独立した複数の計画案を作成し、反対の立場のエージェントがそれらを検討したうえで、統合した結果を返します。「ミスのコストが高く、1回の確認では不十分」な場合に適しています。

1つの会話では調整しきれないほど多くのエージェントが必要なタスクや、確認して再実行できるようオーケストレーションをスクリプトとして保存したい場合にWorkflowを使ってください。

— Anthropic, https://code.claude.com/docs/en/workflows

「バグを1つ修正する」「関数を1つ追加する」といったタスクでは、Dynamic Workflowsは通常のセッションに劣ります。トークン使用量に見合う時間短縮にはならないからです。Anthropicのドキュメントもこの点を明確に述べています。「使用量を把握するには、範囲の狭いタスクから始めてください」。私の基準では、独立したサブタスクが5個未満、またはファイルが50個未満なら、少数のサブエージェントを使った通常のチャットのほうが低コストで処理できます。

Enterpriseプランでチームを率いている場合、管理者が管理対象設定やClaude Codeの管理ページにあるスイッチからWorkflowsを無効にしていることがあります。Workflowsを「すべての問題を解決するもの」と考える前に、有効になっていることを確認してください。/config → Dynamic workflowsの項目を確認します。

出典

— ツールの活用に関する資料はAilootのドキュメントでご覧ください。

詳細を見る

Claude CodeでDynamic Workflowsを使って数百のエージェントを起動する方法:よくある質問

ワークフローより通常セッションが向くのはどんなときですか?

独立タスクが少ない小さな変更なら、通常セッションや少数のサブエージェントを使います。ワークフローは調整とトークン消費を増やすので、大規模監査や移行の前に、範囲を絞った実タスクで測定してください。

ワークフローを保存すると、次回の実行も承認済みになりますか?

いいえ。保存するのは実行を調整するスクリプトで、実行の承認は別です。承認を記憶させる前に、スクリプトと初回の権限ダイアログを確認してください。

すべての記事