How Fanatics Betting and Gaming built a multi-agent customer support system
Quick Summary
Fanatics Betting and Gaming은 관할 지역별 규정과 실시간 문의 급증에 대응하기 위해 전문 에이전트, 맞춤형 검색, 책임 있는 게임 분류, 인간 상담원 이관을 결합한 다중 에이전트 고객지원 시스템을 구축했다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
Fanatics Betting and Gaming은 관할 지역별 규정과 실시간 문의 급증에 대응하기 위해 전문 에이전트, 맞춤형 검색, 책임 있는 게임 분류, 인간 상담원 이관을 결합한 다중 에이전트 고객지원 시스템을 구축했다.
📌 핵심 요약
- FBG는 미국 주마다 결제 수단, 입금 한도, 출금 기간, 책임 있는 게임 요건이 다른 환경에서 계정·거래·베팅 규칙 관련 문의를 빠르고 정확하게 처리해야 했다.
- 주요 스포츠 경기 중에는 2분마다 40건을 넘는 문의가 발생할 수 있어, 기존 의사결정 트리형 챗봇과 사람 중심 지원 모델로는 품질과 비용을 함께 관리하기 어려웠다.
- 시스템은 감독 에이전트가 고객 의도를 판단한 뒤 RAG, 계정·거래 MCP 도구, 인간 상담원 이관 도구를 선택적으로 호출하고 하나의 자연어 답변으로 통합하는 구조다.
- 맞춤형 RAG 파이프라인은 문서를 토큰 단위로 분할해 벡터화하고, 관할 지역 관련 질문에는 주별 자료와 일반 자료를 함께 검색해 답변 정확도를 높인다.
- 모든 메시지는 프롬프트 주입 탐지와 책임 있는 게임 분류를 거치며, 심각도가 높은 우려는 전체 대화 맥락과 함께 즉시 인간 상담원에게 전달된다.
🧩 주요 포인트
- 지역별 규정 차이와 실시간 트래픽 급증 → 단일 지식 기반이 아니라 관할 정보 검색, 고객 데이터 조회, 안전 분류를 분리해 조합해야 하는 지원 구조가 필요했다.
- 에이전트와 도구를 독립적인 서비스로 구성 → 새로운 사례 유형이나 사업 영역을 추가할 때 핵심 시스템 전체를 다시 작성하지 않고 개별 구성요소만 확장·개선할 수 있게 됐다.
- 명확한 분류에는 작고 빠른 모델을 배치하고 복잡한 판단은 감독 에이전트와 인간에게 맡김 → 정확도 요구를 유지하면서 지연 시간, 운영 비용, 규제 대응을 함께 관리하는 역할 분담이 형성됐다.
🧠 상세 정리
1. 고객지원 시스템을 재설계한 배경
Fanatics Betting and Gaming은 여러 미국 주에서 스포츠 베팅 서비스를 운영하며, NFL 플레이오프나 슈퍼볼처럼 이용량이 집중되는 시기에도 24시간 고객지원을 제공해야 했다. 고객은 계정 문제, 입금 한도, 출금 처리 기간, 거래 내역, 베팅 규칙, 책임 있는 게임 자원처럼 서로 성격이 다른 질문에 즉각적이고 정확한 답을 기대했다. 그러나 의사결정 트리를 기반으로 한 전통적인 챗봇은 복잡한 맥락과 관할 지역별 차이를 충분히 반영하지 못해 고객 불만과 인간 상담 대기열 증가로 이어질 수 있었다. 사용자 기반과 문의량이 빠르게 늘면서 고객 한 명의 문제를 해결하는 데 필요한 인간 개입 횟수도 증가했고, 운영비는 고객 규모에 비례해 커졌다. FBG는 단순히 지원 인력을 늘리기보다 더 빠르고 정확하게 문제를 해결하면서 다음 성장 단계까지 감당할 수 있는 자동화 구조가 필요하다고 판단했다.
2. 주별 규정과 실시간 문의가 만든 복잡성
미국에서는 주마다 허용되는 결제 수단, 입금 한도, 출금 소요 시간, 책임 있는 게임 의무가 달라 동일한 질문에도 고객의 관할 지역에 따라 답이 달라진다. 예를 들어 인디애나 고객에게 적용되는 안내와 뉴저지 고객에게 제공해야 하는 안내가 같지 않으므로, 일반적인 FAQ만 검색해서는 정확성을 보장하기 어렵다. 주요 경기 중에는 지원 요청이 2분마다 40건을 넘을 수 있어 시스템이 즉시 확장되면서도 응답 품질을 유지해야 했다. 문의 범위 역시 거래 기록과 계정 설정부터 베팅 규칙, 자기 배제 선택지까지 넓어 하나의 모델이나 지식 기반만으로 모두 처리하기 어려웠다. 여기에 문제성 도박의 징후를 실시간으로 식별해야 하는 규제상 요구가 더해졌으며, 이는 단순한 키워드 일치가 아니라 대화 전체의 흐름과 심각도를 해석하는 기능을 요구했다.
3. 전문화된 에이전트와 감독 에이전트 구조
FBG는 모든 기능을 하나의 거대한 챗봇에 넣는 대신, 고객 상호작용의 서로 다른 부분을 전문 에이전트와 도구가 담당하는 다중 에이전트 구조를 선택했다. 중심에는 고객의 메시지를 받고 의도를 판단한 뒤 필요한 구성요소를 호출하며, 결과를 하나의 답변으로 통합하는 감독 에이전트가 있다. 각 에이전트에는 명확한 책임이 부여되어 있어 특정 기능의 정확도나 동작을 다른 구성요소와 독립적으로 개선할 수 있다. 새로운 도구, 지식 영역, 업무 사례, 사업 부문이 필요해지면 핵심 시스템을 다시 작성하기보다 해당 에이전트나 도구를 추가하는 방식으로 확장한다. FBG는 기존에 축적한 컨테이너 운영 경험을 활용해 각 서비스를 독립적으로 배포하고 확장하며 반복적으로 개선할 수 있도록 구성했다.
4. 고객 메시지가 처리되는 전체 흐름
고객이 FBG 모바일 앱에서 메시지를 보내면 채팅 인터페이스 계층인 Salesforce Einstein을 거쳐 Amazon EKS에서 실행되는 Spring AI 서비스로 표준 REST 요청이 전달된다. Spring AI 서비스는 고객 토큰을 검증한 뒤 AI 에이전트를 호출하며, 요청은 AI 계층에 도달하기 전에 Amazon Bedrock Guardrails를 통과해 프롬프트 주입 가능성을 점검받는다. 이어 Amazon Nova 2 Lite 기반 책임 있는 게임 분류 에이전트가 규정 준수 부서의 승인을 받은 분류 체계에 따라 모든 메시지를 평가한다. 심각도가 높은 분류 결과가 나오면 일반적인 자동 응답 절차보다 인간 상담원 이관이 우선되며, 상담원이 상황을 이어서 판단할 수 있도록 전체 대화 맥락도 함께 전달된다. 즉시 이관 대상이 아닌 요청은 감독 에이전트로 이동하고, 감독 에이전트가 고객 의도에 맞는 도구를 골라 호출한 후 통합된 자연어 응답을 반환한다.
5. 감독 에이전트가 사용하는 전문 도구
Anthropic Claude를 사용하는 감독 에이전트는 문의 내용에 따라 하나 이상의 전문 도구를 선택하며, 일부 도구는 MCP를 통해 연결되고 일부는 Spring AI 서비스 내부에서 실행된다. RAG 도구는 FAQ 형태의 질문에 필요한 문서를 벡터 저장소에서 찾아 감독 에이전트에 제공한다. 계정 도구는 내부 계정 서비스에 접근해 고객별 정보를 조회하고, 거래 도구는 최근 입금·출금·베팅 활동을 포함한 거래 내역을 가져온다. 고객이 직접 인간 상담원을 요구하거나 자동화만으로 판단하기 어려운 상황에서는 상담원 이관 도구가 사용된다. 감독 에이전트는 각각의 도구가 반환한 정보를 단순히 나열하는 대신 고객 질문에 맞는 하나의 자연어 답변으로 종합하며, 이 구조를 통해 일반 지식과 고객별 데이터를 함께 활용할 수 있다.
6. Amazon EKS, Spring AI와 MCP의 역할
FBG는 MCP 서버와 Spring AI 서비스를 포함한 AI 스택을 Amazon EKS의 쿠버네티스 서비스로 운영한다. MCP 서버는 계정 서비스와 거래 내역 서비스 같은 외부 시스템에 REST 요청을 보내는 도구를 노출하고, RAG 및 인간 상담원 이관 같은 로컬 도구는 Spring AI 서비스 안에 배치된다. 두 서비스는 수요에 따라 서로 독립적으로 확장할 수 있으며, 새로운 업무 영역을 지원할 때 별도의 MCP 서버를 하나의 쿠버네티스 배포 단위로 추가할 수도 있다. 기존 MCP 서버에 도구를 추가하는 경우에는 새로운 파드 배포 없이 기능을 확장할 수 있고, 개별 도구를 수정할 때 전체 시스템을 다시 배포하지 않아도 된다. 개발팀은 기존의 자바 전문성을 활용하기 위해 네이티브 MCP 지원을 제공하는 Spring AI를 선택했으며, 감독 에이전트는 MCP 서버가 정의한 도구를 동적으로 발견하고 호출한다.
7. 관할 지역 정보를 결합하는 맞춤형 RAG
가장 자주 사용되는 구성요소는 FBG가 수집, 분할, 검색 과정을 직접 제어하기 위해 구축한 맞춤형 RAG 파이프라인이다. 주별 결제 수단 안내, FAQ 문서, 책임 있는 게임 자료, 계정 관리 지침 등 여러 상위 출처에서 지원 문서를 수집한 뒤, 문장이나 문단이 아니라 고정된 토큰 수를 기준으로 세밀하게 분할한다. 각 청크는 Amazon Titan V2로 임베딩되어 벡터 표현으로 변환되고 MongoDB Atlas에 저장된다. 고객 질문이 들어오면 LLM이 이를 벡터 검색에 적합한 형태로 변환하고, 문서 저장소에서 의미적 유사도 검색을 수행한다. 관할 지역과 관련된 질문에는 주별 검색과 일반 검색을 모두 실행해 결과를 결합한 다음 감독 에이전트에 전달하며, 대화 분석으로 발견된 지식 공백을 보완하기 위해 매달 수백 개의 새 문서가 추가되고 있다.
8. 책임 있는 게임 분류와 인간 개입 기준
FBG는 책임 있는 게임을 규제상 의무이자 핵심 가치로 보고 규정 준수 부서와 함께 고객 상호작용 분류 체계를 설계했다. 분류에는 가볍고 빠른 Amazon Nova 2 Lite를 사용했는데, 이 작업은 명확한 예시와 제한된 결과 집합을 가진 범위가 잘 정의된 문제이기 때문이다. 더 크고 비싼 모델을 사용해도 정확도 개선 없이 지연 시간만 늘어날 수 있다는 판단에 따라 작업 난도에 맞는 작은 모델을 선택했다. 분류기는 현재 메시지만 보는 것이 아니라 전체 대화 기록도 함께 받아, 단일 키워드가 아닌 시간에 따라 심화되는 패턴을 식별한다. 심각도가 높은 우려는 전체 대화 맥락과 함께 즉시 인간 상담원에게 이관되고, 낮은 심각도의 표시는 대화를 계속 진행시키면서 규정 준수 검토를 위해 기록된다.
🧾 핵심 주장 / 시사점
- 복잡한 고객지원 자동화의 핵심은 하나의 모델에 모든 책임을 부여하는 것이 아니라, 검색·고객 데이터 조회·안전 분류·인간 이관의 경계를 명확히 나누고 감독 에이전트가 이를 조정하도록 만드는 데 있다.
- 관할 지역별 문서와 일반 문서를 동시에 검색하는 방식은 규정 차이가 큰 서비스에서 일반적인 FAQ 검색만 사용할 때 발생할 수 있는 부정확성을 줄이는 구조적 장치다.
- 책임 있는 게임 분류에 전체 대화 이력을 포함하면 단일 메시지의 키워드만으로는 포착하기 어려운 악화 패턴을 평가할 수 있고, 고위험 상황을 맥락 손실 없이 인간에게 넘길 수 있다.
✅ 액션 아이템
- Fanatics Betting and Gaming은 주별 결제 수단·입금 한도·출금 기간·책임 있는 게임 요건을 반영해 multi-agent 운영 기준을 조정한다.
- 감독 에이전트가 고객 의도를 판별한 뒤 RAG, 계정·거래 MCP 도구, 인간 상담원 이관 도구를 선택적으로 호출해 하나의 자연어 답변으로 통합한다.
- 맞춤형 RAG 파이프라인은 문서를 토큰 단위로 분할해 벡터화하고 주별 자료와 일반 자료를 함께 검색해 응답 정확도를 점검한다.
❓ 열린 질문
- 주요 스포츠 경기에서 2분마다 40건을 넘는 피크 문의를 처리할 때 기존 의사결정 트리형 챗봇 대비 지연 시간은 어떻게 유지되는가?
- 프롬프트 주입 탐지와 책임 있는 게임 분류를 거친 뒤 심각도가 높은 우려를 인간 상담원에게 즉시 전달하는 정확한 임계 기준은 무엇인가?
- 주별 규정 관련 검색에서 맞춤형 RAG 파이프라인의 토큰 단위 벡터화가 입금 한도·출금 기간 질문의 정확도에 어떤 한계를 보이는가?