Claude Code は、目の前のタスクに合わせたハーネスを、今や瞬時に自作できるようになりました。この機能は「動的ワークフロー」と呼ばれ、オーケストレーションスクリプトを動的に作成し、1 回のセッションで数十から数百もの並列サブエージェントを実行し、結果を提示する前に自己チェックを行います。
デフォルトの Claude Code ハーネスはコード作成に優れていますが、リサーチ、セキュリティ分析、エージェントチーム、コードレビューといった、より専門的なタスクでは、最適なパフォーマンスを得るために、以前は Claude Code 上にカスタムハーネスを構築する必要がありました。
ワークフローを使用すると、これらのカスタムハーネスを動的に作成できます。これらは再利用可能で共有可能であり、デフォルトのアプローチよりもネイティブな方法で問題を解決できるように Claude を支援します。
この記事では、ワークフローに関する私の初期の経験と洞察を共有します。ワークフローはより多くのトークンを消費し、複雑で価値の高いタスクに適していることに注意してください。
0. はじめに
この導入セクションには、プラクティスブラザーからのメモが含まれています。
素晴らしい内容です。ワークフローは、スキル以来の最高の発明かもしれません。これは目標の強化版であり、学ぶ価値が十分にあります。この記事では、ワークフローのさまざまなアプリケーションシナリオをわかりやすく説明しています。
原作者は Thariq @trq212 氏で、Claude Code のヒントを頻繁に共有している Anthropic の中核メンバーです。
内容は長文ですので、興味のあるセクションにスキップしてください。その機能を直接体験したい場合は、セクション 1 を参照してください。
なぜ必要なのかを理解したい場合は、セクション 3 から 5 を参照してください
; 実装ソリューションを直接コピーしたい場合は、セクション 6 に進んでください。
1. プロンプトの例
これらの例は、ワークフローで何ができるかを示しています。Claude に同様のリクエストを直接依頼できます。
- 複数の競合する理論に、不安定なテストの再現を試行させる。
- 過去のセッションから繰り返し発生する修正をマイニングする。
- Slack のインシデントチャンネルで根本原因を特定する。
- ビジネスプランに対する複数の視点からの批評を得る。
- 履歴書をランク付けし、検証する。
- トーナメント形式の選択を使用して CLI ツールに名前を付ける。
- コードベース全体にわたるリファクタリングを実行する。
- ブログ記事のドラフトにある技術的な主張を、実際のコードと照合して検証する。
2. ワークフローの仕組み
ワークフローは、サブエージェントを生成および調整するための特別な関数を含む JavaScript ファイルを実行します。JSON、Math、Array などの標準的な JavaScript ツールを使用してデータを処理できます。ワークフローは、サブエージェントが使用するモデルを選択し、それらが分離されたワークツリーで実行されるかどうかを決定できます。中断された場合、ワークフローは中断したところから再開できます。

3. ワークフローが必要な理由
デフォルトのハーネスは、計画と実行を単一のコンテキストウィンドウ内で完了します。これはコーディングタスクには適していますが、長時間実行、大規模並列、高度に構造化された、または敵対的なタスクでは失敗します。具体的には、次の 3 つの障害モードを示します。
- エージェントの怠慢: 複雑なマルチパートタスクに直面すると、Claude は途中で停止し、一部のみを完了します(例:50 件のセキュリティレビューのうち 35 件のみを処理)。
- 自己選好バイアス: ルーブリックに対して結果を検証または判断するように求められると、Claude は自身の結論を優先する傾向があります。
- 目標の逸脱: 複数のインタラクションを経るうちに忠実度が失われます。各サマリーは、エッジケースの要件や制約を含む詳細を削減します。
ワークフローは、それぞれが独自のコンテキストウィンドウ、焦点を絞った目標、および分離性を持つ独立したサブエージェントを調整することで、これに対抗します。
4. 動的ワークフロー vs. 静的ワークフロー
以前は、Claude Agent SDK または claude -p を使用して構築された静的ワークフローが、複数の Claude Code インスタンスを汎用的に調整していましたが、すべてのエッジケースをカバーする必要がありました。Claude Opus 4.8 と動的ワークフローにより、Claude は特定のシナリオに合わせたハーネスを作成できるようになりました。

5. ワークフローを使用するための実用的なパターン
ワークフローを直接リクエストするか、プロンプトで ultracode を使用して Claude Code にワークフローを作成させることで、ワークフローをトリガーできます。一般的なパターンは次のとおりです。

- 分類して実行: 分類エージェントがタスクタイプを決定し、異なるエージェントまたは動作にルーティングします。完了時に出力を分類することもできます。
- ファンアウトして統合: タスクを多数の小さなステップに分割し、各ステップにエージェントを実行し、結果を統合します。これは、多くのステップがクリーンで干渉のないコンテキストウィンドウの恩恵を受ける場合に役立ちます。統合はバリアとして機能し、すべてのエージェントが構造化出力をマージする前に終了するのを待ちます。
- 敵対的検証: 生成されたすべてのエージェントに対して、ルーブリックまたは基準に照らして出力を検証するために、別の敵対的エージェントを実行します。
- 生成してフィルタリング: トピックに関する複数のアイデアを生成し、ルーブリックまたは検証によってフィルタリングし、重複排除後に最高品質で検証された結果のみを保持します。
- トーナメント: N 個のエージェントに、異なる方法を使用して同じタスクで競争させます。ペアワイズ判定エージェントが、1 つだけが残るまで勝者を決定します。
- 完了するまでループ: 未知のワークロードのタスクの場合、停止条件が満たされるまで(例:新しい発見がない、ログにエラーがなくなった)エージェントを継続的に生成します。
6. アプリケーションシナリオ
- 移行とリファクタリング: Bun は Zig から Rust への書き換え時にワークフローを使用しました。タスクをシリアルステップ(呼び出しサイト、失敗するテスト、モジュール)に分割し、ワークツリー内の各修正に対してサブエージェントを生成し、敵対的レビューを実行し、マージします。並列性を最大化するために、リソースを大量に消費するコマンドは避けてください。
- ディープリサーチ: Claude Code の
/deep-researchスキルは、ワークフローを使用して Web 検索をファンアウトし、ソースをスクレイピングし、主張を敵対的に検証し、引用付きのレポートを統合します。これは、Slack ステータスレポートの作成やコードベース機能の調査など、Web 以外のリサーチにも適用できます。 - ディープバリデーション: すべての事実に引用が必要なレポートの場合、ワークフローは主張を特定し、サブエージェントにそれぞれをチェックさせ、検証エージェントを使用してソースの品質を確保できます。

- ソート: 定性的な測定を必要とする大規模なリスト(例:重要度によるチケットのランク付け)の場合、1 つのプロンプトで 1000 行以上をランク付けすると品質が低下し、コンテキストが肥大化します。トーナメント、ペアワイズパイプライン、または並列バケットランキングを使用します。各比較は独自のエージェントです。

- メモリとルールの遵守: Claude が
CLAUDE.md内のルールを見逃す場合でも、各ルールにルール検証エージェントを備えたワークフローを作成します。懐疑論者のペルソナを使用してルールをレビューし、誤検出を防ぎます。逆に、最近のセッションから繰り返し発生する修正をマイニングし、並列エージェントでクラスタリングし、CLAUDE.mdを改良する前に、ルールがエラーを防止できたかどうかを敵対的に検証します。

- 大規模トリアージ: トリアージワークフローはアイテムを分類し、既存のレコードに対して重複排除し、アクションを実行します。「検疫」パターンは、信頼できないコンテンツを読み取るエージェントが高権限アクションを実行するのを防ぎ、それらを処理エージェントに委任します。継続的な運用には
/loopと組み合わせて使用します。

- 探索とテイスト: 「テイスト」に依存し、ルーブリックの恩恵を受けるデザインやネーミングの決定に役立ちます。Claude がソリューションを探索している間、レビューエージェントがルーブリックに照らしてソリューションを判断します。ソリューションはトーナメントを介してランク付けまたは選択できます。
- 評価: ワークツリー内に独立したエージェントと、ルーブリックに対してスコアを出力する比較エージェントを生成することで、軽量な評価を実行します。
- モデルとインテリジェントルーティング: 使用するモデルを決定するための、タスクに調整された分類エージェントを作成します。たとえば、認証モジュールの説明はファイル数に依存します。分類エージェントが最初にこれを調査し、複雑さに基づいて Sonnet または Opus にルーティングします。
7. ワークフローを使用すべきでない場合
ワークフローは新しい機能であり、すべてのタスクに必要なわけではありません。従来の使用法を超えたタスクに創造的に使用してください。ルーチンのコーディングでは、追加の計算リソースが必要かどうかを検討してください。ほとんどのコーディングに 5 人のレビューアは必要ありません。
8. ワークフロー構築のためのヒント
- プロンプティング: 詳細なプロンプトが最も効果的です。ワークフローは大規模なタスクのためだけではありません。仮説の迅速な敵対的レビューのために、クイックワークフローをプロンプトできます。
- /goal および /loop との組み合わせ: トリアージやリサーチなどの反復可能なワークフローの場合は、間隔には
/loopを、厳格な完了要件には/goalを使用します。 - トークン予算: 使用量を制限するために、プロンプトに明確なトークン予算(例:10k トークン)を設定します。
- 保存と共有: ワークフローメニューで 's' を押して保存します。
~/.claude/workflowsにチェックインするか、スキルを介して配布します。SKILL.mdで JavaScript ワークフローファイルを参照します。柔軟性を高めるために、Claude にスキルワークフローをリテラルスクリプトではなくテンプレートとして扱うようにプロンプトします。


9. 新たな出発点
ワークフローは、Claude Code を拡張するための強力な新しい方法を提供します。これを、Claude を使用してタスクを完了するための新しい方法を探求するための出発点と見なしてください。最適な使用方法については、まだ発見すべきことがたくさんあります。





