はじめに
Claude Code のマルチエージェント機能に 戦国時代の階級制度 を導入したら、AIが「殿、偵察完了でござる」とか言い始めて、開発体験が完全に時代劇になりました。
ふざけてるように見えて、ちゃんと動きます。 むしろ指揮系統が明確になって生産性が上がりました(たぶん)。
きっかけ:「誰かやってた気がする」
技術記事を徘徊していたら、Claude Codeのエージェント機能にロールプレイ的な役割を与えて運用している記事を見かけました。
「これ面白いな…… いつか自分もやってみたい」
そう思った私は、Claude君本人に相談しました。
私:「他の人がClaude Codeのエージェントに役職つけて運用してたんだけど、うちでもやりたい。なんかいい感じのやつ考えて」
Claude:「承知しました。プロジェクトの規模と構造を考えると、四層のピラミッド型が適切かと——」
私:「待って。先方は時代劇でやってた」
Claude:「…………承知つかまつりました」
こうして、 大名チームシステム を〇パクリしました。
大名チームシステムとは
Claude Code にはサブエージェントを起動して並列に作業させる機能があります。普通に使うと「Agent A がファイルを編集して、Agent B がテストを書いて……」みたいな味気ない運用になるわけですが、ここに 戦国時代のロールプレイ を被せたのがこのシステムです。
登場人物(四層ピラミッド)
-
マスター(天上人)= 私(人間)
- 天の声を下す(「Phase 1 を始めよ」)
-
殿様(PM)= メインClaude セッション
- マスターの御意を解釈し、自律的に采配
-
家老(リーダー)= Explore / make-plan エージェント
- 設計・タスク分解・コードレビュー
-
足軽A / B / C(コーダー)= Agent(worktree) サブエージェント
- それぞれが独立したworktreeで黙々とコーディング
| 役職 | 正体 | できること | できないこと |
|---|---|---|---|
| マスター(天上人) | 人間(私) | 大方針の決定、最終承認 | — |
| 殿様(PM) | メインClaude | 軍議の主催、家老への指示、戦果報告 | 勝手にコミット・プッシュ |
| 家老(リーダー) | Explore/Plan エージェント | 設計、タスク分解、コードレビュー | 殿様の許可なき設計変更 |
| 足軽(コーダー) | worktreeエージェント | 個別タスクの実装 | 設計判断、他の足軽の領地侵犯 |
要するに、Claude Code のエージェント階層をそのまま封建制度にマッピングしただけです。
三つの儀式(スラッシュコマンド)
開発フローを3つの「儀式」として定義し、それぞれスラッシュコマンドにしました。
第一の儀:/軍議(設計フェーズ)
私:「Phase 3、認証機能を実装せよ」
殿様:「御意。家老、偵察に出よ。仕様書を精査し陣立て書をまとめよ」
家老:(仕様書を読み込んで戻ってくる)
家老:「殿、偵察完了。Entity部隊、Service部隊、Controller部隊の三方面作戦を進言いたします」
殿様:(陣立て書を精査)
殿様:「マスター、Phase 3 の軍議が整いました」
実際の出力がこんな感じになります:
【上奏】マスター、Phase 3「認証」の軍議が整いました
■ 偵察結果(仕様の要点)
- JWT + Spring Security 6 による認証基盤
- Redis によるトークン無効化管理
- ログイン履歴の記録
■ 陣立て(タスク分解)
部隊 担当範囲 ファイル数 依存 Entity/Repo users, login_histories 6 なし(先行) Service AuthService, TokenService 4 Entity完了後 Controller/DTO 認証API 5本 8 Service完了後 ■ 殿様所見
- Redis の設定を先行して整備すべきと考えます
マスター、御裁可をお待ちしております。
「よきにはからえ」の一言で出陣いたします。
「よきにはからえ」で出陣するというフローが気に入っています。
第二の儀:/出陣(実装フェーズ)
マスター(私)が「よきにはからえ」と言うと、殿様が家老に出陣を命じ、家老が足軽をworktreeで並列起動します。
殿様:「家老、出陣じゃ!足軽を起こせ!」
家老:「足軽A(Entity部隊)、足軽B(Service部隊)、出陣せよ!」
各足軽には 担当範囲 と 禁止事項 が明確に指示されます:
汝に命ずる。以下の任務を遂行せよ。
【任務】 認証エンティティの構築
【担当ファイル】
- UserEntity.java
- UserRepository.java
- V1.001__create_users.sql
【禁止事項】
- 担当外のファイルへの変更
- 設計判断(迷ったら家老に伺いを立てよ)
【完了時の報告】
時代劇口調で戦果報告を行うこと
そして足軽の戦果報告がこれ:
【戦果報告】Entity構築、任務完了でござる
■ 仕上げた陣地
- UserEntity.java — 兵の台帳を整備
- UserRepository.java — 台帳の検索口を設置
- V1.001__create_users.sql — 城の礎石を据えた
■ 手こずった箇所
@SQLRestrictionの呪文が効かず難儀したが、import の誤りと判明。今は万全■ 残務
- なし。いつでも次の戦に出られます
@SQLRestriction を「呪文」と呼ぶ足軽、嫌いじゃないです。
第三の儀:/検分(レビューフェーズ)
足軽の成果物を家老がレビューし、殿様が最終確認します。
- 家老チェック:コンパイルエラーなし、コーディング規約準拠、テスト存在&パス、命名が仕様書と一致
- 殿様チェック:設計からの逸脱なし(越権なし)、セキュリティ脆弱性なし、足軽間の成果物に矛盾なし
問題なければ殿様がマスター(私)に上奏します:
【上奏】マスター、Phase 3「認証」の検分が完了いたしました
■ 総評
見事なり、申し分なき出来栄え■ 各部隊の検分結果
【Entity部隊】✅ 合格
- 家老検分: 規約準拠、テスト完備
- 殿様確認: 仕様書どおり、異状なし
■ 殿様所見
- Redis の兵糧(メモリ)が不足する恐れあり。増援(設定変更)をご検討いただきたく
コミットの御裁可をお願いいたします。
Redis のメモリを「兵糧」と呼ぶセンス、私が教えたわけじゃないのに勝手にやり始めました。
実装方法(技術的な話)
1. カスタムスラッシュコマンドを作る
Claude Code では .claude/commands/ ディレクトリにマークダウンファイルを置くと、スラッシュコマンドとして使えます。
.claude/commands/
├── 軍議.md ← /軍議 で呼び出せる
├── 出陣.md ← /出陣 で呼び出せる
└── 検分.md ← /検分 で呼び出せる
例えば 軍議.md の冒頭はこんな感じ:
# 軍議(設計・タスク分解)
マスターの指示を受け、殿様として家老に偵察・設計を命じ、陣立て書をまとめてマスターに上奏せよ。
## 前提
- マスター(ユーザー)から対象フェーズの指示を受けていること
## 手順
1. **家老に偵察を命ずる**: 仕様書を精査させ、実装に必要な全要素を洗い出させる
2. **陣立て書の作成**: タスクを部隊単位で分解
3. **依存関係の整理**: 並列可能な範囲を明示
4. **マスターへ上奏**: 陣立て書を提示し、御裁可を待つ
2. CLAUDE.md(プロジェクト規約)にチーム運用規約を書く
.claudecode.md(Claude Code が最優先で読むプロジェクト規約ファイル)に、チーム運用の全体像を定義します。ここがプロジェクトにおける 「憲法」 にあたる部分です。
主な記載内容:
- 四層の役割定義:マスター・殿様・家老・足軽の権限設定
- 指揮系統:誰が誰に指示を出し、誰が報告を受けるかのフロー
- 殿様の自律判断基準:何を独断で進め、何をマスターに相談するか
- 報告フォーマット:時代劇口調のテンプレート定義
- 品質ゲート:検分(レビュー)時のチェックリスト
- worktree運用ルール:並列作業時のディレクトリ管理規則
3. 自律判断基準が地味に重要
ふざけた見た目の裏には、実は 「ちゃんとした権限設計」 が存在します。ここを定義しないと、AIが何でも聞いてくるか、逆に勝手にコミットまで進めてしまうかの両極端になりがちです。
| 判断の主体 | 内容 |
|---|---|
| 殿様が独断で決めてよいこと | タスク分解の承認、足軽の起動順序・並列度、軽微なコーディング判断など |
| マスターにお伺いを立てるべきこと | フェーズ着手の開始承認、仕様の矛盾判断、設計方針の重大な分岐、最終承認(コミット)など |
よかった点
-
指揮系統が明確で混乱しない
「誰が何を判断するか」が明確なので、エージェント間の責任範囲が曖昧になりません。 -
報告が読みやすい(意外と)
フォーマットが統一されているので、進捗や問題点が一目でわかります。 -
楽しい
「殿、偵察完了でござる」という報告は、長時間の作業で疲弊した精神に効きます。 -
並列処理の管理が自然になる
worktreeでの作業と統合の流れが、エージェントの並列実行モデルにきれいにハマります。
注意点(御触書)
-
時代劇口調のトークンコスト
当然ですが、口調に凝る分だけトークンを消費します。コストを抑えたい場合は簡素化が必要です。 -
プロンプトの設計は真面目にやる
文体はふざけていても、中身は ガチの要件定義 です。ルールが曖昧だと、殿様が迷走したり、足軽が越権行為に走ったりします。
まとめ
Claude Codeのエージェント機能を使っている方は、ぜひ自分なりの「チーム制度」を試してみてください。海賊でも宇宙艦隊でも、役割と権限を明確に定義することさえ守れば、あとは口調がどうであれしっかり動いてくれます。
では、これにて上奏を終わりとさせていただきます。
「よきにはからえ」の一言を、あなたのClaude君にも。
この記事はClaude(殿様)と相談しながら書きました。