「The Agency」は、Claude Code、Cursor、Aider、Windsurf、GitHub Copilotなどに対応する、147の専門的なAIエージェントのオープンソースコレクションです。各エージェントは、明確な個性、技術的な成果物、成功指標を持っています。この技術的な詳細解説では、エージェントのアーキテクチャ、マルチツール統合、MCPメモリ、およびそれらすべてを動かすbashスクリプトについて説明します。
💡これらのエージェントを実際のAPIワークフローに組み込む方法をすでに検討しているのであれば、堅牢なAPIプラットフォームがあれば、さらに多くの恩恵を得られるでしょう。まさにそこにApidogが適合します。エージェントが利用するAPIを設計、モック、テスト、ドキュメント化し、「実行」を押すだけで、専門エージェントとエンドポイントが共に進化していくのを見ることができます。この解説を読んでいる間にApidogを無料で試して、「Agency」を利用した独自のバックエンド向けにサンドボックスワークスペースを立ち上げてみてください。
<!--kg-card-begin: html-->
<!--kg-card-end: html-->
おそらくお馴染みでしょう。「ベテラン開発者として振る舞ってください」という指示に続き、あらゆるコーディングタスクに適用できる一般的なアドバイスが提示されるパターンです。「The Agency」は異なるアプローチを取ります。すべてをこなそうとする一つのプロンプトの代わりに、12の部門に組織された147のスペシャリストを提供します。
フルサービスの代理店を組織するようなものだと考えてください。ただし、彼らは眠らず、文句も言わず、常に成果を出すAIエージェントです。
「The Agency」とは何か?
| 特徴 | 詳細 |
|---|---|
| 総エージェント数 | 12部門にわたる147の専門エージェント |
| フォーマット | YAMLフロントマター(名前、説明、色、絵文字)付きMarkdownファイル |
| 統合 | Claude Code, Cursor, Aider, Windsurf, GitHub Copilot, Gemini CLI, OpenCode, OpenClaw, Qwen Codeに対応 |
| ライセンス | MIT — 個人および商用利用無料 |
| 起源 | Redditスレッドから始まり、現在はコミュニティによってメンテナンスされている |
| 主要なイノベーション | 汎用的なプロンプトではなく、成果物と成功指標を持つ個性主導のエージェント |
要するに、「The Agency」 は、「開発者として振る舞う」を「フロントエンド開発者モードをアクティブにする」に置き換えます。そして、フロントエンド開発者エージェントは、React、Vue、Angular、Core Web Vitals、およびアクセシビリティコンプライアンスを実際に知っています。
リポジトリ構造:12部門、147エージェント
「The Agency」は github.com/msitarzewski/agency-agents にあります。エージェントは、実際の代理店の組織図を反映した12の部門に編成されています。
agency-agents/
├── engineering/ # 20以上のエージェント:フロントエンド、バックエンド、DevOps、AI、モバイル、セキュリティ
├── design/ # 8エージェント:UIデザイナー、UXリサーチャー、ブランドガーディアン、ウィムジーインジェクター
├── marketing/ # 20以上のエージェント:グロースハッカー、SEO、TikTok、Reddit、LinkedIn
├── sales/ # 8エージェント:ディスカバリーコーチ、ディールストラテジスト、セールスエンジニア
├── product/ # 5エージェント:プロダクトマネージャー、トレンドリサーチャー、フィードバックシンセサイザー
├── project-management/ # 6エージェント:スタジオプロデューサー、プロジェクトシェパード、実験トラッカー
├── testing/ # 8エージェント:リアリティチェッカー、エビデンスコレクター、APIテスター
├── support/ # 6エージェント:サポートレスポンダー、アナリティクスレポーター、法務コンプライアンス
├── spatial-computing/ # 6エージェント:XRアーキテクト、visionOSエンジニア、Metal開発者
├── specialized/ # 30以上のエージェント:MCPビルダー、ブロックチェーン監査人、コンプライアンス監査人
├── game-development/ # 20以上のエージェント:Unityアーキテクト、Unrealシステム、Godotスクリプター、Roblox
└── academic/ # 5エージェント:人類学者、歴史家、心理学者、ナラトロジスト
各部門には、深い専門知識を持つエージェントがいます。エンジニアリング部門だけでも、フロントエンド開発者、バックエンドアーキテクト、DevOpsオートメーター、セキュリティエンジニア、組み込みファームウェアエンジニアまで多岐にわたります。
エージェントの解剖学:400行のAIスペシャリストの内側
すべてのエージェントは同じ構造に従います。ここではバックエンドアーキテクトエージェントを例に、実際のYAML・マークダウン・コード断片を示します。
フロントマター (YAML)
---
name: Backend Architect
description: "スケーラブルなシステム設計、データベースアーキテクチャ、API開発、クラウドインフラストラクチャを専門とするシニアバックエンドアーキテクト"
color: blue
emoji: 🏗️
vibe: データベース、API、クラウド、スケールなど、すべてを支えるシステムを設計する。
---
-
name,descriptionはCursorやClaude Codeなどツールのエージェント発見・選択で利用 -
emojiでUI上の判別を高速化
アイデンティティとメモリ
## 🧠 あなたのアイデンティティとメモリ
- **役割**: システムアーキテクチャおよびサーバーサイド開発スペシャリスト
- **個性**: 戦略的、セキュリティ重視、スケーラビリティ志向、信頼性への執着
- **メモリ**: 成功したアーキテクチャパターン、パフォーマンス最適化、セキュリティフレームワークを記憶している
- **経験**: 適切なアーキテクチャによってシステムが成功するのを見てきたし、技術的な近道によって失敗するのを見てきた
- エージェントの「思考フレームワーク」と境界を明示
コアミッション(測定可能な目標)
## 🎯 あなたのコアミッション
### データ/スキーマエンジニアリングの卓越性
- データスキーマとインデックス仕様を定義し、維持する
- 大規模データセット(10万以上のエンティティ)向けに効率的なデータ構造を設計する
- データ変換と統合のためのETLパイプラインを実装する
- 20ms未満のクエリ時間を実現する高性能永続化層を作成する
厳守すべきルール
## 🚨 厳守すべきルール
### セキュリティ第一のアーキテクチャ
- すべてのシステム層にわたって多層防御戦略を実装する
- すべてのサービスとデータベースアクセスに最小権限の原則を使用する
- 現在のセキュリティ標準を使用して、保存時および転送中のデータを暗号化する
技術的成果物(例)
-- Eコマースデータベーススキーマ設計
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
deleted_at TIMESTAMP WITH TIME ZONE NULL
);
CREATE INDEX idx_users_email ON users(email) WHERE deleted_at IS NULL;
CREATE INDEX idx_users_created_at ON users(created_at);
// セキュリティミドルウェア付きExpress.js API
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 15 * 60 * 1000,
max: 100,
message: 'Too many requests from this IP, please try again later.',
});
成功指標
## 🎯 あなたの成功指標
次の場合は成功とみなされます。
- API応答時間が95パーセンタイルで200ms未満を維持する
- システム稼働時間が99.9%の可用性を超える
- データベースクエリが平均100ms未満で実行される
- セキュリティ監査で重大な脆弱性がゼロである
- すべて「測定可能」な成果物を明示
マルチツール統合:1つのエージェント、10のIDE
「The Agency」は主要なAIコーディングツールで動作します。実装・運用ステップを整理します。
サポートされているツール
| ツール | フォーマット | インストール場所 |
|---|---|---|
| Claude Code | .md |
~/.claude/agents/ |
| GitHub Copilot | .md |
~/.github/agents/ |
| Cursor | .mdc |
.cursor/rules/ |
| Aider | CONVENTIONS.md |
プロジェクトルート |
| Windsurf | .windsurfrules |
プロジェクトルート |
| Antigravity | SKILL.md |
~/.gemini/antigravity/skills/ |
| Gemini CLI | 拡張機能 | ~/.gemini/extensions/ |
| OpenCode | .md |
.opencode/agents/ |
| OpenClaw |
SOUL.md + AGENTS.md
|
~/.openclaw/ |
| Qwen Code | .md |
~/.qwen/agents/ |
変換スクリプト(convert.sh)
scripts/convert.sh でエージェントを各ツールフォーマットに自動変換できます。
#!/usr/bin/env bash
# convert.sh — agencyエージェントの.mdファイルをツール固有のフォーマットに変換する
set -euo pipefail
AGENT_DIRS=(
academic design engineering game-development marketing paid-media
sales product project-management testing support spatial-computing specialized
)
# フロントマターフィールド抽出
get_field() {
local field="$1" file="$2"
awk -v f="$field" '
/^---$/ { fm++; next }
fm == 1 && $0 ~ "^" f ": " { sub("^" f ": ", ""); print; exit }
' "$file"
}
# 本文取得
get_body() {
awk 'BEGIN{fm=0} /^---$/{fm++; next} fm>=2{print}' "$1"
}
Cursor変換例
convert_cursor() {
local agent_file="$1"
local slug=$(to_kebab "$(get_field 'name' "$agent_file")")
local output_file="$OUT_DIR/cursor/.cursor/rules/agency-${slug}.mdc"
cat > "$output_file" << EOF
---
description: Agency agent: $(get_field 'description' "$agent_file")
---
$(get_body "$agent_file")
EOF
}
Aider / Windsurf変換例
convert_aider() {
local output="$OUT_DIR/aider/CONVENTIONS.md"
echo "# Agency Agents for Aider" > "$output"
echo "" >> "$output"
for dir in "${AGENT_DIRS[@]}"; do
for file in "$REPO_ROOT/$dir"/*.md; do
echo "---" >> "$output"
cat "$file" >> "$output"
done
done
}
インストールスクリプト(install.sh)
install.sh で各ツールのディレクトリにファイルを配置します。
#!/usr/bin/env bash
# install.sh — The Agencyエージェントをローカルのエージェントツールにインストールする
install_claude_code() {
local src="$REPO_ROOT"
local dest="$HOME/.claude/agents"
mkdir -p "$dest"
cp -r "$src"/{engineering,design,marketing,sales,specialized}/*.md "$dest/"
ok "Claude Code: $(find "$dest" -name '*.md' | wc -l) エージェントがインストールされました"
}
install_cursor() {
local src="$OUT_DIR/cursor/.cursor/rules"
local dest="./.cursor/rules"
mkdir -p "$dest"
cp "$src"/*.mdc "$dest/"
ok "Cursor: $(find "$dest" -name '*.mdc' | wc -l) ルールがインストールされました"
}
対話インストール画面例
+------------------------------------------------+
| The Agency — ツールインストーラー |
+------------------------------------------------+
システムスキャン:[*] = このマシンで検出されました
[x] 1) [*] Claude Code (claude.ai/code)
[x] 2) [*] Copilot (~/.github + ~/.copilot)
[x] 3) [*] Antigravity (~/.gemini/antigravity)
[ ] 4) [ ] Gemini CLI (Gemini拡張機能)
[x] 7) [*] Cursor (.cursor/rules)
[1-10] 切り替え [a] すべて [n] なし [d] 検出済み
[Enter] インストール [q] 終了
並列実行で高速化も可能です:
./scripts/install.sh --parallel --jobs 8
MCPメモリ:セッション間での永続的なコンテキスト
デフォルトのAIエージェントは毎回新規セッションですが、MCPメモリを使うことで下記が可能になります。
MCPとは?
- Model Context Protocol:外部ツール/ストレージ経由でエージェントがセッションを越えて記憶・引き継ぎできる
-
ワークフロー例
- セッションをまたぐ記憶
- エージェント間のコンテキスト受け渡し
- 失敗時のロールバック
メモリパターン例
任意のエージェント定義に下記を追加:
## メモリ統合
セッションを開始するとき:
- あなたの役割とプロジェクトを検索用語として使用して、以前のセッションからの関連コンテキストを呼び出す
- あなたのエージェント名でタグ付けされたメモリを確認する
主要な決定を下すか、成果物を完了するとき:
- 記述的なタグ(エージェント名、プロジェクト、トピック)を付けて決定を記憶する
- 将来のセッションが何が、なぜ行われたかを理解できる十分なコンテキストを含める
別のエージェントに引き継ぐとき:
- 受け取るエージェントのためにタグ付けされた成果物を記憶する
- 完了したこと、保留中のこと、次のエージェントが知るべきことを含める
MCPツールコマンド
| ツール | 目的 |
|---|---|
remember |
決定、成果物、コンテキストをタグ付きで保存する |
recall |
キーワード、タグ、または意味的類似性でメモリを検索する |
rollback |
何かが失敗したときに以前の状態に復元する |
search |
セッションとエージェントをまたいで特定のメモリを検索する |
メモリ活用ワークフロー例
MCPメモリなし:
ユーザー: "APIを構築して"
エージェント: [APIを構築、セッション終了]
[次のセッション]
ユーザー: "昨日から続けて"
エージェント: "以前のセッションからのコンテキストがありません。何をしたか貼り付けていただけますか?"
MCPメモリあり:
ユーザー: "APIを構築して"
エージェント: [APIを構築、記憶:「バックエンドアーキテクト - EコマースAPI - ユーザーテーブル、JWT認証、レート制限」]
[次のセッション]
ユーザー: "昨日から続けて"
エージェント: [呼び出し:「昨日、私はUUID主キーを持つユーザーテーブルを設計し、bcryptハッシュによるJWT認証を実装し、15分あたり100リクエストのレート制限を追加しました。次のステップ:注文サービススキーマ。」]
詳しくは integrations/mcp-memory/backend-architect-with-memory.md 参照。
注目すべきエージェント:3つの詳細解説
1. リアリティチェッカー(テスト部門)
非現実的な承認を防ぐQA専用エージェント。必ず証拠を出させます。
## 🚨 必須プロセス
### ステップ1:現実チェックコマンド(決してスキップしない)
bash
実際に構築されたものを検証する
ls -la resources/views/ || ls -la *.html
主張されている機能を相互チェックする
grep -r "luxury|premium|glass|morphism" . --include=".html" --include=".css" || echo "NO PREMIUM FEATURES FOUND"
Playwrightスクリーンショットキャプチャ
./qa-playwright-capture.sh http://localhost:8000 public/qa-screenshots
plaintext
ステップ2:QA相互検証
- ヘッドレスChromeテストからのQAエージェントの発見事項を確認
- 自動スクリーンショットとQAの評価を相互参照
- 追加証拠でQAの評価を確認/異議
ステップ3:エンドツーエンド検証
- responsive-desktop.png, responsive-tablet.png, responsive-mobile.pngを分析
- nav--click.png, form-.pngシーケンスでインタラクションフローを追跡
- パフォーマンスデータ(ロード時間、エラー、メトリクス)を必ずチェック
このエージェントは、視覚的な証拠がなければ承認しません。
2. ウィムジーインジェクター(デザイン部門)
遊び心と個性をUI/UXへ注入しつつ、実装も伴うエージェント。
/* 楽しいボタンのインタラクション */
.btn-whimsy {
position: relative;
overflow: hidden;
transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
&::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
&:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
}
// ウィムジーのあるアチーブメントシステム
class WhimsyAchievements {
unlock(achievementId) {
const achievement = this.achievements[achievementId];
this.showCelebration(achievement);
this.saveProgress(achievementId);
}
showCelebration(achievement) {
const celebration = document.createElement('div');
celebration.className = `achievement-celebration ${achievement.celebration}`;
celebration.innerHTML = `
<div class="achievement-card">
<div class="achievement-icon">${achievement.icon}</div>
<h3>${achievement.title}</h3>
<p>${achievement.description}</p>
</div>
`;
document.body.appendChild(celebration);
setTimeout(() => celebration.remove(), 3000);
}
}
- 機能的・感情的目的が明示された遊び心
- エラーメッセージ例(マイクロコピーもライブラリ化)
## エラーメッセージ
**404ページ**: "おっと!このページは私たちに言わずに休暇に行ってしまいました。"
**フォーム検証**: "メールアドレスが少しおとなしいようです — @マークを追加していただけますか?"
**ネットワークエラー**: "インターネットがしゃっくりをしたようです。もう一度試してみませんか?"
3. MCPビルダー(専門部門)
AIエージェント連携用ツールをTypeScriptで実装できるエージェント。
// TypeScript MCPサーバーのスケルトン
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "my-server", version: "1.0.0" });
server.tool("search_items", { query: z.string(), limit: z.number().optional() },
async ({ query, limit = 10 }) => {
const results = await searchDatabase(query, limit);
return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
}
);
const transport = new StdioServerTransport();
await server.connect(transport);
ルール例
- ツール名は説明的に(
search_usersなど) - Zodで型検証、デフォルト値も必須
- 構造化出力(データはJSON、人間向けはMarkdown)
- 失敗時は適切なエラーメッセージを返してサーバークラッシュさせない
コミュニティと翻訳
- 12部門147エージェント+10,000行以上のコード・プロセス例
- 簡体字中国語フォークやBilibili/WeChat向けの翻訳進行中
- agency-agents-zh (jnMetaCode):中国語訳+オリジナル追加
- agent-teams (dsclca12):中国ローカル向け拡張
インストール:クイックスタート
オプション1:Claude Code(推奨)
# エージェントをClaude Codeディレクトリにコピー
cp -r agency-agents/* ~/.claude/agents/
# 任意のセッションでアクティブ化
"ねえClaude、フロントエンド開発者モードをアクティブにして、Reactコンポーネントの構築を手伝って"
オプション2:マルチツールインストール
# ステップ1:統合ファイル生成
./scripts/convert.sh
# ステップ2:対話的にインストール(自動検出)
./scripts/install.sh
# 特定ツールのみ
./scripts/install.sh --tool cursor
./scripts/install.sh --tool aider
オプション3:リファレンスとして利用
github.com/msitarzewski/agency-agents でエージェントを選び、必要なものだけコピー&カスタマイズ。
これが他とどう違うのか?
汎用AIプロンプトとの比較
| 汎用的なプロンプト | The Agency |
|---|---|
| 「開発者として振る舞う」 | 「フロントエンド開発者モードをアクティブにする」 |
| 曖昧で画一的 | ドメインごとの深い専門性 |
| 成果物構造なし | 完全なコード例、ワークフロー |
| 成功指標なし | 測定可能な成果が定義されている |
プロンプトライブラリとの比較
| プロンプトライブラリ | The Agency |
|---|---|
| 一回限りのプロンプトコレクション | 包括的なエージェントシステム |
| 静的なテキスト | 個性 + ワークフロー + メモリ |
| 統合なし | 10以上のツール統合 |
AIツールとの比較
| AIツール | The Agency |
|---|---|
| ブラックボックスでカスタマイズ不可 | 透明性があり、フォーク可能で適応性がある |
| ベンダーロックイン | MITライセンス、コミュニティによってメンテナンスされている |
| 単一モデル | MCP経由で任意のLLMと連携 |
技術的要点
- 専門化は汎用化に勝る:147のスペシャリストは1つの「何でも屋」プロンプトより実用的
- 構造が出力を推進:フロントマター + アイデンティティ + ミッション + ルール + 成果物 + メトリクス
- 統合が重要:Bashスクリプトで10以上のツールフォーマットを自動生成
- メモリが継続性を生む:MCPプロトコルで「昨日を覚えていない」問題を解消
- コミュニティが拡張性を担保:Reddit発 → 147エージェント → 翻訳 → マルチツールサポート
次のステップ
「The Agency」を試してみたいですか?
- 完全なエージェントリスト を確認
- お好みのツール(Claude Code、Cursor、Aider等)にインストール
- 名前でスペシャリストをアクティブ化:「この製品が本番環境で利用可能であることを検証するためにリアリティチェッカーを使用してください」
- 新規エージェント追加・改善・成功事例共有でコントリビュート
自作AIエージェント開発者へ
- フロントマター:発見性
- アイデンティティ:ペルソナ設計
- ミッション:領域スコープ
- ルール:制約
- 成果物:出力
- メトリクス:説明責任
「The Agency」=専門化されたAIチーム(147名)は、1つの万能モデルより現場で役立つ実戦的な選択肢です。
<!--kg-card-begin: html-->
<!--kg-card-end: html-->
Top comments (0)