피드로 돌아가기
How Structured Stream Parsing Makes AI Interactive Fiction Feel Instant
Dev.toDev.to
Backend

Structured Stream Parsing 통한 대기 시간 0ms 체감 인터랙티브 시스템 구현

How Structured Stream Parsing Makes AI Interactive Fiction Feel Instant

Novellum.live2026년 4월 13일3advanced

Context

LLM의 Narrative Envelope 구조로 인해 단순 Streaming 적용 시 태그 노출 문제가 발생하며, 전체 응답 버퍼링 시 3~5초의 Loading Wait가 발생하는 트레이드오프 상황.

Technical Solution

  • 태그 유형별 처리 로직을 분리한 Reactive Stream Scanner 설계
  • [DIALOGUE] 태그의 경우 UTF-8 Rune Boundary를 검증하여 부분 토큰을 즉시 Emit 하는 Partial Streaming 구현
  • Semantic Tag([BGM_MOOD], [SCENE] 등)의 경우 Closing Tag 확인 후 단일 이벤트를 발행하는 Accumulation 전략 채택
  • SPEAKER_NPC_ID와 PORTRAIT_EXPRESSION의 도착 순서 무관성을 해결하기 위한 Partial State Accumulator 도입
  • 잘못된 모델 출력으로 인한 무한 대기 방지를 위한 Buffer Threshold 기반 Fallback Mode 구축
  • Prompt Engineering, Server-side Scanner, Typed WebSocket, Frontend Projection으로 이어지는 4단계 통합 파이프라인 구축

1. 멀티바이트 문자 깨짐 방지를 위한 UTF-8 Safe boundary 체크 로직 포함 여부 검토

2. 비순차적으로 도착하는 연관 데이터 간의 상태 동기화를 위한 상태 저장소 설계

3. 모델의 비정상 출력(Malformed output)에 대비한 타임아웃 및 폴백 임계치 설정

4. 단순 텍스트 전송이 아닌 이벤트 클래스 기반의 Typed Protocol 정의

원문 읽기