メインコンテンツへスキップ
18 / 26|4分で読めます

マルチエージェント — チームで開発する

TeamCreate、SendMessage、TaskCreate。複数のエージェントを協調させて、一人では不可能な規模の開発を実現する。

一人の開発者がチームに変わる。マルチエージェントシステムは、複数のAIエージェントが協調して一つのプロジェクトに取り組む仕組みだ。


マルチエージェントとは何か

通常のClaude Codeは「一人の開発者」として動作する。一つのコンテキストで、一つのタスクに順番に取り組む。

マルチエージェントでは、複数のエージェントが同時に、それぞれ独立したコンテキストで動作する。あたかも開発チームのように。

  • チームリード: 全体を統括し、タスクを割り当てる
  • 実装担当: コードを書く
  • テスト担当: テストを書いて実行する
  • レビュー担当: コードをレビューする

チームの作成

TeamCreate

チームを作成すると、以下が行われる。

  1. チーム設定ファイルを作成(~/.claude/teams/{team-name}/config.json
  2. 共有タスクリストを作成(~/.claude/tasks/{team-name}/
  3. チームリードとして現在のセッションを設定

チームメイトの追加

Agentツールで team_name パラメータを指定して、チームメイトを追加する。各チームメイトは独立したプロセスとして起動し、チームのタスクリストにアクセスできる。


タスク管理と協調

タスクの状態

状態意味
pending未着手
in_progress作業中
completed完了
blocked他タスクの完了待ち

チームメイトは定期的にタスクリストを確認し、未割り当てのタスクをID順に取得する。

コミュニケーション

  • 直接メッセージ: 特定のチームメイトへ指示を送る。通常はこちら
  • ブロードキャスト: 全員への一斉通知。コストが高いため重大情報のみ
  • シャットダウン要求: 作業完了後にチームメイトを終了させる

ブロードキャストは控えめに

ブロードキャストはすべてのチームメイトにメッセージを送信するため、コストが高い。全員に影響する重大な情報のみに使い、通常は直接メッセージを使う。


Worktree分離との組み合わせ

マルチエージェントで最も注意すべきはファイルの競合。isolation: "worktree" を指定すると、各エージェントはリポジトリの独立したコピーで作業し、競合を構造的に防げる。


実践例: 3エージェントでの機能開発

シナリオ: ブックマーク機能の追加

  1. team-leadがタスクを定義し割り当て
  2. frontend-dev(worktree分離)がUIコンポーネントを実装
  3. test-writer(worktree分離)が並行してテストを作成
  4. 各自が完了を報告
  5. team-leadが結果を確認、必要なら修正を指示
  6. 全チームメイトをシャットダウン → TeamDeleteでクリーンアップ

コスト考慮

各エージェントがAPIを消費するため、コスト意識が重要。

  • 軽量タスクにはHaikuモデルのエージェントを使う
  • 必要な時だけチームを編成し、完了後はすぐシャットダウン
場面マルチエージェント単一エージェント
5ファイル以上の大規模変更効果的時間がかかる
実装とテストの並行作業効果的順番にしかできない
単一ファイルの修正過剰十分

この章のポイント

  • マルチエージェントは複数のAIが協調して一つのプロジェクトに取り組む仕組み
  • TeamCreateでチームを作成し、共有タスクリストとメッセージで協調する
  • Worktree分離で複数エージェントのファイル競合を構造的に防ぐ
  • 大規模変更・並行作業・マルチパースペクティブレビューに効果的