뱅크샐러드 샐러드게임: LLM과 DSL을 활용한 운영자 중심의 게임 규칙 커스터마이징

🤖 AI 추천

운영자의 게임 규칙 정의 및 커스터마이징 필요성을 느끼는 프로덕트 매니저, 게임 개발자, 백엔드 개발자, 그리고 LLM을 활용한 생산성 향상 방안을 모색하는 엔지니어들에게 이 콘텐츠를 추천합니다.

🔖 주요 키워드

뱅크샐러드 샐러드게임: LLM과 DSL을 활용한 운영자 중심의 게임 규칙 커스터마이징

핵심 기술: 뱅크샐러드 샐러드게임은 운영자가 코드 수정 없이 게임 규칙을 자유롭게 정의하고 변경할 수 있도록, LLM과 Domain Specific Language (DSL)를 결합한 혁신적인 시스템을 구축했습니다. 이는 게임 운영의 유연성과 개발 생산성을 극대화하는 것을 목표로 합니다.

기술적 세부사항:
* 샐러드게임 DSL: 특정 기간의 지출 내역이라는 입력에 대해 map, filter, reduce와 같은 제한적인 연산만을 허용하는 DSL을 설계하여 시스템 안정성을 확보했습니다.
* Micro-language-framework 활용: GitLab의 micro-language-framework를 사용하여 토큰 파싱과 같은 복잡한 DSL 제작 과정을 추상화하고, 필요한 연산자와 함수 구현에 집중했습니다.
* 한글 지원: 운영자의 접근성을 높이기 위해 DSL 문법에서 한글 사용을 지원하며, 이를 위해 micro-language-framework에 한글 토큰 지원 기능을 기여했습니다.
* LLM 기반 DSL 생성: 운영자가 한글로 미션 규칙 설명을 입력하면, LLM이 DSL을 자동으로 생성하도록 구현했습니다. LLM에게는 DSL 스펙과 실제 사용 사례를 학습 데이터로 제공했습니다.
* 환각(Hallucination) 방지: LLM의 환각 현상을 방지하기 위해 별도의 TestSaladgameDSL API를 개발하여 생성된 DSL의 즉각적인 테스트를 지원하고, '이중 검토' 방식을 통해 LLM의 결과물을 한 번 더 검증했습니다.
* QA 엔지니어 롤 부여: LLM에게 QA 엔지니어의 역할을 부여하여, 경계 조건을 고려한 테스트 케이스를 함께 생성하도록 유도했습니다.

개발 임팩트: 운영자가 코드 수정 없이 게임 규칙을 생성하고 수정할 수 있게 되어 개발팀의 부담을 줄이고 운영 효율성을 크게 향상시켰습니다. LLM과 DSL의 결합은 개발 없이 운영자가 다양한 실험을 할 수 있는 환경을 제공하며, 이는 게임의 지속적인 업데이트와 사용자 경험 개선으로 이어질 수 있습니다. LLM 활용은 '토큰 수 절약' 즉, 'LLM을 덜 쓰는 것'으로 귀결될 수 있으며, DSL은 이를 위한 안정적인 솔루션이 될 수 있습니다.

커뮤니티 반응: (본문에서 직접적인 커뮤니티 반응은 언급되지 않았습니다.)

📚 관련 자료