왜 멀티 에이전트 아키텍처인가?
기존의 모놀리식 서비스나 규칙 엔진으로는 해결하기 어려운 문제가 있습니다. 바로 '조합적 복잡성(Combinatorial Complexity)'이죠. 광고 캠페인 기획은 목표 정의, 타겟팅, 예산 배분, 스케줄링 등 수많은 변수가 얽혀 있는 다단계 의사결정 과정입니다. 각 단계는 서로 의존적이며, 채널(디렉트, 셀프서브)과 플랫폼(웹, 모바일, 내부 툴)마다 미묘하게 다른 규칙이 적용됩니다.
이런 환경에서 단일 AI 모델에 모든 로직을 때려박는 건 유지보수와 확장성의 악몽입니다. 대신, 각자의 전문성을 가진 에이전트들이 협업하는 '에이전트 기반 접근법(Agentic Approach)'은 복잡한 문제를 모듈화하고, 병렬 실행을 가능하게 하며, 궁극적으로 일관된 의사결정을 모든 채널에 투영할 수 있는 해법을 제시합니다. 이 글은 실제 서비스에 적용된 멀티 에이전트 시스템의 설계 철학과 구현 세부사항을 다룹니다. 자세한 근거자료는 스포티파이 엔지니어링 블로그에서 확인할 수 있어요.

핵심 설계: 에이전트의 역할과 경계 짓기
에이전트 아키텍처의 성패는 에이전트 간의 '경계(Boundary)'를 어떻게 설정하느냐에 달려 있습니다. 너무 세분화하면 오케스트레이션 오버헤드가 커지고, 너무 적으면 모놀리스가 되어버리죠. 실무에서 적용한 핵심 원칙은 '한 에이전트, 한 가지 명확한 책임' 이었습니다.
에이전트 분해 구조
- RouterAgent (트래픽 컨트롤러): 사용자의 자연어 입력을 분석해, 어떤 정보가 포함되어 있는지 빠르게 판단합니다. '예산'과 '기간'만 언급됐다면, 목표나 타겟팅 관련 에이전트는 호출하지 않아 불필요한 LLM 호출과 비용을 절감합니다.
- 전문 해결 에이전트들:
GoalResolverAgent: '브랜드 인지도 높이기' 같은 막연한 의도를REACH,CLICKS같은 정량화된 캠페인 목표로 매핑합니다.AudienceResolverAgent: '20대 음악 애호가'를 인구통계학적 정보와 관심사 택소노미로 변환합니다.BudgetAgent: '$5k', '€10,000' 등 다양한 형식의 예산을 시스템 내부 단위로 정규화합니다.ScheduleAgent: '다음 달', '30일 동안' 같은 상대적 날짜 표현을 구체적인 날짜 범위로 파싱합니다.
- MediaPlannerAgent (최적화 엔진): 모든 해결된 정보를 종합하는 핵심 에이전트입니다. 휴리스틱 기반 최적화 엔진과 수천 개의 과거 캠페인 성과 데이터를 활용해 최적의 광고 세트를 추천합니다.

실무 적용의 핵심: 도구(Tool)와 프롬프트 엔지니어링
에이전트가 현실 세계의 데이터에 기반해 결정을 내리도록 하는 것이 가장 중요했습니다. 이를 위해 Google ADK의 FunctionTool을 활용해 기존 광고 서비스와 데이터베이스를 '도구'로 제공했습니다.
도구 기반 접근법의 장점
- 환각(Hallucination) 방지: 에이전트가 실제 데이터(지리적 타겟 목록, 광고 카테고리, 과거 성과)에 접근해 추천을 생성합니다.
- 기존 시스템 통합: 새로운 백엔드를 구축하는 대신, 이미 검증된 API를 도구로 활용해 빠른 구현과 안정성을 확보했습니다.
프롬프트를 코드처럼 관리하기
프롬프트 엔지니어링은 소프트웨어 엔지니어링의 일부가 되었습니다. 작은 단어 변경이 출력 일관성에 큰 영향을 미칠 수 있어요. 우리가 배운 교훈은:
- 출력 형식을 명시적으로 지정: 에이전트가 JSON, 특정 템플릿 등 정해진 형식으로만 응답하도록 강제합니다.
- 구체적인 예제 제공: 프롬프트 내에 '좋은 응답'과 '나쁜 응답'의 예시를 포함시켜 모델의 이해를 돕습니다.
- 다중 방어 레이어 구축: 프롬프트에서 가이드하는 것뿐만 아니라, 출력 파싱 단계에서도 유효성 검증과 폴백 로직을 구현합니다.

결론: 에이전트 아키텍처가 가져온 변화
이 멀티 에이전트 시스템을 통해 미디어 플랜 생성 시간을 15-30분에서 5-10초로 단축하고, 사용자 입력 필드를 20개 이상에서 1-3개의 자연어 메시지로 줄일 수 있었습니다. 더 중요한 것은 데이터 기반 의사결정 문화가 정착되었다는 점이에요. 이제 모든 추천은 인간의 직관이 아닌, 수천 개의 역사적 성과 데이터에 기반합니다.
이 접근법의 진정한 가치는 '복잡성의 중앙화'에 있습니다. 새로운 최적화 로직이나 비즈니스 규칙이 생겼을 때, 여러 채널의 워크플로우를 하나하나 수정하는 대신, 중앙의 에이전트 플랫폼만 업데이트하면 모든 채널에 일관되게 적용됩니다. 이는 기술 부채를 줄이고, 제품 진화 속도를 높이는 지속 가능한 아키텍처의 핵심입니다. 앞으로 스트리밍 응답, 다중 턴 정교화, A/B 테스트 통합 등으로 시스템을 더욱 진화시킬 계획입니다.