Persona Chat Engine — 게임 상태를 변화시키는 NPC 대화 시스템
🎯 개요
Persona Chat Engine은
단순한 텍스트 응답을 넘어,
Player와 NPC간의 상호작용이 실제 게임 상태와 세계관에 영향을 미치도록 설계된 LLM 기반 대화 엔진입니다.
게임 서버 및 데이터베이스와 직접 연동되며,
NPC의 성격(Persona), 현재 게임 상황(Context), 플레이어 행동(State)을 반영한
동적 대화 + 상태 변화 트리거를 제공합니다.
✨ 주요 특징
- LoRA 기반 미세 조정으로 경량화된 LLM 튜닝
- Flag / Delta Head를 통한 대화 결과의 구조화된 출력
- RAG 기반 컨텍스트 검색으로 세계관·규칙 일관성 유지
- 게임 서버 / DB와 연동되는 상태 기반 응답 시스템
🏗️ 시스템 아키텍처
- FastAPI 기반 백엔드 서버
- Hugging Face Spaces를 통한 모델 서빙
- 게임 서버 및 데이터베이스와 실시간 통신
LLM의 출력은 단순 텍스트가 아니라,
💬 자연어 응답 + 🎯 구조화된 상태 변경 정보
의 형태로 반환되며,
이를 게임 로직에서 직접 해석·반영할 수 있도록 설계했습니다.
→ 설계 상세 문서
🔑 핵심 기능
🧠 페르소나 및 컨텍스트 관리
- NPC별 성격, 말투, 가치관을 프롬프트 및 RAG 컨텍스트로 분리 관리
- 동일 NPC라도 상황에 따라 일관된 성격 유지
🔄 상태 기반 대화 업데이트
- 대화 응답과 함께 게임 상태 변화 신호를 동시 출력
- 예: 퀘스트 플래그 변경, 관계 수치 증감, 이벤트 트리거 등
🧩 Flag / Delta Head 설계
- Flag Head: 명시적인 상태 변화 여부 판단
- Delta Head: 수치 변화량, 조건 변화 등 연속적 상태 업데이트
- 이를 통해 LLM을 의사결정 엔진으로 확장
⚙️ 구현 세부 사항
- LoRA 튜닝
- GPU 자원 제약 환경에서도 효율적인 미세 조정
- 헤드 분리 구조
- 자연어 생성과 상태 예측을 분리하여 학습 안정성 확보
- RAG 기반 필터링
- 세계관 문서, 게임 규칙, 금지 행동 등을 컨텍스트로 주입
- pre/post-processing을 통해 환각 및 규칙 위반 최소화
🧩 주요 과제와 해결 접근
- 환각(Hallucination) 문제 → RAG 필터링 및 출력 검증 로직 도입
- 응답 지연 → 모델 최적화, 캐싱 전략 및 서버 레벨 최적화
- 대화 일관성 → Persona 중심 데이터 구성 + 헤드 미세 조정
📊 결과 및 검증
- Hugging Face Spaces 상에서 실시간 데모 제공
- 모델 카드 공개를 통한 학습 설정 및 실험 조건 명시
- 게임 연동을 전제로 한 상태 출력 구조 검증 완료