mcpField
D
dynamic-workflows

dynamic-workflows

github.com/thebeardedbearsasエージェントワークフロー10793 回インストール今日更新
リポジトリ

dynamic-workflows について

Dynamic Workflows は、JavaScript スクリプトでサブエージェントを決定論的に編成する Claude Code スキルです。単一エージェントのコンテキストを超える作業や、4 人を超えるワーカー、反復処理やパイプラインが必要なタスクに向き、`/workflows` で進捗を確認できます。

主な機能

  1. 01JavaScript によるサブエージェント編成
  2. 02ループ、条件分岐、ファンアウトの構成
  3. 03パイプラインと並列ステージの実行
  4. 04スキーマによる構造化出力の検証
  5. 05フェーズ、エージェント、トークン使用量の監視
  6. 06実績のある実行を再利用可能なコマンドとして保存

活用シーン

  1. 01複数エージェントで大規模コードベースをレビュー
  2. 02敵対的な検証担当者による調査結果の確認
  3. 03候補を大量生成して判定役で絞り込み
  4. 04新しい発見がなくなるまで調査を反復

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill dynamic-workflows

インストール後、Claude Code で/dynamic-workflowsを入力して読み込まれたか確認します。

詳細

Dynamic Workflows — スクリプトによるマルチエージェントオーケストレーション

Dynamic Workflows(Claude Code 2.1.154+、トリガーワード ultracode)を使うと、Claude が 決定論的にサブエージェントをオーケストレーションするJavaScript スクリプトを記述できます(ループ、 条件分岐、ファンアウト)。スクリプトはバックグラウンドで実行され、/workflows から実行状況を確認できます。

⚠️ 明示的なオプトインが必要で、コストがかかります。ワークフローは数十から数百のサブエージェントを起動する場合があります。明示的な依頼(「ultracode」、「use a workflow」、「fan out agents」)があった場合、または下記の複雑さの段階を超えた場合にのみ使用してください。

使うタイミング — オーケストレーションの3段階

段階ツール並行数タイミング
1シンプルなサブエージェント(Task/Agent)1独立した調査を行い、メインのコンテキストをクリーンに保つ場合
2Agent Teams(/team:audit、/team:sprint、/team:security)リーダー1人+ワーカー約3人範囲が限定され、同期的で、1ラウンドで完了する並列作業
3Dynamic Workflows(ultracode)最大約1000のサブエージェント(同時実行の上限は約16)タスクが単一エージェントのコンテキストを超える、またはワーカーが4人を超える、あるいは決定論的なループ/パイプラインが必要な場合

損益分岐点のヒューリスティック:「N個のエージェントを起動し、それぞれにXを実行させてから集約する」と考える段階になったら、それはワークフローです。N ≤ 4 で1回のパスで十分なら、Agent Teams を使い続けてください。

組み合わせ可能なパターン(最小限のプロンプト)

  • ファンアウト&統合 — 互いに独立したサブシステムをN人の調査役が並行して調べる → 1人のエージェントが統合します。(監査、コードのマッピング)
  • 敵対的検証 — 各調査結果を、反証する役割を担う1人以上の懐疑的な検証者に渡します。CONFIRMED のものだけを残します。自律生成で最も重要な品質パターンです。
  • 生成とフィルタリング — 大量に生成し(アイデア、候補)、その後、判定役がフィルタリングします。
  • 分類と実行 — 分類器が各項目を適切な処理に振り分けます。
  • パイプライン — 各項目がバリアなしですべてのステップを通過します(レイテンシは各ステップの合計ではなく、最も長いチェーンで決まります)。複数ステップの場合、これがデフォルトです。
  • 完了するまでループ/新規発見がなくなるまでループ — 新しい発見がない状態がKラウンド続くまで、調査役を再実行します(規模が未知の調査:バグ、エッジケース)。

標準的なひな形(レビュー → 検証)

const results = await pipeline(
  DIMENSIONS,
  d => agent(d.prompt, { phase: 'Review', schema: FINDINGS }),
  review => parallel(review.findings.map(f => () =>
    agent(`Adversarially verify: ${f.title}. Default refuted=true if unsure.`,
          { phase: 'Verify', schema: VERDICT }).then(v => ({ ...f, verdict: v }))))
)
const confirmed = results.flat().filter(Boolean).filter(f => f.verdict?.isReal)

pipeline() はデフォルトで使用します(バリアなし)。parallel() を使うのは、NのステップにN-1のすべての結果が必要な場合(重複排除、早期終了、相互比較)に限ります。schema を指定すると、検証済みの構造化出力が強制されます。ファイルを並行編集する場合は、isolation: 'worktree' を指定します。

モニタリング

  • /workflows:進捗をリアルタイムで確認できます(フェーズ、エージェント、トークン)。
  • スクリプトは集約結果を返します。その結果を読み、次の手順を判断してください(多くの場合、ワークフローを複数回続けて実行します:把握 → 設計 → 実装 → レビュー)。

混同しないでください

  • ralph-run(/common:ralph-run):DoDに到達するまで、単一コンテキストで逐次ループします。並列処理はありません。このモデルの範囲を超えるタスクには、Dynamic Workflow に切り替えてください。
  • /effort ultracode:CLIの努力レベル(Opus 5.5でコード出力を最大化)です。ワークフローのトリガー ultracode とは別のものですが、併用されることもよくあります。

再利用と安全対策(v2.1.166+)

  • まず組み込みワークフローを試す:独自に作成する前に、統合済みの /deep-research(複数の情報源を検証するリサーチ)を試してください。「ウェブ上で並列検索して要約する」というニーズの多くは、すでに対応しています。
  • 実績のある実行を保存する:/workflows で s を押すと、スクリプトを再利用可能なコマンドとして保存できます。プロジェクト用(.claude/workflows/)または個人用(~/.claude/workflows/)を選べます。args パラメーターを使えば、異なる入力(調査する質問、対象パスなど)で再実行できます。
  • ⚠️ セキュリティ — acceptEdits が暗黙に適用されます:ワークフローから起動されたサブエージェントは、セッションのモードにかかわらず(plan や default も含む)、常に acceptEdits モードで動作し、許可リストを引き継ぎます。ファイルの編集は自動承認されます。 書き込みを行うエージェントの並列実行は、管理下にある領域(隔離された worktree など。権限管理のルール 11 を参照)に限ってください。
  • 緊急停止とコスト:disableWorkflows(settings.json)または CLAUDE_CODE_DISABLE_WORKFLOWS=1 でこの機能を無効にできます。/workflows ではトークンの消費量をリアルタイムで確認できます(ワークフローのコストは単一のコンテキストより大幅に高くなります。明示的な予算を設定して管理してください)。

参考:Claude Code Workflows · @.claude/commands/common/sub-agents-patterns.md(オーケストレーションの比較表)も参照してください。

コメント