Show GN: LLM으로 월드컵 경기 시뮬레이션하기 — 다중 에이전트와 캐시 친화적 커널
2026년 6월 현재, 깃허브에 공개된 tantara/worldcup-sim은 2026 FIFA 월드컵 데이터로 LLM 시뮬레이션을 돌리는 프로젝트다. 긱뉴스 30396호에서 개발자는 12개 그룹, 48개국, 104경기, 16개 개최지 데이터를 모아 다중 에이전트 시뮬레이션을 구현했다고 밝혔다. 시뮬레이터는 오픈 라이선스로 공개돼 누구나 자기 팀 시뮬레이션을 돌려볼 수 있다. 본문에서는 에이전트 구성, 커널 설계, 브라우저 TTS, 데이터 패키지, 운영 노하우, 한계와 전망을 차례로 살펴본다.

다중 에이전트 구성
이 시뮬레이터는 세 가지 역할의 에이전트를 동시에 굴린다. 감독 에이전트는 라인업과 맞춤형 경기 전술을 짠다. 메인 에이전트는 경기 맥락을 받아 분 단위 흐름을 실시간으로 묘사한다. 심판 에이전트는 파울과 선수 교체를 운영한다. 모든 에이전트는 DeepSeek 4 Pro를 백엔드로 사용한다. DeepSeek는 컨텍스트 관리에 강점이 있어 선발·후보 선수의 세부 프로필을 한 번에 넣어도 비교적 적은 비용으로 시뮬레이션이 가능하다. 시간당 호출량 기준으로도 일반 GPT-4 클래스 대비 30~50% 비용 절감 효과가 보고되고 있다. 각 에이전트는 자신만의 시스템 프롬프트를 받아 도구 호출을 조율하고 컨텍스트 변경이 필요할 때만 새로 생성한다. 에이전트 간 컨텍스트는 append-only history로 누적되어 캐시 일관성을 유지한다. 시뮬레이션은 일반적으로 1경기에 약 90라운드 분 단위 호출을 발생시키며, 그 중 일부는 도구 호출로 묶여 한 번에 처리된다.
기술 스택
백엔드 핵심은 @worldcupsim/sim-agent 패키지다. 이 커널은 의존성을 최소화한 TypeScript 스트리밍 에이전트로, OpenAI 호환 API를 그대로 호출한다. 시스템 프롬프트 prefix를 안정적으로 유지해 prefix 캐시 히트율을 끌어올리는 게 설계의 핵심이다. 도구 등록부와 공급자 추상화로 DeepSeek뿐 아니라 다른 LLM도 그대로 끼울 수 있다. @worldcupsim/wc26-data 패키지는 팀·선수단·경기·개최지 데이터를 타입드 TypeScript 값과 raw JSON으로 동시에 export 한다. getTeam, getMatch, getTeamsByGroup 같은 lookup helper가 함께 제공돼 분석 파이프라인과 결합하기 쉽다. 데이터 갱신은 시즌 단위로 묶여 배포되며 클라이언트 워크스페이스에서 pnpm install 한 번으로 동기화된다. 시뮬레이션 결과는 archive로 저장돼 추후 분석이 가능하다. Next.js 15 App Router 위에 tRPC 라우터가 얹혀 타입 안전한 시뮬레이션 API를 노출한다. 인프라 폴더에는 로컬 환경변수 예시와 데이터베이스 부트스트랩 스크립트가 함께 제공된다.
브라우저 TTS 내레이션

시뮬레이터의 또 다른 특징은 음성 내레이션을 서버가 아닌 브라우저에서 합성한다는 점이다. Supertonic 3 모델이 ONNX Runtime Web으로 추론되며 WebGPU가 지원되지 않는 환경은 WASM으로 자동 폴백된다. 10종 음성과 31개 언어를 지원하고 모든 합성은 Web Worker 내부에서 일어난다. 첫 사용 시 모델은 Hugging Face CDN에서 스트리밍 다운로드된다. 별도 서버 inference 없이 음성 해설이 가능하다는 점에서 비용 구조가 단순해진다. 모바일 Safari에서도 폴백 경로가 안정적으로 동작하며 한국어 음성도 기본으로 포함된다. 음성 합성 대기 시간은 평균 0.3초 미만으로 응답성이 좋다. 시뮬레이션 진행 중에도 분 단위로 내레이션이 끊김 없이 재생된다.
실전 활용과 한계
깃허브 README에 따르면 이 프로젝트로 멕시코 1:0 남아공, 대한민국 2:0 체코 같은 시뮬레이션이 이미 돌려졌다. pnpm 11.2.2 워크스페이스로 구성돼 있고, pnpm dev로 localhost:3000에서 대시보드와 시뮬레이터 UI를 함께 확인할 수 있다. pnpm --filter worldcupsim check 명령으로 lint·typecheck·unit test를 한 번에 통과시킬 수 있다. 데이터베이스는 Drizzle ORM과 Postgres로 관리되며 로컬에서 start-database.sh로 기동한다. 다만 시뮬레이션 결과는 모두 AI가 생성한 픽션이며 실제 경기 결과를 예측하지 않는다. 프로젝트는 MIT 라이선스의 비공식 팬 프로젝트로 FIFA와 제휴 관계가 없다. API 키 설정, 데이터베이스 기동 등 운영 부담도 존재한다. Cloudflare OpenNext 배포를 위한 pnpm deploy 명령과 pnpm cf-typegen이 함께 제공된다. 시뮬레이션 정확도는 LLM 모델 업데이트에 따라 함께 변동될 수 있어 결과 해석에 주의가 필요하다.
결론
월드컵 데이터셋과 다중 에이전트 결합은 LLM 활용의 새로운 패턴을 보여준다. 캐시 친화적 커널 설계는 비용 절감의 핵심이다. 브라우저 TTS는 서버 추론 없이 음성 내레이션을 가능하게 한다. 2026년 6월 현재, 이 프로젝트는 시뮬레이션 엔진을 공개 형태로 학습할 수 있는 좋은 사례다. 다중 에이전트 오케스트레이션과 prefix 캐싱을 함께 다루는 참고 구현으로 가치가 높다. 향후에는 선수 부상 모델과 날씨 변수 결합으로 시뮬레이션 깊이를 더할 여지가 있다. 데이터 패키지를 외부 분석 도구와 직접 결합하는 시도도 기대된다. 시뮬레이션 결과를 정량화해 베팅 모델의 입력으로 쓰는 부속 프로젝트 가능성도 논의되고 있다. 커뮤니티가 PR 형태로 시뮬레이션 정확도를 개선할 여지도 충분하다. 월드컵 시즌이 본격화될수록 시뮬레이션 결과와 실제 경기의 비교 분석이 자연스럽게 누적될 것으로 보인다. 또 다른 측면에서, 이 프로젝트는 LLM 에이전트가 단순 Q&A를 넘어 시뮬레이션 도메인에서 사용자에게 즐거움을 줄 수 있다는 점을 잘 보여준다. 시뮬레이션 결과를 음성으로 들으며 경기를 따라가는 경험은 새로운 형태의 인터랙티브 콘텐츠가 될 수 있다. 정확도보다 재미와 몰입감에 초점을 둔 점이 실용 사례다.
'AI 뉴스' 카테고리의 다른 글
| Anthropic, Fable과 Mythos에 30일 데이터 보관 요구 — ZDR 워크스페이스 운영자를 위한 정리 (1) | 2026.06.13 |
|---|---|
| turbo-graph — turbovec에 그래프 메모리/필터 캐시를 얹은 constrained RAG 인덱스 (0) | 2026.06.13 |
| Fable 5로 루프 설계하기 — 자가 수정과 메모리로 Claude를 길들이는 법 (0) | 2026.06.12 |
| AI 시대, 취향 경제가 새로운 해자가 되는 법 — Taste is the new Moat (1) | 2026.06.12 |
| 사이버보안 연구자들이 Anthropic의 Fable 가드레일에 불만을 표하고 있음 — 키워드 기반 차단의 현주소 (0) | 2026.06.12 |