2026年6月時点。Claude Code は週次でリリースが続いており、本記事は v2.1.154〜v2.1.157(Week 22 / 5月25〜29日)あたりまでの公式情報をベースにしています。バージョン番号・挙動は research preview を含むため、最新は
claude --versionと公式ドキュメントで確認してください。
2026年5月28日、Claude Opus 4.8 と同時に 動的ワークフロー(Dynamic Workflows) が research preview で公開された。これは「1セッション=1コンテキストウィンドウで計画と実行をこなす」という Claude Code のこれまでの前提を超えて、Claude 自身がオーケストレーション用のスクリプトをその場で書き、数十〜数百のサブエージェントを並列に走らせて大規模タスクを完遂させる仕組みだ。
本記事は二部構成にした。前半で動的ワークフローを仕組みから運用まで深掘りし、後半で2026年4〜6月のアップデートを週次で総まとめする。
動的ワークフローを 「一人の天才に全部やらせる」から「優秀なリーダー+大勢のチーム」への切り替え だと思うとイメージしやすい。
これまでの Claude Code は、一人の優秀な担当者(Claude)が、巨大なタスクを 頭の中(=コンテキスト)だけ で計画しながら、自分で全部こなしていた。担当者が優秀でも、扱う仕事が大きすぎると「途中で力尽きる」「自分の成果物を甘く採点する」「最初の指示を忘れる」といったことが起きる。人間でも、巨大プロジェクトを一人で抱えれば同じだ。
動的ワークフローでは、Claude が プロジェクトマネージャー(PM)役 に回る。PM はまず「この仕事をどう分担し、誰に何をさせ、どう成果を突き合わせるか」という 段取り表(=スクリプト) を書く。そして、その段取りに沿って 大勢の作業員(=サブエージェント) を並列に動かす。作業員はそれぞれ自分の担当だけに集中し、別の作業員が成果をチェックする。PM の手元(コンテキスト)には最終報告だけが返ってくる ── これが「大規模でも破綻しない」理由だ。
| 用語 | ざっくりした意味 |
|---|---|
| Claude Code | ターミナル(黒い画面)で動く Anthropic 公式の AI コーディングエージェント。コードを読んで・書いて・実行までしてくれる |
| コンテキスト(ウィンドウ) | AI が一度に「覚えていられる」作業メモの量。ここが一杯になると、古い内容が要約されたり抜け落ちたりする |
| エージェント / サブエージェント | 自律的にタスクをこなす AI の「働き手」。サブエージェントは、メインの Claude が起動する子分の働き手 |
| オーケストレーション | 複数の働き手に「誰が・いつ・何をやるか」を割り振って指揮すること。オーケストラの指揮者をイメージ |
| ハーネス(harness) | AI モデルを包んで「何を読ませ、いつ動かし、出力をどうチェックするか」を決める“枠組み”のプログラム。動的ワークフローは、この枠組みを Claude がその場で自作する仕組み |
| effort(努力レベル) | Claude にどれだけ深く考えさせるかの設定。high <
xhigh < ultracode
の順に深く(=遅く・高価に)なる |
| worktree | Git の機能。同じリポジトリを別フォルダに分けて、複数の作業を干渉させずに並行できる。並列エージェントの作業場所として使われる |
| hooks(フック) | 「この操作の前後に、この処理を必ず走らせる」と決めておく仕掛け。AI の挙動に確定的なルールをかぶせるのに使う |
| permissions(権限) / deny ルール | AI が実行してよい操作・してはいけない操作を定義する設定。deny ルールは「絶対に禁止」を指定するもの |
| research preview | 「正式版の前の実験的公開」。仕様や上限値が今後変わる可能性があるので、本番で作り込みすぎない方がよい段階 |
専門用語が出てきたら、この表に戻ってきてください。以降は各章でも、初めて出る概念にはその場で簡単な補足を入れています。
公式の定義はこうだ ── 「動的ワークフローとは、サブエージェントを大規模にオーケストレーションする JavaScript スクリプトである」。
ポイントは、そのスクリプトを Claude がタスクに合わせてその場で書く という点にある。あなたがやりたいことを自然言語で伝えると、Claude が「どこを分割し、何を並列で走らせ、何を待ち合わせ、何を検証するか」を判断してスクリプト化し、専用ランタイムがそれをバックグラウンドで実行する。実行中もあなたのセッションは応答可能なまま保たれる。
従来からあるエージェント機構(サブエージェント / Skills / Agent Teams)との決定的な違いは、「計画(plan)を誰が保持するか」 にある。
かんたんに言うと これまでは Claude が「頭の中の段取り」で動いていた。動的ワークフローでは、その段取りを JavaScript のプログラムという“紙の上の手順書”に書き出してから実行する。手順書になっているので、Claude の記憶が一杯になっても段取りは失われないし、あとから読み返したり・保存して再利用したりできる。「計画を頭からコードへ追い出した」── これが本質だ。
デフォルトの Claude Code は、計画と実行を同じコンテキストウィンドウの中で行う。多くのコーディングタスクではこれが非常に有効だが、長時間・大規模並列・高度に構造化された・敵対的検証が必要なタスクになると破綻しやすい。具体的には次の3つの失敗モードが現れる。
エージェント的怠惰(Agentic laziness) 複雑で多項目のタスクの途中で「終わった」と判断して止まってしまう現象。例として、50項目のセキュリティレビューのうち35項目で「完了」と宣言し、残り15ファイルが一度も見られないまま、というケース。
自己選好バイアス(Self-preferential bias) 自分自身が出した結果や発見を、ルーブリックに照らして検証・採点させたときに、過度に高く評価してしまう傾向。自分でレビューさせると甘くなる、という話。
目標ドリフト(Goal drift) 多ターンにわたる作業の中で、特にコンテキスト圧縮(compaction)を挟むたびに、当初の目標への忠実度が少しずつ失われる現象。要約は必ずロスを伴うため、「エッジケースの要件」や「Xはやるな」といった制約が抜け落ちていく。
身近に言い換えると これは AI 特有の欠陥というより、「一人で長時間・大量の仕事を抱えた人」に起きることとほぼ同じだ。疲れて手を抜く(怠惰)、自分の仕事を自分で採点すると甘くなる(自己選好)、長くやるうちに最初の指示を忘れる(ドリフト)。人間ならチームで分担し、レビュー担当を別に立て、仕様書を見返すことで防ぐ。動的ワークフローがやっているのも、まさにこれだ。
動的ワークフローは、これらを 「それぞれ独立したクリーンなコンテキストウィンドウを持ち、焦点を絞った単一ゴールだけを担うサブエージェント」に分割することで構造的に防ぐ。怠惰は「1エージェント1タスク」で、自己選好は「別エージェントによる敵対的検証」で、ドリフトは「スクリプト側が計画を保持し、コンテキスト圧縮の影響を受けない」ことで、それぞれ潰す設計になっている。
サブエージェント / Skills / Agent Teams / ワークフローは、いずれも複数ステップのタスクを回せる。違いは「計画を誰が持つか」「途中結果がどこに置かれるか」だ。
| サブエージェント | Skills | Agent Teams | ワークフロー | |
|---|---|---|---|---|
| 正体 | Claude が起動するワーカー | Claude が従う指示書 | ピアセッションを統括するリードエージェント | ランタイムが実行するスクリプト |
| 次に何を走らせるか決めるのは | Claude(ターンごと) | Claude(プロンプトに従って) | リードエージェント(ターンごと) | スクリプト |
| 途中結果の置き場所 | Claude のコンテキスト | Claude のコンテキスト | 共有タスクリスト | スクリプト変数 |
| 再利用できるもの | ワーカー定義 | 指示書 | チーム定義 | オーケストレーションそのもの |
| スケール | 1ターンに数件の委譲 | 同左 | 少数の長時間ピア | 1ランあたり数十〜数百エージェント |
| 中断時 | ターンをやり直し | ターンをやり直し | 仲間は走り続ける | 同一セッション内で再開可能 |
要するに、サブエージェント・Skills・Agent Teams では Claude がオーケストレーターであり、ループや分岐、途中結果はすべて Claude のコンテキストに乗る。一方ワークフローでは、ループ・分岐・中間結果を スクリプトが保持するため、Claude のコンテキストには最終回答だけが返る。これがコンテキスト枯渇を起こさず大規模化できる理由だ。
さらに、計画をコードに落とすことで「より多くのエージェントを走らせる」だけでなく、反復可能な品質パターンを適用できる。独立したエージェントに互いの発見を敵対的にレビューさせたり、複数の角度から案を起こして相互に比較させたりできるため、単一パスより信頼できる結果が得られる。
Claude Agent SDK や claude -p を使って複数の Claude Code
インスタンスを束ねる「静的ワークフロー」を組んだことがある人もいるだろう。静的ワークフローはあらゆるエッジケースに対応する必要があるため、どうしても汎用的になりがちだ。Opus
4.8 と動的ワークフローでは、Claude
がユースケースに合わせた専用ハーネスをその場で書けるだけの知能を持つようになった、というのが両者の差分になる。
動的ワークフローは、サブエージェントを起動・調整するための特殊関数を備えた
JavaScript ファイルを実行する。JSON / Math /
Array といった標準 JS
関数も使えるので、データ処理もスクリプト内で完結する。注目すべきは、ワークフローが
各エージェントの使用モデルを選べること、そして
サブエージェントを専用 worktree
で動かすかを選べることだ。Claude
が必要な知能レベルと分離度を自分で判断できる。
実行モデルは以下のようになっている。
~/.claude/projects/
配下のセッションディレクトリにファイルとして書き出す。Claude
はラン開始時にそのパスを受け取るので、「スクリプトのパスを教えて」と尋ねれば読める。差分を取ったり、編集して再実行させたりもできる。| 制限 | 理由 |
|---|---|
| ラン中のユーザー入力は不可 | 途中で割り込めるのはエージェントの権限プロンプトのみ。ステージ間のサインオフが要るなら各ステージを個別ワークフローにする |
| ワークフロー自体からの直接的なファイル/シェルアクセスは不可 | 読み書き・コマンド実行はエージェントが行い、スクリプトはエージェントを調整する役 |
| 同時実行は最大16エージェント(CPUコアが少ないマシンではより少なく) | ローカルリソースの上限を抑える |
| 1ランあたり合計1,000エージェント | 暴走ループの防止 |
research preview なので、上記の数値(1,000 / 16)は今後変わりうる。本番システムにこれらの数値をハードコードしないこと。
公式が挙げている、Claude がワークフロー構築時に使い・組み合わせる代表的パターン。プロンプトで Claude を誘導するときの語彙にもなる。
初心者向けの読み方 6つとも「チームでの仕事の進め方」の型だと思えばよい。手分けして集約する(2)/別の人にダブルチェックさせる(3)/たくさん案を出して選別する(4)/同じ課題を競わせて勝者を選ぶ(5)/終わるまで人を投入し続ける(6)/まず仕分けして担当を割り振る(1)。全部おぼえる必要はなく、「Claude はこういう段取りを自分で選んで組む」とだけ掴めれば十分だ。
Classify-and-act(分類して振り分け) 分類エージェントでタスク種別を判定し、種別に応じて別のエージェントや挙動にルーティングする。末尾に分類器を置いて出力を決める使い方も。
Fan-out-and-synthesize(ファンアウトして統合) タスクを多数の小ステップに分割し、各ステップにエージェントを走らせ、結果を統合する。小ステップが大量にあるとき、あるいは各ステップにクリーンなコンテキストが要るとき(相互汚染を避けたいとき)に有効。統合ステップはバリア(全ファンアウト完了を待ってからマージ)になる。
Adversarial verification(敵対的検証) 起動した各エージェントに対し、その出力をルーブリックや基準に照らして敵対的に検証する別エージェントを走らせる。自己選好バイアス対策の中核。
Generate-and-filter(生成してふるい分け) あるテーマでアイデアを多数生成し、ルーブリックや検証でフィルタ、重複排除して、最も質の高い・検証済みのものだけを返す。
Tournament(トーナメント) 作業を分割するのではなく、同じタスクを別アプローチで N エージェントに競わせる。判定エージェントがペアワイズで比較し、勝者を決める。絶対採点より比較判定のほうが信頼できる、という知見に基づく。
Loop until done(完了するまでループ) 作業量が未知のタスクで、固定回数ではなく停止条件(新たな発見がない/ログにエラーがない 等)が満たされるまでエージェントの起動を繰り返す。
とりあえず試したい人へ(最短ルート) 細かい設定は後回しでいい。まずはこの2つだけ。 1.
claude --versionでバージョンが v2.1.154 以降か確認(古ければnpm install -g @anthropic-ai/claude-code@latestで更新)。 2. Claude Code を起動して/deep-research 調べたいことと打つ。標準で同梱されたワークフローが動くので、「複数エージェントが並列で動いて1本のレポートが返る」感触を体験できる。 いきなり巨大なタスクに使うとトークンを大量消費するので、最初は 小さな問いで試す こと。
プロンプトで単発起動 プロンプトに
ultracode
というキーワードを含めると、そのタスクだけをワークフローとして実行する(セッションの
effort レベルは変えない)。「ワークフローを使って」「run a
workflow」のような自然言語の依頼でも同じオプトインとして扱われる。
ultracode: src/routes/ 配下のすべての API エンドポイントを、認証チェック漏れがないか監査して
補足:v2.1.160 より前は、トリガーキーワードは
workflowという単語そのものだった。自然言語の依頼は両バージョンで有効。誤発火が鬱陶しければ/configの「Ultracode keyword trigger」をオフにできる(macOS はOption+W、Win/Linux はAlt+Wでそのプロンプト分のハイライトを解除)。
/effort ultracode で Claude
に判断を委ねる ultracode は xhigh の推論 effort
と自動ワークフロー編成を組み合わせた設定。オンにすると、Claude
が実質的なタスクごとに自動でワークフローを組むか判断する。1つの依頼が「理解する→変更する→検証する」と複数ワークフローに分かれることもある。当然トークンも時間も増えるので、ルーチン作業に戻るときは
/effort high
に落とす。セッション限りでリセットされる。
バンドル済み / 保存済みワークフローを叩く 標準で
/deep-research が同梱されている。
/deep-research Node.js の permission model は v20 から v22 で何が変わった?
複数の角度に Web 検索をファンアウト → ソースを取得して相互照合 → 各主張を投票 → 相互検証を生き残った主張だけで引用付きレポートを返す、という流れ。
/workflows
で実行中・完了済みのランを一覧し、選んで進行ビューを開く。各フェーズのエージェント数・トークン総量・経過時間が見える。フェーズ→エージェントとドリルダウンして、各エージェントのプロンプト・直近のツール呼び出し・結果まで読める。p(一時停止/再開)、x(選択エージェント停止、フォーカスがラン全体なら全停止)、r(選択中エージェントの再起動)、s(このランのスクリプトをコマンドとして保存)。/workflows でランを選び s
を押すと、スクリプトをコマンドとして保存できる。保存先は2つ:
.claude/workflows/(プロジェクト:リポジトリを clone
した全員と共有)~/.claude/workflows/(ホーム:全プロジェクトで使えるが自分だけ)保存したワークフローは args
パラメータで入力を受け取れる。スクリプト内では args
というグローバルとして読める。
> /triage-issues を issue 1024, 1025, 1030 に対して実行して
Claude が構造化データとして渡すので、スクリプトは args
に対して配列/オブジェクトのメソッドを直接呼べる。
Yes, run it /
Yes, and don't ask again for <name> in <path> /
View raw script(Ctrl+G でエディタ起動)/
No から選ぶ。Tab
でラン前にプロンプトを調整可能。claude -p / Agent SDK →
一切プロンプトせず即実行acceptEdits
モードで動き、ツール許可リストを継承する。ファイル編集は自動承認される。一方、許可リストにないシェルコマンド・Web
フェッチ・MCP
ツールはラン中にプロンプトが出ることがあるので、長時間ランの前に必要なコマンドを許可リストへ追加しておくとよい。公式も「動的ワークフロー利用時は
auto mode をオンにすると体験が良い」と推奨している。/model
を確認し、軽いステージは小さいモデルに回すよう依頼する。/goal / /loop
との併用:triage・research・verification
など繰り返せるワークフローは、/loop(定期実行)や
/goal(明確な完了条件の設定)と組み合わせると強い。/config の「Dynamic
workflows」をオフ/~/.claude/settings.json に
"disableWorkflows": true/環境変数
CLAUDE_CODE_DISABLE_WORKFLOWS=1。組織全体なら managed
settings か Claude Code 管理画面のトグルで。CLAUDE.md に書いても
Claude
が見落とすルールを、1ルール1検証エージェントでチェックさせる。逆方向
──
過去セッションやコードレビューのコメントから「自分が繰り返している修正」をマイニングし、クラスタリング・敵対的検証して
CLAUDE.md ルールに蒸留する ── も強力。オンプレ/自己ホスト環境を扱う開発では、特に次が効きそうだ。
Claude Code は週次の「What’s new」ダイジェストで主要機能を出している。ここでは Week 13〜22 を時系列で整理する。
fallbackModel
設定:プライマリモデルが過負荷/利用不可のとき順に試すフォールバックモデルを最大3つ設定でき、対話セッションにも
--fallback-model が効くように。* で全ツール拒否)が使えるように。allow ルールは非
MCP の glob を拒否し、deny ルールの未知ツール名は警告。claude agents):すべての
Claude Code
セッションを1画面に集約。実行中・自分待ち・完了が一覧で見える。/goal:完了条件が満たされるまでターンをまたいで作業を継続。.zip / URL
からロード:--plugin-dir が .zip
を受け付け、--plugin-url
でセッション限りのアーカイブ取得。worktree.baseRef:新規 worktree
をリモートの default ブランチから切るか、ローカル HEAD
から切るかを選択。effort.level および
$CLAUDE_EFFORT 経由で現在の effort を取得できる。claude ultrareview:クラウドのコードレビューを
CI/スクリプトから。claude project purge:プロジェクトのローカル状態を掃除。/resume に PR URL を貼ると、その PR
を作ったセッションを特定。/ultrareview が public research
preview に。バグハント用エージェント群がクラウドで走り、結果が
CLI/Desktop に自動で返る。/theme
やプラグインで配色を作って配布。xhigh(多くのコーディング作業で推奨)と、インタラクティブな
/effort スライダー。/usage:使用制限を圧迫している要因を表示。/loop
が間隔省略時に自己ペース化、/team-onboarding(セットアップを再生可能なガイドに)、/autofix-pr(ターミナルから
PR 自動修正をオン)。/powerup
インタラクティブレッスン、フリッカーのない alt-screen 描画、MCP
結果サイズのツール単位上書き(最大500K)、Bash ツールの
PATH にプラグイン実行ファイル。--dangerously-skip-permissions の中間。/
でのトランスクリプト検索、Windows 向けネイティブ PowerShell
ツール、条件付き if hooks。大きな流れは3つに集約できる。
オーケストレーションの主役が「Claude」から「Claude が書くスクリプト」へ。動的ワークフローは、サブエージェント/Agent Teams が「Claude がターンごとに次を決める」モデルだったのに対し、計画そのものをコード化して再利用可能にした。コンテキスト枯渇・怠惰・自己選好・ドリフトという単一コンテキストの弱点を構造で潰しにきている。
権限・hooks まわりの粒度が上がった。hard deny ルール、deny の glob 対応、hooks からの effort 参照、Auto mode の成熟。「決定論的な enforcement レイヤと確率論的なエージェントの境界」をどう引くか、という設計の自由度が増している。
モデルとコストの最適化。Opus 4.8
デフォルト化、fast mode の高速・低価格化、fallbackModel
による可用性の担保。effort(high / xhigh /
ultracode)でコストと品質を段階的に選べるようになった。
動的ワークフローは research preview であり、トークン消費も大きい。だが「四半期がかりで計画していた規模の仕事が数日で終わる」という方向の道具であることは間違いない。まずは小さく scoped なタスクで試して使用量の感触を掴むのが、公式も勧める正しい入り方だ。