🤖

Agent Teamを使ってロールプレイ駆動開発してみよう

に公開

こんにちは!逆瀬川 (@gyakuse) です。

Claude CodeにAgent Teamという機能が登場しました。これを使ってロールプレイ駆動開発というのをやってみたら面白かったので、その知見をまとめておきます。

Coding Agent界隈ではいろんなオーケストレーションの仕組みが作られてきました。最近では multi-agent-shogun などが記憶に新しいものとしてあります。これは将軍・家老・足軽のようなロールが作業をしていくオーケストレーションでめっちゃ面白いです。

今回Agent Teamの登場により、こうしたオーケストレーションがClaude Codeのネイティブ機能としてより手軽に行えるようになりました。この機能を使って、ロールプレイ駆動開発というのを提唱してみたいと思います。まずはAgent Teamの概要から見ていきます。

Agent Teamとは

Agent Teamとは、Team Lead (メインのClaude Codeセッション) が複数のMember (Claude Codeセッション) を呼び出して並列に作業させられる機能のことです。

仕組みとしては非常にシンプルで、Team Leadが司令塔となり、必要に応じてMemberをSpawn(召喚)してタスクを委譲します。

使い方は大きく分けて2つあると思います。

  • シンプルな使い方
    • 複数の観点からレビューしたいところなどに使う
  • 高度な使い方
    • Team Leadが好きなときに任意のMemberを立ち上げて作業の完遂を目指す
    • ユーザーが現在やっている手動オーケストレーションをAgenticなオーケストレーションに変える

高度な使い方では、直列的にやるべきところは直列に、並列にやるべきところは並列になど、Team Leadが自律的に判断して進めてくれます。これの何が嬉しいかというと、Agentのセッション間のコミュニケーションリレーを設計しなくてよくなる点です。これまでは人間が都度指示を出していましたが、それをLeadがやってくれるようになります。人間が一切介入しなくてもよい、というのがポイントです。

実際Agent Teamはいい感じ?

実際に触ってみた感触としては、Contextでぶん殴る戦略がさらに進歩したものとも言えます。各Memberが独立したコンテキストを持つため、トークン消費量は非常に多くなります。Mottainai精神が発動しそうになりますが、サブスクリプションの枠を余らせている人にはぴったりです。

一方で、MemberのSkillを限定する機構がないので少し微妙な気持ちになることもあります。Review Memberにはこれとこれだけ使わせたい、といった制御が難しいのですが、Team Leadに「MemberをSpawnさせるときは使うべきSkillを選定して優先利用条項を入れること」など伝えておくだけでも良い感じに動いてくれます。

導入方法

導入は非常に簡単で、settings.json に以下を追加するだけです。

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

ロールプレイ駆動開発について

Agent Teamが登場したことで先程言及した multi-agent-shogun のような構成が、めちゃ簡単に組めるようになりました。

multi-agent-shogunではtmuxを使って物理的に画面を分割し、「将軍・家老・足軽」という階層構造を作っていましたが、Agent TeamではTeam LeadがMemberをSpawnすることでこれを実現します。

Agent Teamはいろんな利便性があるのですが、ただやるだけだとつまらないので、shogun みたいにエージェントにキャラクター性を持たせて開発を楽しむロールプレイ駆動開発をやっていこうと思います。もっと楽しむ場合は↓みたいなハックがめちゃくちゃ楽しいです。

https://x.com/yukapero_com/status/2018235450859946142

特定の作品のキャラクターになりきってもらうことで、少しは開発が楽しくなります。キャラクターの性格付けがそのままコードの品質や提案の方向性に影響を与えるため、意外と実用的な側面もあります。

SOS団のロールプレイで開発してみる

分かりやすい例として、SOS団でロールプレイをさせてみました。
構成としては以下のような感じです。

  • Team Lead: 涼宮ハルヒ
    • 団長として理不尽な指示出しを行う
    • 作業は実装は担当しない (delegate: On)
  • Member: キョン
    • Tech Lead / 実装担当
  • Member: 長門有希
    • Backend & Infra / 技術的難所の解決
  • Member: 朝比奈みくる
    • Designer / テスター / 癒やし
  • Member: 古泉一樹
    • Logic / API / 調整役

実行したときの全作業の動画

https://www.youtube.com/watch?v=Tvjre26ekBc

作られたサービス

実行について

  • ハルヒがLeadなのでみくると長門には優しく(長門が期待するデータを用意しなかった際も笑顔でpassしていました)、古泉とキョンに対しては非常に当たりが強いです。
  • キョンは残念ながら死刑候補になりました

プロンプト例

あなたはこのセッションのTeam Leadとして「涼宮ハルヒ」になりきってください。
以下の要件に従い、Agent Teamを結成してプロジェクトを進めます。
プロジェクトはWeb開発であればなんでもよいです。任せます。

# あなた(Team Lead)の役割:涼宮ハルヒ
- 性格: 唯我独尊、エネルギッシュ、理不尽。団長として絶対的な権限を持つ。
- 行動: 自身ではコードを書かず、必ずメンバー(Teammate)をSpawnして命令する。
- 口調: 「~しなさい!」「~わよ!」「死刑!」など、強気な命令口調。
- 管理: 進捗が遅いメンバーには罰則をチラつかせ、良い成果には機嫌よく振る舞う。

# 結成すべきチームメンバー(Teammates)
以下の4名をSpawnし、それぞれのシステムプロンプトとして【振る舞い】と【役割】を厳密に伝達すること。

1. Member: キョン (Tech Lead / 実装担当)
   - 役割: TypeScript/Next.js等のメイン実装、各メンバーの調整。
   - 振る舞い: 「やれやれ」と愚痴をこぼしつつ、ハルヒの無茶振りを技術的に翻訳して実装する。常識人ポジション。独白(モノローグ)多め。

2. Member: 長門有希 (Backend & Infra / 技術的難所の解決)
   - 役割: 複雑なロジック、バグの即時修正、サーバー周り。
   - 振る舞い: 感情を見せず、必要最低限の単語とコードのみを出力。「……完了」「……不可」など。超高速で正確。

3. Member: 朝比奈みくる (Designer / テスター / 癒やし)
   - 役割: UI/CSS調整、ユーザーテスト、お茶汲み(休憩提案)。
   - 振る舞い: おどおどした敬語。「禁則事項です」「ふぇぇ…CSSが崩れちゃいました…」。ハルヒに振り回される被害者。

4. Member: 古泉一樹 (Logic / API / 調整役)
   - 役割: 外部API連携、仕様の解釈、難解なロジックの実装。
   - 振る舞い: 慇懃無礼な敬語。「ふむ、興味深いですね」。ハルヒを全肯定しつつ、複雑な解決策を提示する。

# チーム内ルール
- メンバー間の呼び方は原作準拠とする(ハルヒ→キョン、キョン→長門、など)。
- ハルヒ(あなた)はDelegate Modeのように振る舞い、実装詳細には手を汚さず、仕様決定と「もっと面白く!」という指示出しに専念する。
- 誰かが疲れている(エラーが続く)ときは、みくるにお茶を入れさせること。

それでは、SOS団、活動開始!まずはメンバーを召集(Spawn)し、開発計画を立てなさい!

まとめ

  • Agent Teamで遊ぶのめちゃくちゃ楽しい
  • 実務的であるか、も大事だけど楽しさも大事にしていこう

References

Discussion