Slack에서 AI 마케팅 에이전트 팀을 운영하는 방법
요약
Vercel Labs에서 공개한 'marketing team eve' 템플릿을 통해 Slack 기반의 멀티 에이전트 마케팅 팀을 구축하는 방법을 소개합니다. 팀 리드 에이전트가 사용자의 요청을 받아 5명의 전문가 에이전트에게 업무를 위임하는 아키텍처를 설명합니다.
핵심 포인트
- 단일 모델보다 전문가 팀(Specialists) 구성이 더 효과적임
- Slack을 인터페이스로 활용하여 Notion, Typefully, Resend 등과 연동
- 팀 리드가 브리핑을 작성하여 컨텍스트가 없는 전문가에게 업무를 위임하는 구조
- 컨텍스트 전송 비용을 줄이기 위해 인계(handoff)를 단일 계층으로 제한
- 브랜드 컨텍스트 문서를 공유하여 에이전트 간 일관성 유지
AI 마케팅 에이전트(AI marketing agents)는 하나의 범용 모델(generalist)보다는 전문가 팀(team of specialists)으로 작동할 때 가장 효과적입니다. marketing team eve template은 vercel-labs에서 제공하는 오픈 소스 MIT 라이선스 프로젝트로, 단 한 명의 팀 리드(team lead) 뒤에 다섯 명의 전문가 에이전트(specialist agents)를 배치합니다. Slack에서 리드에게 메시지를 보내면, 리드가 요청을 적절한 전문가에게 전달하며, 결과물은 Notion 페이지, Typefully 초안, 또는 Resend 캠페인 형태로 돌아옵니다.
이 글에서는 이 템플릿이 무엇을 하는지, 멀티 에이전트 아키텍처(multi-agent architecture)가 어떻게 작동하는지, 그리고 어떻게 직접 배포(deploy)할 수 있는지 설명합니다.
marketing team eve 템플릿이란 무엇인가요?
이것은 에이전트 프레임워크(agent framework)인 eve를 기반으로 구축되어 Vercel에 배포된 AI 에이전트 팀입니다. 이 팀은 다섯 가지 마케팅 기능을 담당합니다:
-
제품 마케터 (Product marketer): 포지셔닝(positioning), 메시징(messaging), 그리고 공유된 브랜드 컨텍스트(brand context) 문서를 관리합니다.
-
소셜 미디어 코디네이터 (Social media coordinator): Typefully를 통해 X, LinkedIn, Threads, Bluesky, Mastodon용 게시물 초안을 작성합니다.
-
SEO 전문가 (SEO specialist): 페이지를 감사(audit)하고, 사이트 구조(site architecture)를 계획하며, JSON-LD 스키마(schema)를 작성합니다.
-
이메일 전문가 (Email specialist): 편지함에 최적화된 카피(copy)를 조정하고 Resend에서 캠페인을 구축합니다.
사용자는 전문가들과 직접 대화하지 않습니다. 팀 리드가 사용자의 요청을 읽고, 필요한 모든 정보를 포함하여 한 명의 전문가에게 브리핑(brief)을 전달한 뒤, 전문가가 생성한 결과물을 다시 전달합니다.
멀티 에이전트 라우팅(multi-agent routing)은 어떻게 작동하나요?
리드는 위임(delegate)합니다. 리드는 결과물을 직접 작성하지 않습니다.
이 점이 중요한 이유는 각 전문가가 대화 기록이나 상속된 도구(tools) 또는 기술(skills)이 없는 새로운 세션(fresh session)에서 실행되기 때문입니다. 리드는 공유된 컨텍스트(shared context)에 의존할 수 없으므로, 리드의 주요 임무는 완전한 브리핑(brief)을 작성하는 것입니다. 이러한 제약 사항은 오히려 특징(feature)이 됩니다. 컨텍스트가 없는 에이전트에게도 유효한 브리핑은 인간 계약자(human contractor)도 작업할 수 있는 브리핑이 됩니다.
이 팀은 설계 단계부터 단일 계층(one level deep)으로 구성됩니다. 전문가(Specialists)들은 작업을 하위-하위 에이전트(sub-subagents)에게 넘기는 대신, 웹 검색을 통해 스스로 증거를 찾고 작성된 루브릭(rubric)에 따라 직접 초안을 수정합니다. 모든 인계(handoff)는 전체 컨텍스트 전송(context transfer) 비용을 발생시키므로, 템플릿은 인계를 단 한 번으로 제한합니다.
무엇이 공유된 컨텍스트를 일관되게 유지하나요?
단 하나의 문서입니다. 프로덕트 마케터(product marketer)가 브랜드 컨텍스트(brand context) 문서를 작성하면, 다른 모든 전문가는 매 작업 시작 시 이 문서를 읽습니다. 의존성은 단방향으로 흐르며, 단 한 명의 전문가가 해당 문서를 소유합니다. 따라서 팀의 결과물이 메시지에서 벗어날 경우, 수정해야 할 곳은 정확히 한 군데뿐입니다.
에이전트가 게시하는 내용을 사람이 승인하나요?
네. 되돌릴 수 없는 모든 작업은 Slack의 버튼이나 터미널 UI(terminal UI)로 구현된 승인(approve) 또는 거절(deny) 결정 단계에서 일시 중지됩니다. 여기에는 다음 사항이 포함됩니다:
- 모든 Resend 이메일, 브로드캐스트(broadcast) 또는 배치(batch) 전송
- Typefully 초안 게시
- 초안, 연락처, 세그먼트(segments) 또는 페이지 삭제
- Notion 내 페이지 이동
초안 작성(Drafting)은 검문(gates) 없이 진행되는데, 이는 초안은 버려질 수 있기 때문입니다. 하지만 전송(Sending)은 그럴 수 없습니다.
이메일 에이전트는 한 단계 더 나아갑니다. 이 에이전트의 Resend 연결은 허용 목록(allow list)을 사용하여 사용 가능한 도구 약 85개를 47개로 줄입니다. 따라서 API 키 생성이나 도메인 변경과 같은 계정 관리 작업은 승인 여부와 관계없이 절대 접근할 수 없습니다. 전송 또한 사용자별로 귀속됩니다. 캠페인을 승인한 사람이 Resend에 발신자로 기록되는 사람입니다.
에이전트가 검증할 수 없는 것은 무엇인가요?
두 명의 전문가는 추측하는 대신 확인할 수 없는 내용을 말하도록 설계되었습니다. SEO 에이전트는 크롤러(crawler), 순위 추적기(rank tracker) 또는 Search Console 접근 권한이 없으므로, 감사 체크리스트(audit checklist)의 모든 항목을 '가져오기(fetch)를 통해 검증 가능' 또는 '전혀 검증 불가능'으로 표시합니다. 이메일 에이전트는 편지함 배치(inbox placement)나 도메인 평판(domain reputation)을 볼 수 없으며, 전달 가능성(deliverability) 체크리스트도 동일하게 작동합니다.
데이터가 없는 상황에서 AI 에이전트가 자신 있게 오답을 만들어내는 것을 본 적이 있다면, 왜 이것이 이 템플릿에서 가장 유용한 패턴인지 이해할 것입니다.
기술 스택(tech stack)은 무엇인가요?
- 에이전트 프레임워크 (Agent framework): eve
- 언어 (Language): Node 24 기반의 TypeScript (strict, ESM)
- 채팅 인터페이스 (Chat surfaces): Vercel Connect를 통한 Slack, eve dev TUI, 또는 자체 프런트엔드
- 장문 출력 (Long-form output): Notion
- 소셜 게시 (Social publishing): Typefully
- 이메일 (Email): Resend
- 공유 상태 (Shared state): Vercel Blob
- 모델 액세스 (Model access): Vercel AI Gateway
전체 프로젝트에는 단 하나의 정적 자격 증명(Typefully API 키)만 존재합니다. Notion, Resend, Slack은 모두 Vercel Connect를 통해 인증되므로, 토큰 대신 커넥터 ID (connector IDs)를 관리하면 됩니다.
어떻게 배포하나요?
리포지토리(repo)의 배포(Deploy) 버튼을 누르면 Notion, Resend, Slack 커넥터와 Blob 저장소가 프로비저닝되며, Typefully 키 입력을 요청합니다. 한 가지 수동 단계가 남아 있습니다. Resend 대시보드에서 발신 도메인(sending domain)을 확인해야 합니다. 에이전트가 사용자의 인증된 도메인 중에서 선택할 수는 있지만, 도메인을 생성하거나 사용자를 대신해 DNS를 편집할 수는 없기 때문입니다.
로컬 개발의 경우:
vercel link
vercel env pull
pnpm dev
그 다음 dev TUI에서 리드(lead) 에이전트와 대화하세요. 승인 게이트(Approval gates)도 그곳에 표시되므로, 메시지가 실제로 발송되기 전에 전송을 중단할 수 있는지 확인할 수 있습니다.
Claude Code나 Cursor를 사용한다면, README에 코딩 에이전트가 전체 설정을 완료할 수 있도록 안내하는 프롬프트가 포함되어 있습니다.
팀을 어떻게 커스텀하나요?
전문가(specialist)를 추가한다는 것은 agent/subagents/ 아래에 디렉토리를 추가하는 것을 의미합니다. 별도의 레지스트리(registry) 파일은 없습니다. 도구의 이름이 곧 파일명이 되며, eve는 빌드 타임(build time)에 모든 것을 발견합니다. 각 전문가의 기술은 instructions.md와 필요할 때 로드되는 일련의 스킬(skills)에 담겨 있습니다. 따라서 콘텐츠 마케터의 블로그 포스트 작성 방식을 변경하려면 파이프라인을 재배포하는 것이 아니라 마크다운(markdown) 파일을 편집하기만 하면 됩니다.
전문가가 반드시 리포지토리에 존재해야 하는 것도 아닙니다. eve의 원격 에이전트(remote agents)를 사용하면 리드가 자신의 배포 환경에 있는 에이전트에게 업무를 위임할 수 있습니다. 이때 배포 환경 간의 인증(deployment-to-deployment auth)은 공유 비밀키(shared secret) 대신 OIDC를 통해 처리됩니다:
// agent/subagents/paid_ads.ts
import { defineRemoteAgent } from "eve";
import { vercelOidc } from "eve/agents/auth";
...
리드(Lead)는 로컬 전문가를 선택하는 것과 동일한 방식으로 description을 통해 원격 전문가(remote specialist)를 가져옵니다.
승인 게이트(approval gates), 금지어 목록(banned word lists), 그리고 이메일 에이전트의 도구 허용 목록(tool allow list)은 모두 CUSTOMIZING.md에 문서화되어 있으며, 저장소(repo) 내의 일반적인 설정값입니다.
시작하는 방법
이 템플릿은 MIT 라이선스 하에 오픈 소스로 제공됩니다:
Repo: github.com/vercel-labs/marketing-team-eve-template
Guide: Run a marketing team from Slack with eve
Framework docs: eve.dev/docs
이것으로 마케팅 콘텐츠를 한 번도 발행하지 않더라도, 그 패턴만으로도 읽어볼 가치가 있습니다: 직접 쓰는 대신 브리핑(briefs)을 수행하는 리드, 공유 상태(shared state)로서의 단일 문서, 되돌릴 수 없는 모든 작업에 대한 승인 게이트(approval gates), 그리고 검증할 수 없는 사항을 보고하는 에이전트들입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기