Skip to content

エージェントチームの簡素化:TeamCreate/TeamDelete廃止とワンステップ起動

原文(日本語に翻訳)

エージェントチーム:TeamCreate および TeamDelete ツールを削除。CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を設定した状態で、すべてのセッションに1つの暗黙的なチームが自動的に作成されるようになりました。セットアップ不要で、Agentツールの name パラメータを使用して直接チームメイトをスポーンできます。Agentツールの team_name パラメータは引き続き受け付けられますが、無視されます。

原文(英語)

Agent teams: removed the TeamCreate and TeamDelete tools. With CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 set, every session now has one implicit team — spawn teammates directly with the Agent tool's name parameter, no setup step needed. The team_name parameter on the Agent tool is still accepted but ignored.

概要

Claude Code v2.1.181では、実験的なエージェントチーム機能のAPIが大幅に簡素化されました。従来は TeamCreate ツールでチームを明示的に作成してからエージェントを追加するという2段階の手順が必要でしたが、今後は CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 環境変数を設定するだけで、セッション開始時にチームが自動的に存在します。Agentツールの name パラメータで直接チームメイトを起動できるようになり、複数エージェントを使った協調作業がよりシンプルに実現できます。

基本的な使い方

環境変数の設定

エージェントチーム機能を有効にするには、以下の環境変数を設定します。

bash
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

または、コマンド実行時にインラインで指定することもできます。

bash
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude

エージェントの起動(新しい方法)

環境変数を設定した状態でAgentツールを呼び出す際、name パラメータを指定するだけで、そのエージェントが自動的に現在のセッションのチームに参加します。チームのセットアップは不要です。

# セットアップ不要 — nameパラメータを指定するだけ
Agent(
  name: "frontend-specialist",
  prompt: "Reactコンポーネントのスタイリングを担当してください"
)
Agent(
  name: "test-runner",
  prompt: "実装が完了した機能のテストを作成・実行してください"
)

複数のエージェントを並行して起動することも可能です。

# 2つのエージェントを同時にスポーン
Agent(name: "backend-dev", prompt: "APIエンドポイントを実装してください")
Agent(name: "frontend-dev", prompt: "UIコンポーネントを実装してください")

実践例

コードレビューと修正の並行処理

複数のエージェントでコードレビューと修正を同時並行で行う例です。

# メインエージェントが各専門エージェントに作業を委譲する
Agent(
  name: "security-reviewer",
  prompt: "src/auth/ ディレクトリのセキュリティ問題を洗い出してください"
)

Agent(
  name: "performance-reviewer",
  prompt: "src/api/ ディレクトリのパフォーマンスボトルネックを特定してください"
)

Agent(
  name: "doc-writer",
  prompt: "src/utils/ の関数に対してJSDocコメントを追加してください"
)

各エージェントは独立して動作し、作業が完了したら結果を返します。メインエージェントはすべての結果を集約して最終的なレポートを作成できます。

フロントエンド・バックエンド分業開発

新機能を実装する際にフロントエンドとバックエンドを同時並行で開発する例です。

# バックエンドAPIの実装
Agent(
  name: "backend",
  prompt: """
  ユーザープロフィール更新APIを実装してください:
  - PUT /api/v1/users/:id エンドポイント
  - バリデーション付き
  - OpenAPIドキュメントも更新してください
  """
)

# フロントエンドUIの実装(APIの完成を待たずに進行)
Agent(
  name: "frontend",
  prompt: """
  ユーザープロフィール編集フォームを実装してください:
  - React + TypeScript
  - モック用の一時的なAPIクライアントを使用してください
  - バックエンドAPIの仕様: PUT /api/v1/users/:id
  """
)

テスト駆動開発での活用

テスト作成とコード実装を並行して行う例です。

# テスト仕様を担当するエージェント
Agent(
  name: "test-architect",
  prompt: """
  決済処理モジュール(src/payment/)に対して:
  1. ユニットテストのスケルトンを作成してください
  2. エッジケースのリストアップ
  3. E2Eテストシナリオを定義してください
  """
)

# 実装を担当するエージェント
Agent(
  name: "implementer",
  prompt: """
  src/payment/ の決済処理モジュールを実装してください。
  test-architectエージェントが作成したテストをパスすることを目標に実装してください。
  """
)

大規模リファクタリングの分割処理

大きなコードベースを複数のエージェントで分割してリファクタリングする例です。

# モジュールごとに専門エージェントを割り当て
Agent(
  name: "models-refactor",
  prompt: "src/models/ 以下のファイルをTypeScriptに移行してください"
)

Agent(
  name: "controllers-refactor",
  prompt: "src/controllers/ 以下のファイルをTypeScriptに移行してください"
)

Agent(
  name: "services-refactor",
  prompt: "src/services/ 以下のファイルをTypeScriptに移行してください"
)

注意点

team_name パラメータは無視される

以前のAPIでは team_name パラメータを使ってエージェントを特定のチームに追加する仕組みがありましたが、この変更以降、team_name パラメータは受け付けられるものの動作に影響しません。既存のコードがこのパラメータを使用していても動作エラーは発生しませんが、チームの割り当てに効果はなくなっています。

# 旧来のコード — team_nameは無視されるが、エラーにはならない
Agent(
  name: "my-agent",
  team_name: "my-team",  # 受け付けられるが無視される
  prompt: "タスクを実行してください"
)

旧APIからの移行

以前のエージェントチームAPIを使用していた場合は、以下の変更が必要です。

変更前(旧API):

# 1. まずチームを作成
TeamCreate(name: "my-team")

# 2. チームを指定してエージェントを追加
Agent(
  name: "worker",
  team_name: "my-team",
  prompt: "..."
)

# 3. 作業完了後にチームを削除
TeamDelete(name: "my-team")

変更後(新API):

# セットアップ・クリーンアップ不要
# nameパラメータだけで即座にエージェントを起動
Agent(
  name: "worker",
  prompt: "..."
)

TeamCreate および TeamDelete ツール自体が削除されているため、これらを呼び出すとエラーが発生します。既存のワークフローからこれらのツール呼び出しを削除してください。

まだ実験的機能である点に注意

エージェントチームは引き続き実験的機能です。本番環境での使用は慎重に検討してください。機能を使うには毎回 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 の設定が必要です。

bash
# 毎回手動で設定する場合
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# シェルの設定ファイルに追記して永続化する場合(~/.bashrc または ~/.zshrc)
echo 'export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1' >> ~/.zshrc

暗黙的チームはセッションスコープ

各セッションに1つの暗黙的なチームが作成されますが、このチームはセッションのライフサイクルに紐付いています。セッションをまたいでチームの状態を維持する機能はありません。

エージェント数の上限

同一セッション内でスポーンできるエージェントの数には上限があります(デフォルトで最大5階層まで)。大規模な並行処理を計画する場合はこの制限を考慮してください。

関連情報