DEV Community

Cover image for エージェンシーエージェントとは?
Akira
Akira

Posted on • Originally published at apidog.com

エージェンシーエージェントとは?

「The Agency」は、Claude Code、Cursor、Aider、Windsurf、GitHub Copilotなどに対応する、147の専門的なAIエージェントのオープンソースコレクションです。各エージェントは、明確な個性、技術的な成果物、成功指標を持っています。この技術的な詳細解説では、エージェントのアーキテクチャ、マルチツール統合、MCPメモリ、およびそれらすべてを動かすbashスクリプトについて説明します。

今すぐApidogを試す

💡これらのエージェントを実際の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スレッドから始まり、現在はコミュニティによってメンテナンスされている
主要なイノベーション 汎用的なプロンプトではなく、成果物と成功指標を持つ個性主導のエージェント
画像187

要するに、「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エージェント:人類学者、歴史家、心理学者、ナラトロジスト
Enter fullscreen mode Exit fullscreen mode

各部門には、深い専門知識を持つエージェントがいます。エンジニアリング部門だけでも、フロントエンド開発者、バックエンドアーキテクト、DevOpsオートメーター、セキュリティエンジニア、組み込みファームウェアエンジニアまで多岐にわたります。

エージェントの解剖学:400行のAIスペシャリストの内側

すべてのエージェントは同じ構造に従います。ここではバックエンドアーキテクトエージェントを例に、実際のYAML・マークダウン・コード断片を示します。

フロントマター (YAML)

---
name: Backend Architect
description: "スケーラブルなシステム設計、データベースアーキテクチャ、API開発、クラウドインフラストラクチャを専門とするシニアバックエンドアーキテクト"
color: blue
emoji: 🏗️
vibe: データベース、API、クラウド、スケールなど、すべてを支えるシステムを設計する。
---
Enter fullscreen mode Exit fullscreen mode
  • name, description はCursorやClaude Codeなどツールのエージェント発見・選択で利用
  • emoji でUI上の判別を高速化

アイデンティティとメモリ

## 🧠 あなたのアイデンティティとメモリ
- **役割**: システムアーキテクチャおよびサーバーサイド開発スペシャリスト
- **個性**: 戦略的、セキュリティ重視、スケーラビリティ志向、信頼性への執着
- **メモリ**: 成功したアーキテクチャパターン、パフォーマンス最適化、セキュリティフレームワークを記憶している
- **経験**: 適切なアーキテクチャによってシステムが成功するのを見てきたし、技術的な近道によって失敗するのを見てきた
Enter fullscreen mode Exit fullscreen mode
  • エージェントの「思考フレームワーク」と境界を明示

コアミッション(測定可能な目標)

## 🎯 あなたのコアミッション

### データ/スキーマエンジニアリングの卓越性
- データスキーマとインデックス仕様を定義し、維持する
- 大規模データセット(10万以上のエンティティ)向けに効率的なデータ構造を設計する
- データ変換と統合のためのETLパイプラインを実装する
- 20ms未満のクエリ時間を実現する高性能永続化層を作成する
Enter fullscreen mode Exit fullscreen mode

厳守すべきルール

## 🚨 厳守すべきルール

### セキュリティ第一のアーキテクチャ
- すべてのシステム層にわたって多層防御戦略を実装する
- すべてのサービスとデータベースアクセスに最小権限の原則を使用する
- 現在のセキュリティ標準を使用して、保存時および転送中のデータを暗号化する
Enter fullscreen mode Exit fullscreen mode

技術的成果物(例)

-- 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);
Enter fullscreen mode Exit fullscreen mode
// セキュリティミドルウェア付き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.',
});
Enter fullscreen mode Exit fullscreen mode

成功指標

## 🎯 あなたの成功指標

次の場合は成功とみなされます。
- API応答時間が95パーセンタイルで200ms未満を維持する
- システム稼働時間が99.9%の可用性を超える
- データベースクエリが平均100ms未満で実行される
- セキュリティ監査で重大な脆弱性がゼロである
Enter fullscreen mode Exit fullscreen mode
  • すべて「測定可能」な成果物を明示

マルチツール統合: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"
}
Enter fullscreen mode Exit fullscreen mode

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
}
Enter fullscreen mode Exit fullscreen mode

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
}
Enter fullscreen mode Exit fullscreen mode

インストールスクリプト(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) ルールがインストールされました"
}
Enter fullscreen mode Exit fullscreen mode

対話インストール画面例

  +------------------------------------------------+
  |   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] 終了
Enter fullscreen mode Exit fullscreen mode

並列実行で高速化も可能です:

./scripts/install.sh --parallel --jobs 8
Enter fullscreen mode Exit fullscreen mode

MCPメモリ:セッション間での永続的なコンテキスト

デフォルトのAIエージェントは毎回新規セッションですが、MCPメモリを使うことで下記が可能になります。

MCPとは?

  • Model Context Protocol:外部ツール/ストレージ経由でエージェントがセッションを越えて記憶・引き継ぎできる
  • ワークフロー例
    • セッションをまたぐ記憶
    • エージェント間のコンテキスト受け渡し
    • 失敗時のロールバック

メモリパターン例

任意のエージェント定義に下記を追加:

## メモリ統合

セッションを開始するとき:
- あなたの役割とプロジェクトを検索用語として使用して、以前のセッションからの関連コンテキストを呼び出す
- あなたのエージェント名でタグ付けされたメモリを確認する

主要な決定を下すか、成果物を完了するとき:
- 記述的なタグ(エージェント名、プロジェクト、トピック)を付けて決定を記憶する
- 将来のセッションが何が、なぜ行われたかを理解できる十分なコンテキストを含める

別のエージェントに引き継ぐとき:
- 受け取るエージェントのためにタグ付けされた成果物を記憶する
- 完了したこと、保留中のこと、次のエージェントが知るべきことを含める
Enter fullscreen mode Exit fullscreen mode

MCPツールコマンド

ツール 目的
remember 決定、成果物、コンテキストをタグ付きで保存する
recall キーワード、タグ、または意味的類似性でメモリを検索する
rollback 何かが失敗したときに以前の状態に復元する
search セッションとエージェントをまたいで特定のメモリを検索する

メモリ活用ワークフロー例

MCPメモリなし:

ユーザー: "APIを構築して"
エージェント: [APIを構築、セッション終了]

[次のセッション]
ユーザー: "昨日から続けて"
エージェント: "以前のセッションからのコンテキストがありません。何をしたか貼り付けていただけますか?"
Enter fullscreen mode Exit fullscreen mode

MCPメモリあり:

ユーザー: "APIを構築して"
エージェント: [APIを構築、記憶:「バックエンドアーキテクト - EコマースAPI - ユーザーテーブル、JWT認証、レート制限」]

[次のセッション]
ユーザー: "昨日から続けて"
エージェント: [呼び出し:「昨日、私はUUID主キーを持つユーザーテーブルを設計し、bcryptハッシュによるJWT認証を実装し、15分あたり100リクエストのレート制限を追加しました。次のステップ:注文サービススキーマ。」]
Enter fullscreen mode Exit fullscreen mode

詳しくは integrations/mcp-memory/backend-architect-with-memory.md 参照。

注目すべきエージェント:3つの詳細解説

1. リアリティチェッカー(テスト部門)

非現実的な承認を防ぐQA専用エージェント。必ず証拠を出させます。

## 🚨 必須プロセス

### ステップ1:現実チェックコマンド(決してスキップしない)
Enter fullscreen mode Exit fullscreen mode


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

Enter fullscreen mode Exit fullscreen mode


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);
  }
}
Enter fullscreen mode Exit fullscreen mode
// ウィムジーのあるアチーブメントシステム
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);
  }
}
Enter fullscreen mode Exit fullscreen mode
  • 機能的・感情的目的が明示された遊び心
  • エラーメッセージ例(マイクロコピーもライブラリ化)
## エラーメッセージ
**404ページ**: "おっと!このページは私たちに言わずに休暇に行ってしまいました。"
**フォーム検証**: "メールアドレスが少しおとなしいようです — @マークを追加していただけますか?"
**ネットワークエラー**: "インターネットがしゃっくりをしたようです。もう一度試してみませんか?"
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

ルール例

  • ツール名は説明的に(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コンポーネントの構築を手伝って"
Enter fullscreen mode Exit fullscreen mode

オプション2:マルチツールインストール

# ステップ1:統合ファイル生成
./scripts/convert.sh

# ステップ2:対話的にインストール(自動検出)
./scripts/install.sh

# 特定ツールのみ
./scripts/install.sh --tool cursor
./scripts/install.sh --tool aider
Enter fullscreen mode Exit fullscreen mode

オプション3:リファレンスとして利用

github.com/msitarzewski/agency-agents でエージェントを選び、必要なものだけコピー&カスタマイズ。

これが他とどう違うのか?

汎用AIプロンプトとの比較

汎用的なプロンプト The Agency
「開発者として振る舞う」 「フロントエンド開発者モードをアクティブにする」
曖昧で画一的 ドメインごとの深い専門性
成果物構造なし 完全なコード例、ワークフロー
成功指標なし 測定可能な成果が定義されている

プロンプトライブラリとの比較

プロンプトライブラリ The Agency
一回限りのプロンプトコレクション 包括的なエージェントシステム
静的なテキスト 個性 + ワークフロー + メモリ
統合なし 10以上のツール統合

AIツールとの比較

AIツール The Agency
ブラックボックスでカスタマイズ不可 透明性があり、フォーク可能で適応性がある
ベンダーロックイン MITライセンス、コミュニティによってメンテナンスされている
単一モデル MCP経由で任意のLLMと連携

技術的要点

  1. 専門化は汎用化に勝る:147のスペシャリストは1つの「何でも屋」プロンプトより実用的
  2. 構造が出力を推進:フロントマター + アイデンティティ + ミッション + ルール + 成果物 + メトリクス
  3. 統合が重要:Bashスクリプトで10以上のツールフォーマットを自動生成
  4. メモリが継続性を生む:MCPプロトコルで「昨日を覚えていない」問題を解消
  5. コミュニティが拡張性を担保:Reddit発 → 147エージェント → 翻訳 → マルチツールサポート

次のステップ

「The Agency」を試してみたいですか?

  1. 完全なエージェントリスト を確認
  2. お好みのツール(Claude Code、Cursor、Aider等)にインストール
  3. 名前でスペシャリストをアクティブ化:「この製品が本番環境で利用可能であることを検証するためにリアリティチェッカーを使用してください」
  4. 新規エージェント追加・改善・成功事例共有でコントリビュート

自作AIエージェント開発者へ

  • フロントマター:発見性
  • アイデンティティ:ペルソナ設計
  • ミッション:領域スコープ
  • ルール:制約
  • 成果物:出力
  • メトリクス:説明責任

「The Agency」=専門化されたAIチーム(147名)は、1つの万能モデルより現場で役立つ実戦的な選択肢です。

<!--kg-card-begin: html-->







<!--kg-card-end: html-->

Top comments (0)