Claude Code を使っていて、こんなことを思ったことはありませんか?
- コードレビューを「セキュリティ」「パフォーマンス」「テスト」の観点で同時にやりたい
- バグの原因候補が 3 つあるから、全部並列で調べたい
- フロントエンドとバックエンドの実装を同時に進めたい
サブエージェントでもある程度の並列作業はできます。しかしサブエージェントは、メインの会話に結果を返すだけで、サブエージェント同士が議論したり、互いの発見を共有したりすることはできません。
エージェントチームは、その制限を超える機能です。複数の Claude Code インスタンスが、共有タスクリストとメッセージングシステムを通じて、互いに直接コミュニケーションしながら並列で作業できます。
1 つのセッションが「リーダー」としてチーム全体を管理し、他のインスタンスが「チームメイト」として独立したコンテキストウィンドウで作業する。チームメイト同士は互いにメッセージを送り合い、発見を共有し、意見を戦わせることもできる。言わば、Claude Code で開発チームを丸ごとシミュレートできるわけです。
注意: エージェントチームは実験的な機能で、デフォルトでは無効です。使用するには環境変数
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSを1に設定する必要があります。
サブエージェントとどう違う?
エージェントチームとサブエージェントは、どちらも「作業を並列化する」仕組みですが、コミュニケーションの方向が根本的に異なります。
サブエージェント:一方通行
- メインエージェントがタスクを渡し、サブエージェントが結果を返す
- サブエージェント同士は互いの存在を知らない
- 結果はメインの会話に要約されて返ってくる
エージェントチーム:双方向
- チームメイトが互いに直接メッセージを送れる
- 共有タスクリストで自分から次の仕事を取りに行ける
- リーダーを介さず、チームメイト同士で議論できる
| 比較ポイント | サブエージェント | エージェントチーム |
|---|---|---|
| コミュニケーション | メインエージェントにのみ報告 | チームメイト同士で直接やりとり |
| タスク管理 | メインエージェントが全管理 | 共有タスクリストで自己管理 |
| コンテキスト | 結果がメインに要約される | 各自が完全に独立 |
| トークンコスト | 低い | 高い(各チームメイトが独立したインスタンス) |
| 向いている場面 | 結果だけ返せばいい作業 | 議論・反証・協力が必要な作業 |
判断基準はシンプルです: ワーカー同士が会話する必要があるなら、エージェントチーム。結果を受け取るだけならサブエージェント。
エージェントチームを有効にする
まず、実験的機能を有効にする必要があります。settings.json に以下を追加してください。
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
環境変数として直接設定しても OK です。
チームを作って動かしてみよう
有効化したら、Claude に自然言語でチーム作成を指示するだけです。
基本的な始め方
TODO コメントを追跡する CLI ツールを設計したい。
エージェントチームを作って、3つの視点から検討して:
- UX 担当
- 技術アーキテクチャ担当
- 反対意見担当(デビルズアドボケイト)
Claude はこの指示をもとに:
- 共有タスクリストを作成する
- 各視点のチームメイトを生成する
- それぞれに独立して探索させる
- 発見を統合する
- 完了後にチームをクリーンアップする
チームメイトの数やモデルを明示的に指定することもできます。
4人のチームメイトでこれらのモジュールを並列リファクタリングして。
各チームメイトは Sonnet を使って。
チームメイトと直接会話する
各チームメイトは完全に独立した Claude Code セッションです。リーダー経由だけでなく、個別のチームメイトに直接メッセージを送ることもできます。
- インプロセスモード:
Shift+Downでチームメイトを切り替え、メッセージを入力