마케팅 에이전트 아키텍처
마케팅 SaaS와 AI 에이전트의 차이를 비교하고 캠페인·콘텐츠·CRM을 오케스트레이션하는 에이전트 아키텍처를 설계합니다.
핵심 요약
- SaaS를 통째로 대체하기보다 SaaS 데이터를 에이전트가 읽고 분석하는 하이브리드 모델이 현실적이며, 국내는 네이버·카카오 MCP 서버를 함께 붙입니다.
- 오케스트레이션은 직렬(데이터 의존성 명확)·병렬 fan-out/fan-in(실행 시간 단축)·루프 반복(광고 카피 품질 향상) 3가지 패턴을 작업 특성에 맞춰 선택합니다.
- MCP로 GA4·Search Console·Social·CRM·Ad Platform에 표준 인터페이스로 접근하며, 패키지명은 MCP 레지스트리에서 정확한 이름·버전·라이선스를 검증합니다.
- 자동화 수준을 Level 0~3으로 나눠 분석·추천은 에이전트가 하되 최종 의사결정은 사람이 하고, 프롬프트는 Git으로 버전 관리하며 변경 시 A/B 테스트로 비교합니다.
- 실패 처리는 4단계 폴백·지수 백오프(1→2→4→8초, 최대 3~5회)·사람 에스컬레이션·비용 서킷 브레이커(단일 50,000토큰, 시간당
$5, 일일$50, 월 예산 80%)로 설계합니다.
왜 에이전트인가 — SaaS vs 에이전트
기존 마케팅 SaaS(HubSpot, Mailchimp, SEMrush 등)는 도구마다 따로 돌아가는 워크플로우를 제공합니다. AI 에이전트는 이 워크플로우를 하나의 오케스트레이션 레이어로 묶어 의사결정 속도를 높입니다.
| 기준 | SaaS 도구 | AI 에이전트 |
|---|---|---|
| 데이터 흐름 | 도구 간 수동 연동 (Zapier 등) | 에이전트가 직접 API 호출·파싱 |
| 의사결정 | 대시보드 확인 → 사람이 판단 | 에이전트가 분석 → 추천 → 사람이 승인 |
| 확장성 | 기능별 구독료 누적 | 프롬프트 + 도구 정의로 확장 |
| 커스터마이징 | 설정 범위 내 제한적 | 프롬프트 수정으로 무한 커스텀 |
| 학습 곡선 | 도구별 UI 학습 필요 | 자연어 인터페이스 |
하이브리드 접근
SaaS를 통째로 갈아치우기보다, SaaS 데이터를 에이전트가 읽고 분석하는 하이브리드 모델이 현실적입니다. 예: Google Analytics 데이터 → 에이전트 분석 → Slack 리포트 자동 발송
🇰🇷 한국 시장
국내에서는 네이버 검색광고, 카카오모먼트, 당근마켓 광고 같은 로컬 플랫폼 연동이 중요합니다. 글로벌 SaaS(HubSpot, SEMrush 등)에 더해 네이버 검색 API, 카카오 비즈니스 API 같은 한국 플랫폼 MCP 서버를 함께 붙이면 국내 시장을 더 정확하게 분석할 수 있습니다.
마케팅 오케스트레이터 패턴
마케팅 에이전트 시스템은 오케스트레이터 하나가 하위 에이전트들을 조율하는 구조입니다.
오케스트레이션 패턴 3가지
1. 직렬 패턴 (Sequential)
시장 분석 → 퍼소나 생성 → 키워드 리서치 → 콘텐츠 초안앞 단계의 출력이 다음 단계의 입력이 되는 순차 파이프라인입니다. 장점: 데이터 의존성이 명확할 때 안정적. 단점: 전체 실행 시간이 길어짐.
2. 병렬 패턴 (Fan-out / Fan-in)
오케스트레이터 → [경쟁사 분석 | 키워드 분석 | 소셜 리스닝] → 통합 리포트독립적인 분석 작업을 동시에 실행하고 결과를 합칩니다. 장점: 실행 시간 단축. 단점: 결과 통합 로직이 복잡할 수 있음.
3. 루프 패턴 (Iterative Refinement)
초안 생성 → 평가 → 수정 → 평가 → ... → 최종 승인품질 기준을 충족할 때까지 반복합니다. 광고 카피, 이메일 제목 등에 적합합니다. 장점: 결과물 품질이 높음. 단점: 토큰 소비가 많아질 수 있음.
MCP 서버 연동 아키텍처
Model Context Protocol(MCP)을 쓰면 에이전트가 외부 데이터 소스에 표준화된 인터페이스로 접근할 수 있습니다.
MCP 서버 구성 예시
{
"mcpServers": {
"google-analytics": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-ga4"],
"env": {
"GA4_PROPERTY_ID": "properties/123456789",
"GOOGLE_APPLICATION_CREDENTIALS": "./credentials.json"
}
},
"search-console": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-search-console"],
"env": {
"SITE_URL": "https://example.com"
}
}
}
}⚖️ 법률·컴플라이언스
위 JSON에 등장하는 @anthropic/mcp-ga4, @anthropic/mcp-search-console 등의 패키지명은 설명을
위한 예시입니다. 실제 구현 시에는 MCP
레지스트리(https://github.com/modelcontextprotocol/servers)에서 공식·커뮤니티 서버 목록을
확인하고, 쓰려는 패키지의 정확한 이름·버전·라이선스를 검증하세요.
에이전트 도구 정의 패턴
하위 에이전트마다 자신만의 도구(Tool) 세트를 둡니다.
// marketing-orchestrator 도구 예시
const tools = [
{
name: 'analyze_market',
description: '시장 규모와 성장률을 분석합니다',
parameters: {
industry: 'string',
region: 'string',
timeframe: 'string',
},
},
{
name: 'generate_persona',
description: '타겟 고객 퍼소나를 생성합니다',
parameters: {
segment: 'string',
data_source: 'string',
},
},
{
name: 'audit_seo',
description: '웹사이트 SEO 감사를 실행합니다',
parameters: {
url: 'string',
depth: 'number',
},
},
]에이전트 운영 원칙
1. 사람-in-the-loop
에이전트가 분석하고 추천하되, 최종 의사결정은 사람이 합니다.
| 자동화 수준 | 설명 | 예시 |
|---|---|---|
| Level 0 | 사람이 직접 실행 | 수동 키워드 리서치 |
| Level 1 | 에이전트가 초안 → 사람이 검토 | 블로그 초안 생성 |
| Level 2 | 에이전트가 실행 → 사람이 승인 | 이메일 시퀀스 발송 |
| Level 3 | 에이전트가 자율 실행 → 사후 리포트 | A/B 테스트 자동 종료 |
2. 비용 모니터링
3. 프롬프트 버전 관리
마케팅 에이전트의 프롬프트는 코드와 똑같이 Git으로 버전 관리합니다. 프롬프트를 바꿀 때는 A/B 테스트로 성과를 비교합니다.
디렉토리 구조 예시
prompts/
├── market-analysis/
│ ├── v1.0-market-sizing.md # 초기 버전
│ ├── v1.1-market-sizing.md # 출력 형식 개선
│ └── v2.0-market-sizing.md # TAM/SAM/SOM 분리 분석 추가
├── persona/
│ ├── v1.0-persona-simulator.md
│ └── v1.1-persona-simulator.md # JTBD 컨텍스트 추가
├── content/
│ └── v1.0-blog-draft.md
└── CHANGELOG.md # 전체 변경 이력Git 기반 관리 실천 사항
- 브랜치 전략: 프롬프트 변경도 feature 브랜치에서 작업 후 PR을 통해 머지합니다.
- 변경 이력 기록:
CHANGELOG.md에 날짜, 변경 사항, 변경 사유, A/B 테스트 결과를 기록합니다. - 태그 활용: 주요 버전(성과가 검증된 프롬프트)은 Git 태그로 표시해 롤백하기 쉽게 합니다.
<!-- CHANGELOG.md 예시 -->
## 2026-03-10 — market-sizing v2.0
- 변경: TAM/SAM/SOM을 별도 단계로 분리 분석
- 사유: 단일 프롬프트에서 SOM 추정 정확도가 낮았음
- A/B 결과: 분석 정확도 +18%, 토큰 사용량 +12%4. 에이전트 실패 처리 (Error Handling)
에이전트는 외부 API 호출, 대규모 데이터 처리, 비결정적 LLM 출력 같은 이유로 실패하곤 합니다. 안정적으로 운영하려면 체계적인 실패 처리 전략이 필수입니다.
폴백 전략 (Graceful Degradation)
에이전트가 실패해도 전체 파이프라인이 멈추지 않도록 단계별 폴백을 설계합니다. 예를 들어 실시간 경쟁사 크롤링이 실패하면 최근 캐시 데이터를 쓰고, 캐시도 없으면 수동 입력을 요청하는 식입니다.
1순위: 실시간 데이터 수집 시도
2순위: 최근 캐시/스냅샷 활용 (24시간 이내)
3순위: 기본값(baseline) 사용 + 경고 플래그
4순위: 해당 단계 건너뛰기 + 사람에게 에스컬레이션재시도와 지수 백오프 (Exponential Backoff)
외부 API 호출이 실패했다고 곧바로 재시도하면 rate limit에 걸리거나 비용이 급증합니다. 지수 백오프 방식으로 재시도 간격을 점점 늘립니다(예: 1초 → 2초 → 4초 → 8초). 최대 재시도 횟수(보통 3~5회)를 정해 무한 루프를 막습니다.
사람 에스컬레이션 트리거
다음 상황에서는 에이전트가 자동으로 담당자에게 알림을 보내고 작업을 중단합니다:
- 신뢰도 미달: LLM 출력의 자체 평가 점수가 임계값(예: 60점) 미만인 경우
- 데이터 이상: 입력 데이터가 예상 범위를 크게 벗어난 경우 (예: 시장 규모가 음수)
- 반복 실패: 동일 작업이 최대 재시도 횟수를 초과한 경우
- 승인 필요: Level 2 이상의 자동화 작업에서 최종 실행 전
비용 서킷 브레이커
에이전트가 무한 루프에 빠지거나 예상치 못한 대량 호출을 하면 비용이 급증합니다. 서킷 브레이커를 걸어 일정 임계값을 넘으면 자동으로 실행을 멈춥니다.
| 임계값 유형 | 예시 설정 | 동작 |
|---|---|---|
| 단일 실행 | 토큰 50,000개 초과 | 해당 에이전트 중단 |
| 시간당 비용 | $5 초과 | 전체 오케스트레이터 일시 중지 |
| 일일 비용 | $50 초과 | 당일 자동 실행 전면 중단 |
| 월간 예산 | 설정 예산의 80% 도달 | 경고 알림 발송 |
다음 단계
에이전트 아키텍처를 설계했으니, 다음 시장 분석과 경쟁 인텔리전스 챕터에서는 첫 번째 하위 에이전트를 만들고 경쟁 인텔리전스를 자동화하는 방법을 다룹니다.