Claude Codeのエージェントチーム機能概要
公式ドキュメント: https://code.claude.com/docs/ja/agent-teams
エージェントチームの基本概念
エージェントチーム機能は、複数のClaude Codeインスタンスを協調動作させるための仕組みです。主要な構成要素は以下の通りです:
| コンポーネント | 役割 |
|---|---|
| チームリーダー | チームを作成し、メンバーを管理する主要セッション |
| チームメンバー | 個別のタスクを実行する独立したインスタンス |
| タスクリスト | メンバーが処理する作業項目の共有リスト |
| メッセージボックス | エージェント間の通信システム |
タスク分配モード
- リーダー割り当て: リーダーがタスクを指定
- 自主申告: メンバーがタスクを自主的に選択
システムプロンプトの変更点
タスクツールの拡張
新たに追加されたパラメータ:
{
"name": "メンバー名",
"team_name": "チーム名",
"mode": "権限モード"
}
新規ツールの追加
- TeamCreate: 新規チーム作成
- TeamDelete: チーム削除
- SendMessage: メンバー間通信
メッセージ通信の実装
SendMessageツールで使用可能なメッセージタイプ:
| タイプ | 用途 |
|---|---|
| message | 個別メンバーへの私信 |
| broadcast | 全メンバーへの通知 |
| shutdown_request | 終了要求 |
| plan_approval_response | 計画承認 |
実装例: TODO管理ツールの設計
チーム作成
{
"team_name": "todo-designer",
"description": "TODO管理ツールの設計チーム"
}
タスク作成
{
"subject": "UX設計",
"description": "TODO管理CLIのUX設計",
"activeForm": "UX分析"
}
メンバー起動
{
"description": "UX専門家",
"subagent_type": "investigator",
"name": "ux-specialist"
}
アーキテクチャの特徴
- リーダーとメンバーは独立したインスタンスで動作
- メッセージベースの非同期通信
- 既存機能を拡張する形で実装
制限事項
- メッセージ内容が簡略化される場合あり
- ベストプラクティスが確立されていない