
2026/02/06 2:49
**Claude コードセッションのチームを統括する**
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
(以下は日本語に翻訳したテキストです)
## Summary Claude Code は現在 **agent teams** をサポートしており、複数のモデルインスタンスが単一の *lead* の下で同時に実行され、タスクを割り当て、結果を統合します。 - lead はタスク説明を与えてチームを作成し、Claude が仲間(teammates)を生成して共通のタスクリストをローカルに `~/.claude/teams/{team-name}` に保存します(タスク状態は `~/.claude/tasks/{team-name}/` に格納)。 - 各 teammate は独自のコンテキストウィンドウで動作し、定義された状態(pending, in‑progress, completed)を持つタスクを要求または割り当てられ、他のタスクに依存することもあります。 - 仲間同士は lead を経由せず直接通信します。一方 sub‑agents は単一セッション内で動作し、結果のみを lead に報告します。 - 表示モードには **in‑process**(全ての teammate が同じターミナルに表示)と **split panes**(tmux/iTerm2 必須)があり、`teammateMode` または `--teammate-mode` で設定できます。 - 追加の調整オプションとして **plan approval** モードがあります。このモードでは teammate が変更を行う前に lead の承認が必要です。また **delegate** モードでは lead は調整のみ担当し、全てのコード実行は teammates に委任されます。 - チームは並列探索(研究、新しいモジュール開発、競合仮説のデバッグ、またはクロスレイヤー協調)に最適ですが、オーバーヘッドが増え、単一セッションや sub‑agents よりも多くのトークンを消費します。 - チーム機能を有効化するには環境変数 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を設定(または `settings.json` で)してください。 この機能により、Claude Code のユーザーや組織は並列処理と細かな調整を実現できますが、その代償としてトークン使用量が増加します。開発者や組織は効率性とリソース消費のバランスを取る際にこの機能を活用できます。
本文
エージェントチームとは
エージェントチームを使うと、複数の Claude Code インスタンスが協力して作業できるようになります。
1 つのセッションは「チームリーダー」となり、仕事を調整したりタスクを割り当てたり結果を統合したりします。
仲間たちはそれぞれ独立したコンテキストウィンドウで作業し、直接相互にコミュニケーションします。
サブエージェント(1 つのセッション内で動き、メインエージェントにしか報告しないもの)とは異なり、リーダーを介さずに仲間同士で直接やり取りできます。
このページの内容
- エージェントチームを使うべきケース(ベストユースケースとサブエージェントとの比較)
- チームの開始方法
- 仲間の制御(表示モード、タスク割り当て、委任)
- 並列作業のベストプラクティス
エージェントチームを使うべきタイミング
並行探索が実際に価値を生むときにエージェントチームは最も効果的です。主なユースケースは以下の通りです。
| Use case | Description |
|---|---|
| 調査・レビュー | それぞれの仲間が問題の異なる側面を同時に調べ、結果を共有し合意や議論を行う。 |
| 新モジュール/機能開発 | 各仲間が別々の部分を担当し、衝突せずに作業できる。 |
| 競合仮説でのデバッグ | 仲間たちが並列に異なる理論を検証し、より速く結論へ到達する。 |
| クロスレイヤー調整 | フロントエンド・バックエンド・テストといった層を跨ぐ変更をそれぞれ別の仲間が担当。 |
考慮点
- チームには調整オーバーヘッドが付き、単一セッションよりもトークン消費量が増える。
- 仲間が独立して動作できる場合に最適。タスクが順序依存したり多数の依存関係がある場合は、1 つのセッションやサブエージェントが望ましい。
サブエージェントとの比較
| Feature | Subagents | Agent teams |
|---|---|---|
| コンテキスト | 個別のコンテキストウィンドウ。結果は呼び出し元に戻る | 個別のコンテキストウィンドウ。完全に独立 |
| 通信 | メインエージェントへのみ報告 | 仲間同士が直接メッセージを送信 |
| 調整 | メインエージェントがすべて管理 | メイン + 共有タスクリスト、自己調整 |
| トークンコスト | 低い(結果は要約される) | 高い(仲間ごとに別インスタンス) |
サブエージェントは簡潔な作業を迅速に実行し報告するのに適しており、仲間同士で成果を共有・検証したい場合はエージェントチームが有効です。
エージェントチームを有効化
デフォルトでは無効になっています。以下のように設定してください。
{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
あるいはシェルで環境変数
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を設定します。
最初のエージェントチームを作る
有効化後、Claude に「エージェントチームを作ってください」と依頼し、タスクと構成を説明します。
例:
CLI ツールで開発者がコードベース全体の TODO コメントを追跡できるようにしたいです。UX を担当する仲間、技術アーキテクチャを担当する仲間、デビルズ・アドボケイト役を担う仲間の 3 人でチームを作ってください。
Claude は各視点用に仲間を生成し、タスクリストを共有し、結果を統合して完了時にクリーンアップを試みます。
リーダーの端末にはすべての仲間と現在のタスクが一覧表示されます。Shift + Up/Down で仲間を選択し直接メッセージを送ることができます。
チームの制御
自然言語でリーダーに指示すると、リーダーは調整・タスク割り当て・委任を自動的に行います。
表示モード
| Mode | Description |
|---|---|
| In‑process | すべての仲間がメイン端末内で実行されます。どこでも使用可能です。Shift + Up/Down で仲間にメッセージを送れます。 |
| Split panes | 各仲間が個別ペイン( または iTerm2 必須)で表示されます。 |
デフォルトは
"auto":tmux セッション内なら split、そうでなければ in‑process。上書きするには:
{ "teammateMode": "in-process" }
または
--teammate-mode in-process を渡します。
仲間とモデルの指定
Claude はタスクに応じて仲間数を自動決定しますが、明示的に指定することも可能です。
例:
4 人で並行リファクタリングチームを作ってください。各仲間には Sonnet を使用してください。
計画承認の必須化
危険なタスクでは実装前に計画を承認させる設定が可能です。仲間は読み取り専用の「計画モード」で待機し、リーダーが承認するまで実行しません。
- 仲間が計画承認要求を送信
- リーダーがレビューして承認またはフィードバック付きで拒否
- 承認されたら実装開始
プロンプトに「テストカバレッジを含む計画のみ承認」などの基準を明示してください。
委任モード
リーダーがタスク自体を実行しないようにするオプションです。リーダーは仲間の生成・メッセージ送信・停止、タスク管理だけを行います。チーム開始後に Shift + Tab を押して委任モードへ切り替えます。
仲間と直接やり取り
各仲間は独立した Claude Code セッションです。
- In‑process:Shift + Up/Down で選択しメッセージを入力。Enter で結果表示、Escape で中断、Ctrl + T でタスクリスト切替。
- Split panes:ペインにカーソルを合わせて直接操作。
タスクの割り当てと取得
共有タスクリストが作業を調整します。
- タスクは pending、in progress、completed の 3 状態があります。
- 依存関係により、解決されるまで他のタスクを取得できません。
- リーダーが明示的に割り当てても、仲間が自己主張して次の未ブロックタスクを取得できます。
ファイルロックにより複数仲間が同じタスクを競合することは防止されます。
仲間の停止
「停止」を依頼すると、仲間は承認後に安全に終了します。拒否の場合は理由を返します。
チームのクリーンアップ
すべてのタスクが完了したらリーダーにクリーンアップを指示してください。共有リソースを削除しますが、まだ実行中の仲間が残っていると失敗します。まずは全員を停止させましょう。
エージェントチームの仕組み(アーキテクチャ)
| コンポーネント | 役割 |
|---|---|
| Team lead | メイン Claude Code セッションでチームを作成・調整。 |
| Teammates | 個別インスタンスがタスクを実行。 |
| Task list | ローカルに保存()。 |
| Mailbox | エージェント間のメッセージングシステム。 |
仲間は同じプロジェクトコンテキスト(例:
CLAUDE.md、MCP サーバー、スキル)をロードしますが、リーダーの会話履歴は継承しません。
トークン使用量
各仲間に独自のコンテキストウィンドウがあるため、エージェントチームはより多くのトークンを消費します。調査や機能開発では追加コストも正当化されますが、単純作業の場合は単一セッションが経済的です。
ベストプラクティス
- 十分なコンテキストを与える:仲間生成時にタスク固有の詳細を含める。
例:「
の認証モジュールをセキュリティ脆弱性でレビューしてください」src/auth/ - タスクサイズを適切に設定:小さすぎるとオーバーヘッド大きく、逆に大きすぎるとチェックインがない。明確な成果物を目指す。
- 仲間の完了待ち:進行中の作業はリーダー自身が行わず、全員が終わるまで待つ。
- 研究/レビューで始める:コードを書かずに境界が明確。エージェントチームへの慣れに最適。
- ファイル競合を避ける:各仲間が独立したファイルセットを担当させる。
- 進捗監視と誘導:定期的にチェックし、方向性や統合結果をまとめる。
トラブルシューティング
| Issue | Fix |
|---|---|
| 仲間が表示されない | In‑process なら Shift + Down でサイクル。タスクの複雑さを確認し、 または iTerm2 がインストール済みか確認(split panes 要求時)。 |
| 権限プロンプトが多い | 設定で共通操作を事前承認しておく。 |
| 仲間がエラーで停止 | Shift + Up/Down で出力を確認し、追加指示や仲間置き換えを行う。 |
| リーダーが早期終了 | 「全タスク完了まで待機」をリーダーに伝える。 |
| Orphaned tmux sessions | → |
制限事項
- in‑process 仲間でのセッション再開は不可。
- タスク状態が遅延することがあるため、手動で促す必要あり。
- シャットダウン時に仲間が現在のリクエストを完了するまで時間がかかる場合があります。
- 1 セッションにつき 1 チームのみ。新規チーム開始前に必ずクリーンアップしてください。
- ネストしたチームやリーダー昇格はサポート外。
- 仲間ごとの権限設定は生成時に決定し、後から変更できない。
- split panes は
または iTerm2 が必要。VS Code、Windows Terminal、Ghostty では非対応。tmux
次のステップ
並列作業の他の手法を探ってみましょう:
- サブエージェント:1 セッション内で動くヘルパーエージェント。仲間間調整が不要な場合に最適。
- 手動並行セッション:Git のワークツリー機能を使い、複数 Claude Code セッションを起動。
サブエージェントとエージェントチームの比較を、横断的にまとめてみると選択がしやすくなります。