Claude Codeのサブエージェントを使ったコードレビューの並列実行:Dynamic Workflowsの活用例
この記事について
Claude Dynamic Workflowsの実務整理では、並列サブエージェントの仕組みと向いているタスクを整理しました。この記事では、その仕組みを実際にコードレビューに適用した体験を記録します。
通常のコードレビュー依頼の問題
AIにコードレビューを依頼するとき、通常は1回の会話で「このコードをレビューしてください」と伝えます。するとAIは複数の観点を順番に確認し、まとめて結果を返します。
この方法で問題になるのは、観点が増えるほど処理が長くなる点です。「セキュリティ」「パフォーマンス」「コードスタイル」を1つずつ順番に確認するより、3つを同時に確認できればその分だけ待ち時間が短くなります。
また、1回の会話で複数の観点を確認すると、AIが先に見た観点の結論が後の観点の評価に影響する場合があります。並列実行では各サブエージェントが独立して評価するため、観点間の干渉を減らせます。
Dynamic Workflowsで並列化した構成
今回は以下の3つの観点を並列実行しました。
サブエージェント1:セキュリティチェック 入力値のサニタイズ、認証・認可の確認、外部依存関係のバージョン、環境変数の扱いを確認します。
サブエージェント2:パフォーマンスチェック 不必要なループ、同期処理のブロッキング、不要なデータの読み込み、キャッシュの活用有無を確認します。
サブエージェント3:コードスタイルチェック 命名規則、型の一貫性、コメントの適切さ、既存のコード規約への準拠を確認します。
3つのサブエージェントが並列で動き、それぞれの観点からフィードバックを返します。
結果の統合
並列実行が終わると、3つのサブエージェントの結果がオーケストレーターに集まります。統合の処理では以下を行いました。
- 各観点のフィードバックを重要度(high / medium / low)に分類する
- 複数の観点で指摘が重なっている箇所を優先度の高い問題として整理する
- 観点ごとに対処方法をまとめて出力する
結果として出力されたのは、観点ごとに分けられたフィードバックリストと、重複指摘をまとめた優先対応リストです。
体験して気づいたこと
処理時間について、3つを順番に実行した場合と比べて、体感では並列の方が速く感じました。ただし、Dynamic Workflowsを使うとサブエージェントの分だけトークン消費が増えるため、コスト面での比較は別途確認が必要です。
並列実行が有効だと感じた点は、セキュリティとパフォーマンスの観点が独立していたことです。一方が他方の判断に引っ張られることなく評価を返してくれたため、フィードバックの独立性が保たれていました。
一方で、3つの観点すべてに関連する指摘(たとえば、ある関数の構造が全観点に影響する場合)は、統合フェーズでの整理が少し複雑になりました。
どういう場合に向いているか
並列レビューが有効なのは、観点が互いに独立していて、それぞれの判断が他の観点に依存しない場合です。
コードレビューのような「異なる視点から同じ対象を評価する」タスクは、並列化との相性が比較的よいと感じています。逆に、1つの観点の結果を次の観点の入力として使う必要がある場合は、順番に実行する方が設計しやすいです。
Dynamic Workflowsの詳細な仕組みについては、Claude Dynamic Workflowsの実務整理を参照してください。
まとめ
- 複数のレビュー観点はDynamic Workflowsで並列実行できる
- 観点ごとにサブエージェントを割り当てると、独立した評価が得られる
- 結果の統合フェーズで重複指摘を優先度付きに整理できる
- 並列化はトークン消費が増えるため、コストと速度のバランスを確認する必要がある