The Agency는 Claude Code, Cursor, Aider, Windsurf, GitHub Copilot 등을 위한 147개의 전문 AI 에이전트 오픈소스 컬렉션입니다. 각 에이전트는 고유한 개성, 기술적 결과물 및 성공 지표를 가지고 있습니다. 이 기술 심층 분석은 에이전트 아키텍처, 다중 도구 통합, MCP 메모리 및 이 모든 것을 구동하는 bash 스크립트를 다룹니다.
아마도 여러분은 이런 과정을 알고 있을 것입니다: "시니어 개발자처럼 행동하세요"라는 말 뒤에 어떤 코딩 작업에도 적용될 수 있는 일반적인 조언이 따르는 것이죠. The Agency는 다른 접근 방식을 취합니다. 모든 것을 다 하려는 하나의 프롬프트 대신, 12개 부서로 조직된 147명의 전문가를 제공합니다.
잠들지 않고, 불평하지 않으며, 항상 결과물을 제공하는 AI 에이전트들로 구성된 풀서비스 에이전시를 구축한다고 생각해보세요.
The Agency란 무엇인가?
| 특징 | 세부 정보 |
|---|---|
| 총 에이전트 수 | 12개 부서에 걸친 147명의 전문 에이전트 |
| 형식 | YAML 프론트매터(이름, 설명, 색상, 이모티콘)가 있는 마크다운 파일 |
| 통합 | 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+ agents: Frontend, Backend, DevOps, AI, Mobile, Security
├── design/ # 8 agents: UI Designer, UX Researcher, Brand Guardian, Whimsy Injector
├── marketing/ # 20+ agents: Growth Hacker, SEO, TikTok, Reddit, LinkedIn
├── sales/ # 8 agents: Discovery Coach, Deal Strategist, Sales Engineer
├── product/ # 5 agents: Product Manager, Trend Researcher, Feedback Synthesizer
├── project-management/ # 6 agents: Studio Producer, Project Shepherd, Experiment Tracker
├── testing/ # 8 agents: Reality Checker, Evidence Collector, API Tester
├── support/ # 6 agents: Support Responder, Analytics Reporter, Legal Compliance
├── spatial-computing/ # 6 agents: XR Architect, visionOS Engineer, Metal Developer
├── specialized/ # 30+ agents: MCP Builder, Blockchain Auditor, Compliance Auditor
├── game-development/ # 20+ agents: Unity Architect, Unreal Systems, Godot Scripter, Roblox
└── academic/ # 5 agents: Anthropologist, Historian, Psychologist, Narratologist
각 부서에는 심층적인 전문 지식을 갖춘 에이전트가 포함되어 있습니다. 엔지니어링 부서만 해도 프런트엔드 개발자, 백엔드 아키텍트, DevOps 자동화 전문가, 보안 엔지니어, 심지어 임베디드 펌웨어 엔지니어까지 아우릅니다.
에이전트 해부: 400줄 AI 전문가의 내부
모든 에이전트는 동일한 구조를 따릅니다. 다음은 **백엔드 아키텍트** 에이전트를 예로 들어 설명한 것입니다:
프론트매터 (YAML)
---
name: Backend Architect
description: Senior backend architect specializing in scalable system design, database architecture, API development, and cloud infrastructure
color: blue
emoji: 🏗️
vibe: Designs the systems that hold everything up — databases, APIs, cloud, scale.
---
이 메타데이터는 장식적인 것이 아닙니다. Cursor 및 Claude Code와 같은 도구는 에이전트 검색을 위해 name 및 description 필드를 사용합니다. emoji는 채팅 인터페이스에서 시각적 식별을 제공합니다.
정체성 및 메모리
## 🧠 Your Identity & Memory
- **Role**: System architecture and server-side development specialist
- **Personality**: Strategic, security-focused, scalability-minded, reliability-obsessed
- **Memory**: You remember successful architecture patterns, performance optimizations, and security frameworks
- **Experience**: You've seen systems succeed through proper architecture and fail through technical shortcuts
이 섹션은 에이전트의 페르소나와 전문성 범위를 설정합니다. 단순한 꾸밈 문구가 아니라, LLM이 특정 사고방식을 채택하도록 준비시킵니다.
핵심 임무
## 🎯 Your Core Mission
### Data/Schema Engineering Excellence
- Define and maintain data schemas and index specifications
- Design efficient data structures for large-scale datasets (100k+ entities)
- Implement ETL pipelines for data transformation and unification
- Create high-performance persistence layers with sub-20ms query times
각 임무 항목에는 측정 가능한 목표가 포함되어 있습니다. "20ms 미만의 쿼리 시간" 및 "10만 개 이상의 엔티티"를 주목하세요. 이는 모호한 목표가 아닙니다.
핵심 규칙
## 🚨 Critical Rules You Must Follow
### Security-First Architecture
- Implement defense in depth strategies across all system layers
- Use principle of least privilege for all services and database access
- Encrypt data at rest and in transit using current security standards
규칙은 협상 불가능한 제약 조건입니다. 이는 일반적인 LLM 동작을 재정의합니다.
기술적 결과물
이것이 에이전트가 일반적인 프롬프트와 차별화되는 지점입니다. 백엔드 아키텍트는 완전하고 실행 가능한 코드를 제공합니다:
-- E-commerce Database Schema Design
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 with security middleware
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.',
});
성공 지표
## 🎯 Your Success Metrics
You're successful when:
- API response times stay under 200ms for 95th percentile
- System uptime exceeds 99.9% availability
- Database queries perform under 100ms average
- Security audits find zero critical vulnerabilities
모든 에이전트는 측정 가능한 결과물을 정의합니다. 이는 치료적 확언이 아니라, 엔지니어링의 책임입니다.
다중 도구 통합: 하나의 에이전트, 10가지 IDE
The Agency는 10개 이상의 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 bash 스크립트는 형식 변환을 처리합니다. 다음은 아키텍처입니다:
#!/usr/bin/env bash
# The 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의 경우, 스크립트는 .md 파일을 .mdc 규칙 형식으로 변환합니다:
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
# 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란 무엇인가?
MCP (Model Context Protocol)는 AI 에이전트가 외부 도구 및 영구 저장소에 액세스할 수 있도록 하는 프로토콜입니다. The Agency는 MCP를 사용하여 다음을 가능하게 합니다:
- 세션 간 메모리: 에이전트가 이전 세션의 결정을 기억합니다
- 에이전트 핸드오프: 한 에이전트가 다른 에이전트를 위해 컨텍스트를 남길 수 있습니다
- 실패 시 롤백: QA 실패 시 알려진 양호한 상태로 복원
메모리 패턴
MCP 메모리를 활성화하려면 이 섹션을 모든 에이전트에 추가하세요:
## Memory Integration
When you start a session:
- Recall relevant context from previous sessions using your role and project as search terms
- Review any memories tagged with your agent name
When you make key decisions or complete deliverables:
- Remember the decision with descriptive tags (agent name, project, topic)
- Include enough context that a future session can understand what was done and why
When handing off to another agent:
- Remember your deliverables tagged for the receiving agent
- Include: what you completed, what's pending, what the next agent needs to know
MCP 도구
이러한 도구를 노출하는 모든 MCP 서버가 작동합니다:
| 도구 | 목적 |
|---|---|
remember |
결정, 결과물, 컨텍스트를 태그와 함께 저장 |
recall |
키워드, 태그 또는 의미론적 유사성으로 기억 검색 |
rollback |
무언가 실패할 때 이전 상태로 복원 |
search |
세션 및 에이전트 전반에서 특정 기억 찾기 |
예시: 메모리 기반 워크플로우
MCP 메모리 없이:
사용자: "API를 구축해줘"
에이전트: [API 구축, 세션 종료]
[다음 세션]
사용자: "어제 하던 것부터 계속해줘"
에이전트: "이전 세션의 컨텍스트가 없습니다. 우리가 무엇을 했는지 붙여넣어 주시겠어요?"
MCP 메모리 사용 시:
사용자: "API를 구축해줘"
에이전트: [API 구축, 기억: "백엔드 아키텍트 - 전자상거래 API - 사용자 테이블, JWT 인증, 속도 제한"]
[다음 세션]
사용자: "어제 하던 것부터 계속해줘"
에이전트: [회상: "어제 UUID 기본 키를 사용하여 사용자 테이블을 설계하고, bcrypt 해싱을 통해 JWT 인증을 구현했으며, 15분당 100개의 요청으로 속도 제한을 추가했습니다. 다음 단계: 주문 서비스 스키마."]
전체 예시는 integrations/mcp-memory/backend-architect-with-memory.md를 참조하세요.
주목할 만한 에이전트: 세 가지 심층 분석
1. 현실 검증자 (테스트 부서)
현실 검증자는 비현실적인 승인을 중단시킵니다. 기본 태도: 달리 입증되기 전까지는 "작업 필요".
## 🚨 Your Mandatory Process
### STEP 1: Reality Check Commands (NEVER SKIP)
```bash
# 실제로 구축된 것 확인
ls -la resources/views/ || ls -la *.html
# 주장된 기능 교차 확인
grep -r "luxury\|premium\|glass\|morphism" . --include="*.html" --include="*.css" || echo "프리미엄 기능 없음"
# 전문 Playwright 스크린샷 캡처 실행
./qa-playwright-capture.sh http://localhost:8000 public/qa-screenshots
2단계: QA 교차 검증
- 헤드리스 Chrome 테스트에서 QA 에이전트의 발견 사항 검토
- 자동화된 스크린샷과 QA의 평가 교차 참조
- 추가 증거로 QA의 평가 확인 또는 이의 제기
3단계: 종단간 검증
- responsive-desktop.png, responsive-tablet.png, responsive-mobile.png 분석
- 상호작용 흐름 확인: nav--click.png, form-.png 시퀀스
- 실제 성능 데이터 (로드 시간, 오류, 지표) 검토
이 에이전트는 어떤 것을 승인하기 전에 **시각적 증거**를 요구합니다. 증거 없는 "멋져요!"는 더 이상 없습니다.
---
### 2. 위트 주입자 (디자인 부서)
위트 주입자는 사용성을 희생하지 않으면서 개성을 더합니다.
```css
/* 즐거운 버튼 상호작용 */
.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 빌더 (전문 부서)
MCP 빌더는 AI 에이전트 기능을 확장하는 사용자 지정 도구를 만듭니다.
// 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);
핵심 규칙:
- 설명적인 도구 이름:
query1이 아닌search_users— 에이전트가 이름으로 도구를 선택합니다 - Zod를 사용한 타입 매개변수: 모든 입력 유효성 검사, 선택적 매개변수에는 기본값이 있습니다
- 구조화된 출력: 데이터는 JSON으로, 사람이 읽을 수 있는 콘텐츠는 마크다운으로 반환
- 우아한 실패: 오류 메시지를 반환하고, 서버를 절대 충돌시키지 마세요
커뮤니티 및 번역
The Agency는 Reddit 스레드에서 시작되었습니다. 현재는 다음을 포함합니다:
- 12개 부서에 걸친 147명의 에이전트
- 10,000줄 이상의 개성, 프로세스 및 코드 예제
- 커뮤니티 번역: 중국어 간체 (두 개의 독립적인 포크), 더 많은 번역이 진행 중
- 다중 도구 지원: 변환 스크립트를 통해 유지보수되는 10개 이상의 통합
주목할 만한 포크:
@jnMetaCode의agency-agents-zh: 100개의 번역된 에이전트 + 9개의 중국 시장 오리지널@dsclca12의agent-teams: Bilibili, WeChat, 샤오홍슈 현지화를 포함한 독립 번역
설치: 빠른 시작
옵션 1: Claude Code (권장)
# 에이전트를 Claude Code 디렉토리로 복사합니다
cp -r agency-agents/* ~/.claude/agents/
# 모든 세션에서 활성화:
"Hey Claude, activate Frontend Developer mode and help me build a React component"
옵션 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에서 에이전트들을 탐색하고 필요한 것을 적용하세요. 각 파일에는 정체성, 워크플로우, 결과물 및 코드 예제가 포함되어 있습니다.
이것이 다른 점은 무엇인가?
vs. 일반적인 AI 프롬프트
| 일반적인 프롬프트 | The Agency |
|---|---|
| “개발자처럼 행동하세요” | “프런트엔드 개발자 모드를 활성화하세요” |
| 모호하고, 모든 경우에 적용 | 도메인별 심층 전문화 |
| 결과물 구조 없음 | 완전한 코드 예제, 워크플로우 |
| 성공 지표 없음 | 측정 가능한 결과물 정의 |
vs. 프롬프트 라이브러리
| 프롬프트 라이브러리 | The Agency |
|---|---|
| 일회성 프롬프트 컬렉션 | 포괄적인 에이전트 시스템 |
| 정적 텍스트 | 개성 + 워크플로우 + 메모리 |
| 통합 없음 | 10개 이상의 도구 통합 |
vs. AI 도구
| AI 도구 | The Agency |
|---|---|
| 블랙박스, 맞춤 설정 불가 | 투명하고, 포크 가능하며, 적응 가능 |
| 벤더 종속 | MIT 라이선스, 커뮤니티 유지보수 |
| 단일 모델 | MCP를 통해 모든 LLM과 작동 |
기술적 시사점
- 전문화가 일반화보다 우수: 147명의 전문가는 하나의 "모든 것을 하는" 프롬프트보다 뛰어납니다
- 구조가 결과물을 이끈다: 프론트매터 + 정체성 + 임무 + 규칙 + 결과물 + 지표
- 통합이 중요하다: Bash 스크립트는 에이전트를 10개 이상의 형식으로 자동 변환합니다
- 메모리가 연속성을 가능하게 한다: MCP 프로토콜은 "어제를 기억하지 못하는" 문제를 해결합니다
- 커뮤니티 확장: Reddit 스레드 → 147개 에이전트 → 번역 → 다중 도구 지원
다음 단계
The Agency를 사용해보고 싶으신가요?
- 전체 에이전트 명단을 찾아보세요
- 선호하는 도구 (Claude Code, Cursor, Aider 등)에 설치하세요
- 이름으로 전문가를 활성화하세요: "현실 검증자를 사용하여 이것이 프로덕션 준비가 되었는지 확인하세요"
- 기여: 새로운 에이전트 추가, 기존 에이전트 개선, 성공 사례 공유
직접 AI 에이전트를 구축하시나요? 에이전트 해부를 연구하세요: 검색을 위한 프론트매터, 페르소나를 위한 정체성, 범위를 위한 임무, 제약을 위한 규칙, 출력을 위한 결과물, 책임감을 위한 지표를요.
The Agency는 전문화가 인간만을 위한 것이 아님을 증명합니다. 때로는 최고의 AI 팀은 모든 것을 시도하는 하나의 모델이 아니라, 각자 무엇을 해야 하는지 정확히 아는 147명의 전문가일 수 있습니다.
