Agent Teams(エージェントチーム)

Agent Teams は、複数の Claude Code を同時に動かしてチームのように協力させる仕組みです。各メンバーが並列で動き、お互いにメッセージを送り合いながら協調作業できます。

Agent Teams とは

身近な例えで理解する

Agent Teams なし

1人で荷造り → 運搬 → 荷ほどき → 掃除を順番にやる。全部終わるまで時間がかかる。

Agent Teams あり

「荷造り担当」「運搬担当」「荷ほどき担当」「掃除担当」の4人チームで同時に作業する。さらにメンバー同士が「荷造り終わったよ」「じゃあ運ぶね」と直接やり取りできる。

なぜ Agent Teams が必要なのか

1. 並列で作業が進む

1人が順番にやると時間がかかる作業も、3〜5人で分担すれば大幅に短縮できます。特に「調査」「実装」「レビュー」のように独立性の高い作業に効果的です。

2. 専門性を分けられる

「セキュリティ担当」「パフォーマンス担当」「テスト担当」のように、それぞれ異なる観点に集中させることで、1人で全部見るより品質が上がります。

3. チームメイト同士が議論できる

サブエージェントはメインエージェントに結果を返すだけですが、Agent Teams のメンバーはお互いにメッセージを送り合い、発見を共有したり、お互いの仮説に反証を試みたりできます。

サブエージェントとの違い

サブエージェント Agent Teams
コミュニケーション メインに結果を返すだけ メンバー同士が直接やり取り
コーディネーション メインが全管理 共有タスクリストで自己調整
コスト 低い 高い(各メンバーが独立インスタンス)
向いている場面 結果だけ欲しい単純なタスク 議論・協調が必要な複雑なタスク

使い分けの目安: 結果だけ欲しい → サブエージェント、議論させたい → Agent Teams

有効化

注意: Agent Teams は実験的機能です。Claude Code v2.1.32 以降が必要です。

settings.json に以下を追加します(スターターキットの .claude/settings.json には設定済み)。

.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

チーム設計の方法

効果的なチームを設計するには、タスクの性質に応じてメンバーの役割を決めます。

設計のポイント

  • 独立した作業単位に分割する - 各メンバーが他のメンバーの完了を待たずに作業開始できるようにする
  • 明確な責任範囲を定義する - 同一ファイルの並行編集を避けるため、担当領域を明確に分ける
  • 3〜5名が最適 - 多すぎるとコーディネーションコストが増加する
  • 1人あたり5〜6タスク - 多すぎず少なすぎない粒度にする

活用シーン

シーン チーム構成例
PR レビュー セキュリティ担当 + パフォーマンス担当 + テスト担当
バグ調査 仮説A調査 + 仮説B調査 + 仮説C調査(互いに反証)
新機能実装 フロントエンド担当 + バックエンド担当 + テスト担当
リサーチ UX調査 + 技術調査 + 競合調査

並列実行のメリット

時間の短縮

3つの独立したレビューを順番にやると30分かかるところ、並列で10分に短縮。作業時間は人数分の1に近づきます。

多角的な視点

セキュリティ、パフォーマンス、テストの3つの視点で同時にレビュー。1人では見落とすポイントもカバーできます。

相互フィードバック

メンバー同士がお互いの発見を共有。「バックエンドの修正がフロントに影響する」といった横断的な問題も早期に発見。

チームの起動方法

自然言語で Claude に指示するだけでチームを起動できます。

PR レビューの例

プロンプト例
エージェントチームを作成して PR #42 をレビューしてください。
3つのレビュアーを起動:
- セキュリティに焦点を当てたレビュアー
- パフォーマンスをチェックするレビュアー
- テストを検証するレビュアー

機能実装の例

プロンプト例
エージェントチームを作成して Issue #100 を実装してください。
4名のチーム:
- 解析担当: Issue の要件を分析してタスクを分解
- バックエンド担当: API エンドポイントの実装
- フロントエンド担当: UI コンポーネントの実装
- レビュー担当: 実装完了後にコードレビュー

バグ調査の例

プロンプト例
エージェントチームを作成してバグを調査してください。
5つの仮説を並列で検証し、互いの理論に反証を試みるよう指示。

dev-issue-team コマンドとの連携

スターターキットには /dev-issue-team カスタムコマンドが用意されており、GitHub Issue の実装を Agent Teams で並列実行できます。

使用例
# Issue #42 を Agent Teams で実装
/dev-issue-team #42

このコマンドは以下を自動的に行います:

  • Issue の内容を分析
  • 適切なチーム構成を決定
  • 各メンバーにタスクを割り当て
  • 並列で実装を進行
  • 結果を統合して PR を作成
flowchart TD CMD(["/dev-issue-team #42"]) subgraph P1["Phase 1: 解析(単体)"] A1["analyzer
Issue 解析・既存実装調査"] end subgraph P2["Phase 2: 実装(並列可能)"] A2["developer
コード実装・テスト作成"] end subgraph P3["Phase 3: レビュー・Git"] A3["reviewer
テスト実行・レビュー・PR 作成"] end CMD --> P1 P1 -->|"調査結果を共有"| P2 P2 -->|"実装完了を報告"| P3 style CMD fill:#e0e7ff,stroke:#6366f1,color:#1e293b style P1 fill:#fef3c7,stroke:#f59e0b,color:#1e293b style P2 fill:#ecfdf5,stroke:#10b981,color:#1e293b style P3 fill:#f0f9ff,stroke:#3b82f6,color:#1e293b
Agent Teams のフェーズ実行フロー

チーム設定サンプル

Hooks を使って品質ゲートを設定し、チームの品質を担保できます。

settings.json に追加するフック設定(品質ゲート)
{
  "hooks": {
    "TeammateIdle": [
      {
        "hooks": [
          {
            "type": "prompt",
            "prompt": "全ての割り当てタスクは完了しましたか?未完了の場合、残りのタスクを確認して作業を続けてください。"
          }
        ]
      }
    ],
    "TaskCompleted": [
      {
        "hooks": [
          {
            "type": "prompt",
            "prompt": "このタスクの成果物は品質基準を満たしていますか?テストは通っていますか?"
          }
        ]
      }
    ]
  }
}

表示モード

モード 操作方法 要件
in-process Shift+Down でメンバー切り替え なし
tmux 各メンバーが独自のペインで表示 tmux / iTerm2

表示モードは settings.json で設定できます。

settings.json
{
  "teammateMode": "in-process"
}

具体的なチーム構成例

構成例1: PR レビューチーム

メンバー 役割 チェック観点
セキュリティレビュアー セキュリティ脆弱性の検出 SQL インジェクション、XSS、認証・認可、機密情報露出
パフォーマンスレビュアー パフォーマンス問題の検出 N+1 クエリ、メモリリーク、不要な再レンダリング
テストレビュアー テストカバレッジの検証 テスト漏れ、エッジケース、モックの適切さ

構成例2: フルスタック実装チーム

メンバー 役割 担当領域
解析担当 要件分析とタスク分解 Issue 分析、設計ドキュメント
バックエンド担当 API 実装 エンドポイント、DB スキーマ、ビジネスロジック
フロントエンド担当 UI 実装 コンポーネント、スタイリング、状態管理
レビュー担当 品質検証 コードレビュー、テスト作成

ベストプラクティス:

  • チームサイズは3〜5名 - 多すぎるとコーディネーションオーバーヘッドが増加します
  • チームメイト1名あたり5〜6タスク が適切な粒度です
  • 同一ファイルの並行編集は避ける - 上書きの原因になります。担当ファイルを明確に分けましょう
  • 初めてなら「コードを書かないタスク」から始める - レビューや調査など、ファイル変更を伴わないタスクが安全です
  • 品質ゲートを設定する - TeammateIdleTaskCompleted フックで品質チェックを自動化しましょう
  • tmux モードを活用する - 各メンバーの作業状況をリアルタイムで確認できます