매추리
AI기반 추리 게임
- repo: Main Server | AI Server | Client
- Play
핵심 기능
- LLM 및 RAG 기반 실시간 상호작용
- 정해진 선택지 없이 플레이어가 직접 AI 용의자와 대화하며 자유롭게 사건을 추리합니다.
- RAG를 활용하여 대화의 연결성을 확보하고 유연한 상호작용을 구현했습니다.
- 모든 상호작용은 채팅 형태로 진행되며, 수집한 증거나 인물 등의 객체를 레퍼런스로 활용하는 양방향 상호작용을 지원합니다.
- Agent 기반 절차적 시나리오 자동 생성
- 매일 새로운 사건과 시나리오를 AI가 자동으로 생성합니다.
- 거대한 규모의 시나리오를 구성하기 위해 Agent와 RAG를 결합하여 절차적으로 시나리오를 생성하는 파이프라인을 구축했습니다.
- 생성된 시나리오의 적합성 테스트 및 플레이까지 자동화하여 게임성을 확보했습니다.
- LLM API 비용 및 어뷰징 제어 로직
- LLM 호출 비용 문제를 방지하기 위해 객체 상호작용 API 호출 횟수를 제한했습니다.
- IP 주소, Fingerprint, 쿠키를 복합적으로 사용하여 클라이언트를 식별하고 제한을 우회하지 못하도록 구현했습니다.
- AI 기반 디자인 자동화 및 동적 이미지 제공
- AI를 통해 게임 내 시각적 요소 및 디자인 리소스 생성을 자동화했습니다.
- image 생성 모델을 활용하여 게임 플레이에 필요한 이미지를 생성합니다.
기술 스택
- Infra: Oracle Cloud, Docker, Github Action
- Backend: Spring (Webflux, Kotlin), FastAPI, MinIO
- Frontend: React, react-game-engine
- AI: Gemini API, SBERT
- DB: PostgreSQL (+pgvector)