1 ポイント 投稿者 ragingwind 3 시간 전 | まだコメントはありません。 | WhatsAppで共有

Claude CodeのDynamic Workflows紹介

AnthropicのClaude Codeチーム(Thariq Shihipar、Sid Bidasaria)が公開した記事で、Claude Codeに新たに導入されたダイナミックワークフロー(Dynamic Workflows)機能について説明しています。ダイナミックワークフローは、Claudeがタスクに合わせて即席で独自の実行構造(ハーネス、harness)をJavaScriptファイルとして直接記述し、複数のサブエージェントを調整する方式です。従来のClaude Codeの基本ハーネスはコーディング作業に最適化されていますが、長時間・大規模並列・敵対的検証が必要な作業では限界があり、これを解決するためにClaude自身がカスタムハーネスを作るようにしたことが核心です。

導入背景と動作方式

  • 単一コンテキストの限界 : 1つのコンテキストウィンドウで計画と実行を同時に進める際に発生する3つの失敗モードがあります。作業を半分ほど終えたところで完了したと宣言してしまうエージェンティックな怠惰(agentic laziness)、自分の成果物を好意的に評価する自己選好バイアス(self-preferential bias)、コンテキスト圧縮の過程で本来の目標がぼやける目標ドリフト(goal drift)です。
  • 動作構造 : JavaScriptファイルを実行してサブエージェントを生成・調整し、JSON・Math・Arrayなどの標準関数を活用できます。各サブエージェントのモデル種類(Sonnet、Opusなど)やワークツリー(worktree)の分離有無もワークフローが直接決定します。中断時にはセッション再開によって続きから実行できます。
  • 呼び出し方法 : Claudeにワークフローを作るよう依頼するか、トリガーワード「ultracode」を使います。

代表パターン(Patterns)整理

  • 分類してルーティング(Classify and Route) : 分類器エージェントがタスクの種類を判定した後、その種類に合ったエージェントや処理フローへ分岐させる方式です。最終段階で結果分類用として使うこともあります。
  • ファンアウトと合成(Fan-out and Synthesize) : 大きなタスクを小さな単位に分割し、各単位ごとに別々のエージェントを動かした後、合成(synthesize)段階ですべての結果を集めて1つに統合します。クリーンなコンテキストが必要な多数の小タスクに適しています。
  • 敵対的検証(Adversarial Verification) : 各タスクエージェントごとに別個の検証エージェントを付け、ルーブリック(rubric、評価基準表)に従って結果を反証・検証させます。
  • 生成してフィルタリング(Generate and Filter) : 多数のアイデアを生成した後、ルーブリックと検証で絞り込み、重複を除去して最高品質の候補だけを残します。
  • トーナメント(Tournament) : 同一タスクを異なるアプローチでN個のエージェントが競って実行し、審判エージェントがペアワイズ比較(pairwise comparison)で勝者を決めます。ペアワイズ比較は絶対スコア評価より信頼性が高いと説明しています。
  • 収束まで反復(Loop Until Convergence) : 作業量が事前に決まっていない場合、新たな発見やエラーがなくなるまでエージェント生成を繰り返します。

活用事例(Use Cases)整理

  • 大規模リファクタリングとマイグレーション : コールサイト、失敗テスト、モジュール単位に分割し、各ワークツリーでサブエージェントが修正を行い、別のエージェントが敵対的にレビューした後に統合します。実際にZigからRustへの書き換え事例があり、リソース集約的なコマンドを避けるよう指示すれば並列性を最大化できます。
  • ディープリサーチ(/deep-researchスキル) : Web検索をファンアウトしてソースを収集し、敵対的検証で主張を確認した後、引用付きレポートへと合成します。Slackでのステータスレポート作成、コードベースの深い探索などにも応用できます。
  • ファクトチェック(Fact-Checking) : レポート内のすべての事実主張を識別するエージェントがまず動き、各主張ごとに検証サブエージェントが出典を確認し、別の検証エージェントが出典の品質まで評価します。
  • 定性的な整列とランキング : 1000行以上のサポートチケットを深刻度順に並べるような、一度に処理しにくい作業を、トーナメント型のペアワイズ比較パイプラインやバケット分割による並列処理後の統合で解決します。
  • ルール検証とCLAUDE.md自動化 : ルールごとに検証エージェントを置いて抜け漏れを見つけ、懐疑主義者ペルソナのエージェントがルール自体の妥当性を検討します。逆に、最近のセッションやコードレビューで繰り返される修正事項をクラスタリングして新しいルールを自動導出することもできます。
  • 断続的失敗のデバッグと事後分析 : ログ・ファイル・データごとに独立したエージェントが互いに分離された証拠から仮説を立て、検証者・反証者のパネルが各仮説を評価します。コードだけでなく、売上低下の原因分析、データパイプライン障害の分析などにも適用されます。
  • トリアージとバックログ処理 : サポートキュー・バグレポートを分類し、既存項目との重複を除去したうえで自動修正または人へエスカレーションします。信頼できない外部コンテンツを読むエージェントと、権限のある行動を実行するエージェントを分離する隔離(quarantine)パターンが推奨されます。/loopと組み合わせれば常時運用も可能です。
  • 創造的探索と評価(Eval) : デザイン・ネーミングのように好みが関与する作業で多数案を作った後、レビューエージェントがルーブリックで採点・選別します。スキル自体の品質を採点・改善する軽量な評価にも活用できます。
  • モデルルーティング(Model Routing) : 分類器エージェントがタスクの複雑さを事前調査した後、SonnetとOpusのどちらが適切かを選んでルーティングします。

利点と差別化ポイント

  • 差別化ポイント : 既存のClaude Agent SDKやclaude -pで作る静的(static)ワークフローは、一般化された処理のために汎用的に書かれる必要がありますが、ダイナミックワークフローはClaudeがその場その場で専用ハーネスを即席で記述する点が異なります。
  • 利点 : コンテキストを分離した複数エージェントがそれぞれの目標に集中するため、怠惰・自己選好・目標ドリフトの問題を構造的に減らせます。中断セッションの再開、トークン予算の指定(「use 10k tokens」)、/goal/loopとの組み合わせ、sキーで保存したうえで~/.claude/workflowsディレクトリやスキル経由で共有するといった、運用面の機能も備わっています。
  • 欠点と注意点 : トークン使用量が大きく増える可能性があるため、すべての作業に適しているわけではありません。一般的なコーディング作業に5人のレビューパネルは不要だと著者も明確に指摘しており、「本当により多くの計算資源が必要か」を自問して使うことを勧めています。ベストプラクティスもまだ形成途上の段階です。

ダイナミックワークフローは、Claude Codeを単一のコーディング支援ツールから、複数エージェントを調整するメタオーケストレーターへ拡張する変化として読めます。静的パイプラインと自律エージェントの中間地点を狙ったアプローチであり、コードマイグレーション・ディープリサーチ・トリアージ・事後分析のような長時間の構造的作業で効果が際立つと見られます。ただし、トークンコストが高く、ベストプラクティスも確立されていないだけに、パターンごとの適性を慎重に見極めながら「クイックワークフロー」から小さく

まだコメントはありません。

まだコメントはありません。