Dynamic Workflowsを試そうとして、まずsmallから始めることにした
Claude Codeに Dynamic Workflows という機能が追加されました。発表文にあった、数十から数百のsubagentを動かすという説明が気になりました。
普段の実装でもsubagentは使っています。その延長なのか、別の使い方なのかが分かりにくかったため、公式ドキュメントを読みながら手元でも確認しました。
先に触れておくと、今回は実行完了まで進めていません。ローカルのClaude Codeが未ログインだったためです。起動前に分かったことと、現時点での使いどころを整理します。
Dynamic Workflowsとは
Dynamic Workflows は、Claude Codeがタスクに合わせてJavaScriptの実行スクリプトを作り、そのスクリプトが複数のsubagentを制御する機能です。
subagentを呼ぶだけであれば、従来のClaude Codeでもできました。違いは、誰が次の処理を決めるかです。
通常のsubagentでは、Claudeが会話の中で次に何を任せるかを判断します。Dynamic Workflows では、分岐やループ、並列実行の順序をスクリプトが持ちます。途中結果も会話のコンテキストではなく、スクリプトの変数に残ります。
最初は「subagentを大量に起動するための設定」だと思っていましたが、実際にはオーケストレーション自体をコードとして外に出す仕組みでした。
公式ドキュメントでは、次のような処理が例に挙げられています。
- 複数ファイルを同じ観点で監査する
- 型チェックが通るまで修正と確認を繰り返す
- 大量のファイルを分割して移行する
- 複数の調査結果を別のagentで反証する
単に処理を並列化するだけではありません。調査、実装、反証、再実行までを一つの実行単位にできる点が大きいと感じました。
3記事の文体レビューで試すことにしました
いきなりコードベース全体の監査を任せるのは避けました。公式も、小さな対象で使用量を確認してから広げる方法を勧めています。
今回は、このブログの過去記事3本を対象にしました。記事ごとに文体を確認し、最後に共通する改善点をまとめる形です。
入力しようとした内容は次のようなものです。
workflow: 過去記事3本を読み、AGENTS.mdと執筆skillに照らして、
共通する文体上の改善点を確認してください。
small workflowとして3エージェント以下、
合計10k tokens以内に制限してください。
ファイルは変更せず、調査と報告だけにしてください。
Claude Codeのバージョンは 2.1.246 でした。必要条件の 2.1.154 以降は満たしています。
しかし、ここで Not logged in と表示されました。プロンプトは入力欄に残り、ワークフローの生成には進みませんでした。
Claude Code自体のバージョン要件は満たしていましたが、認証状態を確認していなかったため実行前に止まりました。機能確認を始める前にログイン状態まで見ておくべきでした。
そのため、今回は実行時間、生成されたスクリプトの内容、レビュー精度は評価できていません。使っていない部分まで使用感として書くのは避けます。
常用する機能ではなさそうです
実行前の時点でも、普段の修正をすべて Dynamic Workflows へ寄せる必要はないと感じました。
ワークフローは最大16 agentを同時に動かせます。1回の実行では合計1,000 agentまで起動できます。
一方で、agentが増えた分だけtoken使用量も増えます。25 agentを超えるか、予測使用量が150万tokensを超えると Large workflow の警告が出ます。
Large workflow の表示は、実行を止める強制的な上限ではありません。大きなワークフローになっていることを知らせる警告です。
/config の Dynamic workflow size には、small、medium、large などがあります。
small は5 agent未満を目安にします。ここも強制的な上限ではなく、Claudeへの指針です。
最初は small を指定し、プロンプトにもagent数とtoken budgetを書くほうがよさそうです。設定だけで止まると思い込むと、想定より大きなワークフローになる可能性があります。
私が使うなら、このあたりに絞る
- 同じ観点で多数のファイルを確認したいとき
- 原因の仮説を複数に分け、互いに反証させたいとき
- 途中で失敗しても、完了済みの結果を使って再開したいとき
- 繰り返す調査やレビュー手順をスクリプトとして保存したいとき
一つのバグを直すだけなら、通常のClaude Codeで十分だと思います。レビューagentを何人も立てるほどではない仕事まで広げると、調整と使用量のほうが大きくなりそうです。
「一人のagentに任せれば終わる仕事」ではなく、「複数の役割や反復処理を一定の順序で組み合わせたい仕事」がDynamic Workflows向きだと考えています。
生成されたスクリプトを読めるのは安心材料でした
Dynamic Workflows は、Claudeの内部だけで進行する仕組みではありません。
生成されたJavaScriptは、実行前に View raw script から確認できます。実行後も .claude/workflows/ へ保存し、コマンドとして再利用できます。
この点は使いやすそうだと感じました。
どの工程でagentを増やし、どこで結果を絞るのかを後から確認できます。
.claude/
└─ workflows/
└─ 生成したワークフロー
一方で、スクリプト自体はファイルやshellへ直接触れません。実際の読み書きやコマンド実行はsubagent側が行います。
権限確認も通常のtool callと同じように発生します。
ワークフローを開始してから権限確認で止まるのは避けたいところです。必要なコマンド、読み取り対象、書き込み範囲は実行前に確認しておく必要があります。
通常のsubagentとDynamic Workflowsの違い
| 比較項目 | 通常のsubagent | Dynamic Workflows |
|---|---|---|
| 処理の制御 | Claudeが会話の中で判断 | 生成されたJavaScriptが制御 |
| 分岐・ループ | 会話上の判断として実行 | スクリプトとして定義可能 |
| 途中結果 | 主に会話コンテキスト内 | スクリプトの変数として保持 |
| 再利用 | 同じ指示を再度行う | .claude/workflows/ に保存して再利用可能 |
| 向いている仕事 | 単発の調査、実装、レビュー | 多段の調査、並列処理、反証、反復作業 |
所感と次に確認したいこと
調べる前は、大量のsubagentを簡単に起動する機能という印象でした。
今は、タスク専用の実行手順をClaude Code自身に書かせる機能だと理解しています。
並列数の大きさよりも、調査と反証の順序をスクリプトとして固定できる点に関心があります。自分の結論を別のagentに否定させる処理は、コードレビューや障害調査と相性がよさそうです。
ただし、今回は認証で止まりました。
次はログイン状態を確認したうえで、3記事のレビューを
small で実行します。通常のsubagentで同じ依頼をした場合と比較し、実行時間、token使用量、指摘の重複率を確認する予定です。
参考
- Orchestrate subagents at scale with dynamic workflows
- Introducing dynamic workflows in Claude Code
- A harness for every task: dynamic workflows in Claude Code
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK