Persona Chat Engine

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 상에서 실시간 데모 제공
  • 모델 카드 공개를 통한 학습 설정 및 실험 조건 명시
  • 게임 연동을 전제로 한 상태 출력 구조 검증 완료

🔗 관련 링크