Claude Code Agent Teams完全ガイド【2026年最新】16体のAIが10万行のCコンパイラを構築した仕組み

Claude Code Agent Teamsは、2026年2月にClaude Opus 4.6と同時にリリースされた実験的機能だ。複数のClaude Codeセッションを「チーム」として協調させ、1つのプロジェクトに対して並列に作業を進められる。Anthropic社のNicholas Carliniは、この機能を使って16体のAIエージェントに10万行のRust製Cコンパイラを2週間で構築させた。この記事では、Claude Code Agent Teamsの仕組み・使い方・従来のSubagentとの違いを、公式ドキュメントに基づいて解説する。

Claude Code Agent Teamsとは?——Subagentとの根本的な違い

Claude Codeには以前から「Subagent」という並列処理機能があった。メインセッション内でサブプロセスを生成し、結果だけを受け取る仕組みだ。Agent Teamsはこれとは設計思想が異なる。

比較項目 Subagent Agent Teams
コンテキスト メインセッション内で動作 完全に独立したClaude Codeインスタンス
通信モデル メインエージェントにのみ結果を返す チームメイト同士が直接メッセージを送れる
タスク管理 メインが全作業を管理 共有タスクリストからチームメイトが自律的にタスクを取得
適用場面 結果だけ必要な集中的タスク 議論・相互レビュー・自己調整が必要な複雑プロジェクト
コスト 低い(結果要約のみ) 高い(各メンバーがフルインスタンス)

公式ドキュメント(code.claude.com/docs/en/agent-teams)によると、Agent Teamsは「複数のClaude Codeセッションを協調させるオーケストレーション機能」と定義されている。チームメイトは互いの存在を認識し、発見し、メッセージを送り、互いの成果に異議を唱えることすらできる。

Claude Code Agent Teamsのアーキテクチャ——4つの構成要素

Agent Teamsの内部は4つの要素で構成されている。

1. Team Lead(チームリード)

メインのClaude Codeセッション。チームの作成、メンバーの生成、タスクの割り当て、最終的な成果の統合を担当する。

2. Teammates(チームメイト)

独立したClaude Codeインスタンスとして動作する。それぞれが自分のコンテキストウィンドウを持ち、スポーン時にCLAUDE.md・MCPサーバー・スキルなどプロジェクトのコンテキストを読み込む。リードの会話履歴は引き継がない。

3. Shared Task List(共有タスクリスト)

チーム全体で共有されるタスクキュー。各タスクはpending → in-progress → completedの状態遷移を持ち、依存関係を定義できる。前提タスクが完了すると後続タスクが自動的にアンブロックされる。ファイルロックにより、複数のチームメイトが同一タスクを取り合う競合を防止する。

4. Mailbox(メールボックス)

エージェント間のメッセージングシステム。messageコマンドで特定のチームメイトに直接送信、broadcastで全員に一斉送信できる。broadcastはチーム人数分のコストが発生するため、公式ドキュメントでは控えめな使用を推奨している。

Claude Code Agent Teamsセットアップ手順——図解ワークフロー

STEP 1
環境変数を設定
CLAUDE_CODE_EXPERIMENTAL
_AGENT_TEAMS=1
STEP 2
CLAUDE.mdを最適化
モジュール境界
ファイル所有権を定義
STEP 3
チームを起動
自然言語で
タスク・構成を指示
STEP 4
Delegate Mode
Shift+Tab で有効化
4人以上のチームに必須
STEP 5
Plan Approval
チームメイトの計画を
承認 or 却下
STEP 6
Hooksで品質ゲート
TaskCompleted
TeammateIdle
チームが自律的にタスクを取得・実行・レビュー → リードが最終統合
✅ ベストプラクティス
• チームメイトは3〜5人が最適
• 1人あたり5〜6タスクを割り当て
• ファイル所有権をCLAUDE.mdに明記
• broadcastは控えめに(コスト増大)
⚠️ よくある失敗
• Delegate Mode未使用で作業衝突
• テスト検証器の精度不足
• モノリシックタスクで並列化できず
• 出力が多すぎてコンテキスト汚染

Claude Code Agent Teamsのコスト比較——Subagent・チーム規模別

Agent Teamsの導入判断で最も重要な指標がコストだ。各チームメイトが独立したClaude Codeインスタンスとして動作するため、トークン消費はチーム規模にほぼ比例する。以下は、同一プロジェクト(中規模リファクタリング、約2時間の作業)を想定した目安値だ。

構成 入力トークン目安 出力トークン目安 概算コスト(Opus) 概算コスト(Sonnet混成) 適用場面
Subagent × 3 ~500K ~50K ~$3.75 調査・検索・単純タスク
Agent Teams 3人 ~1.5M ~150K ~$11.25 ~$5.50 PRレビュー・バグ調査
Agent Teams 5人 ~2.5M ~250K ~$18.75 ~$9.00 モジュール並列実装
Agent Teams 10人 ~5M ~500K ~$37.50 ~$18.00 大規模プロジェクト
Cコンパイラ事例(16人×2週間) 2B 140M $20,000 フルスケール開発

※ Sonnet混成: リードのみOpus、チームメイトはSonnetを使用する構成。公式ドキュメントで推奨されているコスト最適化パターン。

コスト比較(同一タスク・Opus基準)
Subagent ×3
$3.75
Teams 3人 (Opus)
$11.25
Teams 3人 (Sonnet)
$5.50
Teams 5人 (Opus)
$18.75
Teams 10人 (Opus)
$37.50

Shared Task Listのライフサイクル——タスクはどう流れるのか

Agent Teamsの中核はShared Task Listだ。チームメイトはこのリストからタスクを自律的に取得(claim)し、完了したら次のタスクに移る。依存関係がある場合は、前提タスクの完了まで自動的にブロックされる。

タスク状態遷移フロー
PENDING
タスク待機中
BLOCKED
依存未完了
READY
取得可能
IN PROGRESS
チームメイトが作業中
DONE ✓

TaskCompleted Hook(品質ゲート)
exit 0 → 完了許可
テスト合格
タスクがDONEに遷移
exit 2 → 差戻し
テスト不合格
IN PROGRESSに戻り修正継続

ファイルロックによる競合防止
Teammate A
Task #3 を取得 → ✓ ロック成功
作業を開始
Teammate B
Task #3 を取得 → ✗ ロック済み
→ 次の未割当タスクを自動取得

依存関係の自動解決フロー
Task A ✓完了
→ unblock →
Task B → READY
→ claim →
Task B → 作業中
Task B ✓完了
→ Task C…

Claude Code Agent Teamsハンズオン——今日から試せる3つの実習

ここからは、Agent Teamsを手元で動かす具体的な手順を示す。いずれもプロジェクトの規模を問わず試行できる。

実習1: 並列コードレビュー(所要時間: 5分)

目的: 3つの視点から同時にコードレビューを行い、見落としを最小化する。

# 1. 環境変数を設定(未設定の場合)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# 2. Claude Codeを起動
claude

# 3. 以下のプロンプトを入力
Create an agent team with 3 reviewers for the latest commit:
- Reviewer 1: Check for security vulnerabilities (SQL injection, XSS, auth bypass)
- Reviewer 2: Analyze performance implications (N+1 queries, memory leaks, blocking calls)
- Reviewer 3: Validate test coverage and edge cases

Each reviewer should:
1. Read the changed files
2. Analyze from their perspective
3. Message other reviewers if they find something that overlaps
4. Report findings with severity (critical/warning/info)

Use Sonnet for all reviewers to keep costs low.

確認ポイント:

  • Ctrl+Tでタスクリストが表示されるか
  • Shift+Downでレビュアー間を切り替えられるか
  • 各レビュアーが独自の観点でコードを分析しているか

実習2: 競合仮説デバッグ(所要時間: 10分)

目的: 原因不明のバグに対し、複数のエージェントが異なる仮説を検証して原因を特定する。

# Claude Code内で以下を入力
Create a debugging team with 3 investigators for this bug:
[ここにバグの症状を記述。例: "API returns 500 on POST /users when email contains unicode"]

- Investigator 1: Hypothesis - Input validation issue. Check all validation layers.
- Investigator 2: Hypothesis - Database encoding problem. Check DB schema and connection settings.
- Investigator 3: Hypothesis - Middleware error handling. Check error propagation chain.

Rules:
- Each investigator must try to PROVE their hypothesis AND DISPROVE the others
- When one finds evidence, message the others immediately
- The lead synthesizes findings when all are done

Require plan approval before investigators make any code changes.

この実習のポイント: 単一エージェントだと最初の仮説に固執しがちだが、3体が相互に反論することで盲点が減る。adversarial debateパターンはAgent Teamsの最も強力なユースケースの一つだ。

実習3: モジュール並列実装(所要時間: 30分〜)

目的: 独立した複数モジュールを同時に実装し、開発速度を倍増させる。

# 事前準備: CLAUDE.mdにモジュール境界を定義
# 例:
# ## Module Ownership
# - src/auth/     → auth-agent only
# - src/api/      → api-agent only  
# - src/database/ → db-agent only
# - src/shared/   → read-only for all (lead modifies)

# Claude Code内で実行
Create an agent team to implement these 3 modules in parallel:

Task 1 (auth-agent): Implement JWT authentication in src/auth/
  - Token generation, validation, refresh flow
  - Tests in src/auth/__tests__/
  
Task 2 (api-agent): Implement REST endpoints in src/api/
  - CRUD for users and posts
  - Depends on: Task 1 (needs auth middleware types)
  - Tests in src/api/__tests__/

Task 3 (db-agent): Implement database layer in src/database/
  - Prisma schema, migrations, repository pattern
  - Tests in src/database/__tests__/

Use delegate mode. Require plan approval.
Use Sonnet for all teammates, Opus for lead.

Quality gate: All tasks must pass `npm test` before marking complete.

CLAUDE.mdに書くべきこと:

項目 記述例 理由
モジュール境界 src/auth/ → auth-agent only マージコンフリクト防止
共有ディレクトリ src/shared/ → read-only リードだけが変更可能にする
テスト実行コマンド npm test -- --module auth TaskCompletedフックで使用
コーディング規約 ESLint設定ファイルのパス 全エージェントで統一
API仕様 OpenAPIスキーマのパス モジュール間の型の整合性確保

TaskCompletedフックの実装例

実習3で使う品質ゲートフックの具体例。.claude/hooks/task-completed.shに配置する。

#!/bin/bash
# .claude/hooks/task-completed.sh
# TaskCompleted hook: テストが通らなければタスク完了を阻止

MODULE=$(echo "$TASK_NAME" | grep -oP '(?<=src/)[^/]+')

if [ -n "$MODULE" ]; then
  echo "Running tests for module: $MODULE"
  npm test -- --module "$MODULE" 2>&1
  
  if [ $? -ne 0 ]; then
    echo "Tests failed for $MODULE. Fix the failing tests before completing this task."
    exit 2  # exit 2 = 完了を阻止してフィードバックを返す
  fi
fi

echo "All tests passed."
exit 0  # exit 0 = 完了を許可

関連記事

ソースリスト

会員登録(無料)で限定プロンプト集を受け取る → 登録はこちら

🤖 AI導入を迷っているあなたへ──30分無料診断

「どのAIツールが合うかわからない」「自動化できる業務を知りたい」方は、
Instagramの @taro_taro609 にDMで 「診断」 とメッセージを送ってください。
30分のビデオ通話で、あなたの業務に最適なAI活用プランを無料でご提案します。


Instagramで「診断」とDMする →

バイブコーディング入門ガイドPDF(¥1,480)でゼロから始めよう →


著者: 稲邉舜太朗(Lovable公式アンバサダー)
運営: テイラーの隠れ家(shuntailor.net)
最終更新: 2026年3月16日

コメントする

JAKO