Claude Codeのマルチエージェント開発には主に3つのアプローチがあります:①Agent Teams(実験的)②Agentツール(サブエージェント)③複数ターミナルでの並列起動+git worktree。本記事では各アプローチの使い分けと、実際の開発で失敗しないコツを解説します。
- 問題の症状
- 3つのマルチエージェントアプローチ
- アプローチ①:Agent Teamsで並列処理(最も簡単)
- アプローチ②:Agentツール(サブエージェント)の使い方
- アプローチ③:複数ターミナル + git worktreeで本格並列開発
- コスト管理の実践的テクニック
- 補足・注意点
- 参照URL一覧
問題の症状
シングルエージェントで起きるボトルネック:
# 大規模機能追加をシングルエージェントでやると... 「認証機能・決済機能・通知機能を全部実装して」 → Claudeが1つずつ順番に実装 → コンテキストが肥大化して途中でフリーズ → 長時間待機が必要
3つのマルチエージェントアプローチ
アプローチ比較
| アプローチ | 難易度 | 並列度 | コスト | 安定性 |
|---|---|---|---|---|
| ① Agent Teams | 低(指示するだけ) | 高 | 高い | △(実験的) |
| ② Agentツール(サブエージェント) | 中 | 中 | 中 | ○ |
| ③ 複数ターミナル + Worktree | 高 | 高 | 中 | ◎ |
アプローチ①:Agent Teamsで並列処理(最も簡単)
※ 詳細は [38番の記事] を参照。ここでは概要のみ。
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=true claude "3人のエージェントチームで並列開発してください..."
向いているケース: 各タスクが独立していて、ファイルの競合が起きにくい場合
アプローチ②:Agentツール(サブエージェント)の使い方
CLAUDE.mdで定義したカスタムサブエージェントを親エージェントから呼び出す方法です。
サブエージェントの定義(CLAUDE.md形式)
# .claude/agents/code-reviewer.md --- name: code-reviewer description: コードレビューを専門に行うエージェント。セキュリティ・パフォーマンス・コーディング規約をチェック。 model: claude-sonnet-4-6 tools: - Read - Grep - Glob --- あなたはコードレビュー専門のエージェントです。 以下の観点でコードをレビューしてください: 1. セキュリティ脆弱性(SQLインジェクション、XSS、認証バイパス等) 2. パフォーマンス問題(N+1クエリ、不要なループ等) 3. コーディング規約違反(命名規則、型定義の欠如等) 問題を発見した場合は「【重要度: 高/中/低】問題の説明 → 改善案」の形式で報告してください。
# .claude/agents/test-writer.md --- name: test-writer description: テストコードを専門に書くエージェント。Jest、Vitest、pytestに対応。 model: claude-sonnet-4-6 tools: - Read - Write - Bash --- あなたはテストコード専門のエージェントです。 指定されたファイルに対して、以下のテストを作成してください: - ハッピーパス(正常系) - エラーケース(異常系) - エッジケース(境界値) - モック・スタブの適切な使用 テストファイルは `tests/` ディレクトリに保存してください。
親エージェントからサブエージェントを呼び出す
# 親エージェントへの指示 claude "src/api/auth.ts を以下の2つのタスクで並列処理してください: 1. code-reviewer エージェントでコードレビュー 2. test-writer エージェントでテストコードを作成 両方のタスクを並列で実行して、完了後に結果をまとめてください。"
アプローチ③:複数ターミナル + git worktreeで本格並列開発
最も安定した並列開発の方法です。git worktreeを使って各エージェントが独立したブランチで作業するため、ファイルの競合を完全に防げます。
ステップ1:git worktreeで作業ブランチを作成する
# メインリポジトリ cd /workspace/myproject # 機能別にworktreeを作成 git worktree add ../myproject-auth feature/auth-system git worktree add ../myproject-payment feature/payment-system git worktree add ../myproject-notification feature/notification-system # 確認 git worktree list # /workspace/myproject abc1234 [main] # /workspace/myproject-auth def5678 [feature/auth-system] # /workspace/myproject-payment ghi9012 [feature/payment-system] # /workspace/myproject-notification jkl3456 [feature/notification-system]
ステップ2:各ターミナルで独立したclaudeセッションを起動
# ターミナル1:認証機能担当 cd /workspace/myproject-auth claude "認証APIを実装してください。JWTトークン認証、ログイン・ログアウト・トークンリフレッシュのエンドポイントが必要です。" # ターミナル2:決済機能担当(別ターミナルで同時に起動) cd /workspace/myproject-payment claude "Stripe連携の決済APIを実装してください。購入・返金・定期課金のエンドポイントが必要です。" # ターミナル3:通知機能担当(別ターミナルで同時に起動) cd /workspace/myproject-notification claude "メール・プッシュ通知のAPIを実装してください。SendGrid連携とFCM連携が必要です。"
ステップ3:各ブランチをマージする
# 全エージェントの作業完了後 cd /workspace/myproject git checkout main # 順番にマージ(コンフリクトに注意) git merge feature/auth-system git merge feature/payment-system git merge feature/notification-system
コスト管理の実践的テクニック
テクニック1:タスクサイズを計算してから並列化
コスト試算の目安: - 1ファイル(100〜200行)の実装: 約50〜100Kトークン - 1機能(5〜10ファイル)の実装: 約300〜500Kトークン - 大規模リファクタリング(50ファイル): 約2〜5Mトークン → 合計2Mトークン以上かかるタスクは並列化の恩恵大 → 200Kトークン以下のタスクはシングルで十分
テクニック2:モデルを役割に応じて使い分ける
// 重要度に応じてモデルを使い分ける { "leader_model": "claude-opus-4-6", // 最終判断・統合を担うリーダー "implementation_model": "claude-sonnet-4-6", // 実装タスク(品質十分) "review_model": "claude-sonnet-4-6" // コードレビュー }
テクニック3:/compactで並列セッションのコストを抑える
各並列セッションでも定期的に /compact を実行してコンテキストを圧縮します:
# 各セッションで30〜60分ごとに /compact
補足・注意点
「並列化すれば速い」は間違い
マルチエージェント化で遅くなるケースがあります:
- タスク間の依存が高い場合: 認証モジュールが完成しないと他が書けない
- 統合コストが高い場合: 各エージェントの成果物をマージする工数がかかる
- 共有ファイルが多い場合: コンフリクト解消に時間がかかる
並列化が有効なのはタスクが独立している場合のみです。
並列開発に向くタスクの判断基準
○ 向く: - 独立したマイクロサービスの開発 - 異なるモジュール・ディレクトリの作業 - テスト作成(実装と同時並行) - 多言語ドキュメント作成 ✕ 向かない: - 共通のデータモデルを変更するタスク - 設定ファイルを同時に変更するタスク - データベーススキーマの変更を含むタスク