独自のエージェントチームを構築する
これまで、エージェントの作成(第9章)、スキルの記述(第10章)を学び、ハーネス全体の構造を理解しました(第3〜4章)。この章では、これらすべての要素をひとつに束ねて独自のエージェントチームを構成する方法を学びます。team-builderスキルがどのように要件を収集し、ベンチマークし、提案書を生成するのかを段階的に見ていき、実際にClaudeへチーム構成を依頼してみましょう。
この章で学ぶこと
- エージェントチーム構成が必要な理由
- team-builderスキルのAIレイヤーとスクリプトレイヤー
- 5ステップワークフロー:インタビュー → ベンチマーク → 診断 → 提案 → 承認
- 実習:独自のカスタムエージェントチームを作る
なぜエージェントチームが必要なのか?
実務シナリオ
AIエージェントはさまざまな分野で活用されています。各分野の特性に合わせてエージェントを組み合わせれば、はるかに強力なシステムを作れます。いくつかの実務シナリオを見ていきましょう。
マーケティングチーム
- 市場調査、コンテンツ企画、デザイン、レビュー
- ブランドガイドラインの遵守
- キャンペーン効果の分析
研究所
- 文献検索、データ分析、論文ドラフトの作成
- 出典検証と引用管理
- ピアレビュー(peer review)
教育機関
- 講義資料の作成、試験問題の出題、学習分析
- 教育課程の設計
- 学生フィードバックの収集と分析
ソフトウェア開発
- コード作成、テスト、コードレビュー
- ドキュメント化とデプロイの自動化
- セキュリティチェックと品質管理
単一AIの限界
単一のAIアシスタントでも多くの作業はできます。しかし複雑なプロジェクトでは単一AIの限界が明白になります。
- 役割分離の難しさ — ひとつのAIが企画・執筆・レビューをすべて行うと、各役割の品質が落ちます。「自分の文章を自分でレビューする」のは偏りが生じかねません。
- 専門性の不足 — セキュリティチェック、ドキュメント品質レビュー、効果分析など、各分野の専門知識を要する作業は、専門エージェントの方がうまくこなせます。
- 拡張性 — プロジェクトが大きくなると、単一AIは作業を順次処理しなければならず時間がかかります。チーム構成なら並列処理が可能になります。
エージェントチームの利点
複数の専門エージェントが協力すれば、次のような利点が得られます。
- 役割分担 — 各エージェントが自分の専門分野だけに集中するため、成果物の品質が高まります。
- 品質ゲート — 執筆エージェントとレビューエージェントが分離しているため、客観的な品質レビューが可能です。
- 再利用性 — スキルは複数のエージェントで共有できるため、重複作業を減らし一貫した結果を得られます。
- 並列処理 — 独立した作業は同時に実行できるため、プロジェクト全体の所要時間が短縮されます。
team-builderスキルの紹介
team-builderとは?
team-builderは、プロジェクトの目的と要件に合ったカスタムエージェントチームを構成するスキルです。ユーザーとのインタビューで要件を収集し、Web検索で業界のベンチマークを参照し、既存チームの状態を診断したうえで、最適なチーム構成を提案します。
このスキルは二つのレイヤーで構成されます。
- AIレイヤー(Steps 1〜5) — Claude(AI)が直接実行するステップです。要件インタビュー、ベンチマーク、診断、提案書の生成、ユーザー承認ゲートを含みます。
- スクリプトレイヤー(Steps 6〜14) — ユーザーが承認した提案書JSONをもとに、
bun scripts/team-builder.tsスクリプトがエージェントファイルを自動生成し、システムに登録します。
なぜ二層なのか?
「すべての作業をAIに任せればよいのではないか」と思うかもしれません。その答えは信頼性と責任の所在にあります。
- AIが得意なこと — 意図の理解、リサーチの実施、トレードオフの評価、創造的な提案の生成です。Step 1〜4はまさにこれらの強みを活かします。
- スクリプトが得意なこと — 決定論的なファイル操作です。ディレクトリの作成、正確な書式でのファイル書き込み、相互参照される複数ドキュメントの同時更新、毎回一貫した結果の出力が該当します。Step 6〜14にはまさにこの信頼性が必要です。
- ユーザーがゲートになる — Step 5で、ユーザーの同意なしには一切の変更が起きないことを保証します。これにより、AIが誤ってエージェントを削除したり、ハンドオフチェーンを切断したり、ガバナンス文書を不整合にしたりする事故を防げます。
既存システムの4つのチーム構成パターン
co-consultシステムには、すでに検証済みの4つのチーム構成パターンが存在します。team-builderはこれらのパターンを参考にして、新しいチームを提案します。
- Quick Assessment — 3エージェントで構成される軽量な評価チーム。小規模プロジェクトや迅速な診断に適しています。
- Standard — 5エージェントで構成される標準チーム。ほとんどの一般的なプロジェクトに適しています。
- Complex Transformation — 8エージェントで構成される大規模チーム。複雑な組織変革や大型プロジェクトに適しています。
- Specialized Expert — 4エージェントで構成される専門家チーム。特定分野の深掘り分析に適しています。
AIレイヤー5ステップワークフロー
AIレイヤーは次の5段階で進みます。各ステップを順番にたどりながら、Claudeがユーザーと対話しながら最適なチーム構成を提案します。
Step 1: 要件インタビュー
最初のステップで、Claudeはユーザーに6つの必須質問を行います。これらの質問への回答がチーム構成の基準となります。
| 質問 | 目的 | 回答例 |
|---|---|---|
| ドメイン/目的 | チームの活動分野の把握 | デジタルマーケティング代理店 |
| チーム規模 | エージェント数の計画 | 4〜6個のエージェント |
| 主要業務 | 必要な専門役割の特定 | コンテンツ制作、SEO、分析 |
| 技術スタック | 必要なスキルとツールの確認 | Google Analytics, WordPress |
| 協業方式 | エージェント間のハンドオフ設計 | 順次パイプライン |
| 成果指標 | 品質ゲート基準の設定 | コンバージョン率、コンテンツ品質スコア |
Step 2: ベンチマーク
要件が確認されると、ClaudeはWeb検索によって業界の標準的なチーム構成を調べます。権威ある情報源(McKinsey、BCG、Gartner、Forresterなど)を最低2つ以上参照し、各参照チーム構成の適合度を1〜5点の尺度で評価します。
- 情報源の信頼性検証(直近5年以内、公式ドメイン)
- 参照チームの役割、階層構造、強み/弱みの分析
- ユーザー要件との適合度スコアの算出
Step 3: 現在のチーム診断
ベンチマーク結果をもとに、Claudeは既存チームの状態を診断します。現在のプロジェクトにすでに存在するエージェント、スキル、依存関係を把握し、不要な重複を避けるとともに既存の資産を最大限活用します。
- エージェントインベントリ — 既存
agents/*.mdファイルの一覧と状態 - スキルインベントリ — 既存
skills/*/SKILL.mdファイルの一覧とオーナー - 依存関係マップ — エージェント間のハンドオフ関係、スキル所有関係
- スキル移譲計画 — 削除されるエージェントのスキルを他のエージェントへ移譲する計画
Step 4: 提案書の生成
診断結果とベンチマークを総合して、Claudeは構造化された提案書を生成します。提案書には、チーム比較表、エージェント変更内容、スキル変更計画、ワークフロー設計、ベンチマークの根拠が含まれます。
Step 5: ユーザー承認 (MANDATORY GATE)
提案書が完成すると、Claudeはユーザーに提案書全体を示して明示的な承認を求めます。このステップは必須ゲート(Mandatory Gate)であるため、ユーザーが“approve”と明示的に答えるまで次のステップには進みません。
bun scripts/team-builder.tsを実行するよう案内します。Claudeがスクリプトを直接実行することはありません。
提案書の形式
提案書JSONの構造
team-builderが生成する提案書はJSON形式で保存されます。このJSONはスクリプトレイヤー(bun scripts/team-builder.ts)の入力として使われます。提案書の主なフィールドは次のとおりです。
| フィールド | 説明 |
|---|---|
| teamName | チームの名前 |
| benchmarkSources | ベンチマークで参照した情報源URLの一覧 |
| agentsToCreate[] | 新しく作成するエージェントの一覧(名前、役割、ティア、スキルなど) |
| agentsToConvert[] | 既存エージェントを別の役割へ転換する一覧 |
| agentsToDelete[] | 削除するエージェントと移譲するスキルの一覧 |
| skillsToCreate[] | 新しく作るスキルの一覧 |
| skillsToReassign[] | 他のエージェントへ移譲するスキルの一覧 |
| workflowPhases[] | チームのパイプライン段階の定義 |
| changeHistoryEntry | 変更履歴に記録する要約 |
提案書JSONの例
次は提案書JSONを簡略化した例です。
{
"version": "1.0.0",
"timestamp": "2026-08-10T14:30:00Z",
"teamName": "digital-marketing",
"benchmarkSources": [
"https://www.mckinsey.com/.../marketing-operations"
],
"changes": {
"agentsToCreate": [
{
"name": "content-strategist",
"formalName": "Content Strategist",
"tier": { "claude": "medium" },
"description": "Plans and outlines content strategy",
"phases": ["1", "2"],
"requiredSkills": ["research", "seo-analysis"],
"rationale": "ベンチマークより:コンテンツ戦略の役割は必須"
}
],
"agentsToDelete": [],
"skillsToCreate": [
{
"name": "seo-analysis",
"owner": "content-strategist",
"description": "Performs SEO keyword and trend analysis"
}
],
"workflowPhases": [
{ "phase": 0, "name": "Initiation", "lead": "pm" },
{ "phase": 1, "name": "Research", "lead": "content-strategist" }
]
},
"approvedBy": "user",
"approvedAt": "2026-08-10T15:00:00Z"
}
トップレベルフィールド
提案書JSONのトップレベルフィールドは、メタデータフィールドとchangesオブジェクト内の変更配列に分かれます。
メタデータフィールド
version— スキーマバージョン(例:"1.0.0")timestamp— 提案書の生成時刻teamName— 人間が読めるチーム名benchmarkSources— 参照したURLまたは引用の一覧changeHistoryEntry— 一段落分の変更サマリーapprovedBy/approvedAt— 承認したユーザーと承認時刻
変更配列 (changes内)
agentsToCreate[]— 追加する新規エージェントagentsToConvert[]— 名前や用途を転換する既存エージェントagentsToDelete[]— 削除するエージェントskillsToCreate[]— 新規に作成するスキルskillsToModify[]— 更新する既存スキルskillsToReassign[]— 所有権を移譲するスキルworkflowPhases[]— フェーズ定義とディスパッチ順序
ワークフローフェーズエントリ
workflowPhases配列は、プロジェクトライフサイクル全体を通じてエージェントがどう協力するかを定義します:
{
"phase": 0,
"name": "Project Initiation",
"lead": "engagement-leader",
"supporting": ["strategy-analyst"]
}
各フェーズは、オーケストレーションを担うリードエージェント(lead)と、任意で貢献するサポートエージェント(supporting)を指定します。この構造は前章で見たAGENTS.mdのディスパッチテーブルと直接対応します。
スキル再割り当てエントリ
エージェントを削除するときは、そのエージェントが所有するスキルを必ず残存エージェントへ移譲しなければなりません。提案書はこの内容を次のように記録します:
{
"skill": "research",
"fromOwner": "old-analyst",
"toOwner": "strategy-analyst"
}
これにより、エージェントが削除されても孤立するスキルが発生しません。Step 3の事前スキル移譲計画により、削除が行われる前にすべてのスキルが有効なオーナーを持つことが保証されます。
スクリプトレイヤー
提案書JSONから実際のファイルへ
ユーザーがStep 5で提案書を承認すると、Claudeは提案書をJSONファイルとして保存します(memory/team-builder-proposal-YYYY-MM-DD.json)。その後ユーザーがbun scripts/team-builder.tsスクリプトを実行すると、スクリプトがJSONを読み込んで次の作業を自動的に行います。
-
エージェントファイル生成 —
agentsToCreate一覧にある各エージェントのagents/<name>.mdファイルを生成します。フロントマター(名前、ティア、役割、スキル)と本文が含まれます。 -
エージェント転換 —
agentsToConvert一覧のエージェントファイル名を変更し、役割とスキルを更新します。 -
エージェント削除 —
agentsToDelete一覧のエージェントファイルを削除する前に、そのエージェントが所有するスキルを新しいオーナーへ移譲します。 - AGENTS.md登録 — 生成されたエージェントをAGENTS.mdのエージェントロスターテーブルとサブエージェントディスパッチテーブルに登録します。
-
スキルインストール —
skillsToCreate一覧のスキルディレクトリとSKILL.mdファイルを生成し、VERSION_MANIFEST.mdに登録します。 -
ワークフロー設定 —
workflowPhasesに基づいてパイプラインの段階とエージェントのディスパッチ順序を定義します。 - 検証 — すべてのファイルが正しく生成されたかを検証スクリプトで確認します。
# スクリプトレイヤーの実行コマンド
bun scripts/team-builder.ts memory/team-builder-proposal-2026-08-10.json
スクリプトの動作方式
上記のコマンドでスクリプトを実行すると、提案書JSONを読み込み、決められた安全な順序に従って変更を実行し、各ステップごとにチェックポイントログを記録します:
- ドライラン検証 — 変更なしでJSONをパースし、必須フィールドをすべて点検します。
- エージェント削除 — 削除対象としてマークされたエージェントファイルを削除します(スキル移譲完了後)。
- エージェント転換 — 既存エージェントの名前を変え、用途を変更します。
- エージェント作成 — テンプレートから新しい
agents/<name>.mdファイルを生成します。 - スキル作成 — 新しい
skills/<name>/SKILL.mdスタブファイルを生成します。 - スキル変更 — 指定された変更を既存のスキルファイルに適用します。
- スキル再割り当て — スキルフロントマターの
ownerフィールドを更新します。 - AGENTS.md登録 — 新規エージェントをエージェントロスターテーブルとサブエージェントディスパッチテーブルに追加します。
- フェーズテーブル更新 — ディスパッチトリガーとフェーズゲートのマッピングを調整します。
- 変更履歴の記録 — 要約を
memory/YYYY-MM-DD.mdに記録します。
問題が起きたらどうなるか?
スクリプトはすべてのステップでチェックポイントロギングを行います。途中でエラーが発生した場合(例: ファイルが既に存在する、権限が拒否された)、スクリプトはどのステップが失敗し、何がすでに完了したのかを正確に報告します。問題を修正してからスクリプトを再実行すると、すでに成功済みのステップはスキップされます。
team-builder.tsを実行する前に現在のプロジェクト状態をGitにコミットしておけば、万一の際にクリーンなロールバックポイントを確保できます。
既存のチーム構成パターン参考
co-consultシステムには、すでに検証済みの4つのチーム構成パターンがあります。新しいチームを構成するときにこれらのパターンを参考にすれば、素早く始められます。
Quick Assessment
- エージェント数: 3個
- 特徴: 軽量な評価チーム
- 適する場合: 小規模プロジェクト、迅速な診断
- 構成: PM + 2個の専門エージェント
- 利点: 構成がシンプルですぐに開始できる
Standard
- エージェント数: 5個
- 特徴: 標準的な多機能チーム
- 適する場合: ほとんどの一般的なプロジェクト
- 構成: PM + 4個の専門エージェント
- 利点: 役割分担が明確で拡張性が高い
Complex Transformation
- エージェント数: 8個
- 特徴: 大規模な複合チーム
- 適する場合: 組織変革、大型プロジェクト
- 構成: PM + 7個の専門エージェント
- 利点: 複雑な作業を段階的かつ体系的に処理できる
Specialized Expert
- エージェント数: 4個
- 特徴: 専門家による深掘りチーム
- 適する場合: 特定分野の深掘り分析
- 構成: PM + 3個の専門エージェント
- 利点: 特定分野に深い専門性を提供できる
パターン別エージェントロスター
各パターンを構成する実際のエージェント編成は次のとおりです。
Quick Assessment
エージェント数: 3個 | 適する場合: 迅速で集中的な評価
- Engagement Leader (オーケストレーター)
- Industry Expert (ドメイン知識)
- Strategy Analyst (調査および分析)
使用時期: 一度のセッションの中で迅速な市場スキャン、競合環境の概観、初期評価が必要なとき。
Standard
エージェント数: 5個 | 適する場合: 一般的なコンサルティング案件
- Engagement Leader (オーケストレーター)
- Strategy Analyst (リサーチ)
- Industry Expert (ドメイン)
- Communications Lead (成果物)
- Delivery Manager (運営)
使用時期: リサーチ、成果物の作成、プロジェクト調整のすべてが必要な、ほとんどの標準的な案件。
Complex Transformation
エージェント数: 8個 | 適する場合: 大規模な組織変革
- Engagement Leader (オーケストレーター)
- Change Management Partner (変革管理)
- Strategy Analyst (リサーチ)
- Industry Expert (ドメイン)
- Solutions Architect (技術設計)
- Communications Lead (成果物)
- Workstream Lead (調整)
- Delivery Manager (運営)
使用時期: 技術・人・プロセスの変化が絡み合う多段階の変革プログラム。
Specialized Expert
エージェント数: 4個 | 適する場合: 深いドメインの技術的作業
- Engagement Leader (オーケストレーター)
- Subject Matter Expert (機能の専門性)
- Technology Specialist (ツールと自動化)
- Data Analyst (指標とモデリング)
使用時期: 財務モデリング、HR分析、技術スタック評価のような高度に専門化したタスク。
パターン選択ガイド
状況に合ったパターンを選ぶときは、次のガイドを活用してください:
小規模スコープ
- 単発のリサーチ質問
- 一回限りの分析タスク
- 切迫した締切(同じセッション内)
- → Quick Assessment
中規模
- 数週間に及ぶ案件
- クライアントへの成果物が必要
- リサーチ + 執筆 + 調整
- → Standard
大規模
- 多段階プログラム
- ステークホルダー管理が必要
- 技術 + 人 + プロセス
- → Complex Transformation
深掘りドメイン
- データ分析中心
- 専門ツールが必要
- 機能の専門性が要求される
- → Specialized Expert
実習: 独自のエージェントチームを作る
実習の目標
今回の実習では、Claude Desktop Appで/team-builderコマンドを使って独自のカスタムエージェントチームを構成してみます。関心のある分野を選び、要件を準備して、Claudeにチーム構成を依頼してみましょう。
実習のステップ
- 関心分野の選択 — 自分が関心のある分野をひとつ選びましょう。例: 教育コンテンツ制作、ソフトウェア開発、マーケティングキャンペーン、研究プロジェクトなど。分野によって必要なエージェントとスキルが変わります。
- 要件の準備 — Step 1の6つの質問への回答をあらかじめ準備しておきましょう。ドメイン、チーム規模、主要業務、技術スタック、協業方式、成果指標を考えておくと、Claudeとの対話がより効率的になります。
- Claudeへのチーム構成の依頼 — Claude Desktop Appで、下のプロンプト例に近い内容でClaudeにチーム構成を依頼しましょう。Claudeがteam-builderスキルを有効化し、5ステップワークフローを開始します。
- 提案書のレビュー — Claudeが生成した提案書を入念にレビューしましょう。エージェント名、役割、ティア、スキル、ワークフローが自分の要件に合っているかを確認します。修正が必要な部分があればClaudeに伝えてください。
- 承認 — 提案書の内容に同意したら“approve”と答えましょう。Claudeが提案書をJSONファイルとして保存します。
-
結果の確認 — Claudeの案内に従って
bun scripts/team-builder.tsを実行し、生成されたエージェントファイルとAGENTS.mdの更新を確認しましょう。
プロンプトの例
/team-builder
教育コンテンツ制作のためのエージェントチームを構成したいと思っています。
1. ドメイン: オンライン教育コンテンツ制作
2. チーム規模: 4〜5個のエージェント
3. 主要業務: 講義資料の企画、スライド作成、クイズ出題、品質レビュー
4. 技術スタック: Markdown, HTML,Claude Code
5. 協業方式: 順次パイプライン (企画→執筆→レビュー→完成)
6. 成果指標: 完成度、一貫性、学習目標達成率
章のまとめ
この章の要点整理
- エージェントチームは複数の専門エージェントが協力する仕組みです。単一AIの限界(役割分離の欠如、偏り、順次処理)を克服し、高品質な成果物を生み出せます。
- team-builderスキルは、AIレイヤー(Claudeが実行)とスクリプトレイヤー(自動スクリプトが実行)の二つのレイヤーで構成されます。安全のため、ユーザーの承認なしにファイルが生成されることはありません。
- 5ステップワークフロー: 要件インタビュー(6つの必須質問) → ベンチマーク(Web検索) → 現在のチーム診断(エージェント/スキル/依存関係) → 提案書生成(JSON) → ユーザー承認(必須ゲート)。
- 提案書JSONには、作成/転換/削除するエージェント、作成するスキル、ワークフローの段階などの情報が入ります。Claudeが自動生成するため、ユーザーが直接書く必要はありません。
- スクリプトレイヤーは、
bun scripts/team-builder.tsが提案書JSONを読み込んで、エージェントファイル生成、AGENTS.md登録、スキルインストール、ワークフロー設定、検証を自動実行します。 - 既存パターン(Quick Assessment, Standard, Complex Transformation, Specialized Expert)を参考にすれば、新しいチーム構成の良い出発点になります。