피드로 돌아가기
Dev.toAI/ML
원문 읽기
Stateless LLM 한계 극복을 위한 StateBag 기반의 ChatHistoryProvider 설계
State Management and Chat History
AI 요약
Context
LLM의 Stateless 특성으로 인해 매 요청마다 전체 대화 이력을 전송해야 하는 구조적 한계 존재. 이로 인한 Input Token 증가 및 비용 상승 문제와 서버 재시작 시 메모리 내 데이터가 소멸되는 휘발성 세션 관리의 제약 사항 분석.
Technical Solution
- Agent Sessions 도입을 통한 단기 컨텍스트의 In-Memory 자동 관리 구조 설계
- ChatHistoryProvider 추상 클래스 상속을 통한 저장소 계층의 Persistence 구현
- StateBag 내 Session ID(GUID)를 활용한 세션 식별자와 채팅 이력의 논리적 분리
- StoreChatHistoryAsync 메서드를 통한 응답 완료 후 비동기 데이터 직렬화 및 저장 로직 수행
- ProvideChatHistoryProvider 메서드를 통한 요청 처리 전 데이터 역직렬화 및 컨텍스트 복구 프로세스 구축
- 데이터베이스 또는 파일 시스템으로의 저장소 확장성을 고려한 Provider 패턴 적용
실천 포인트
1. LLM 세션 설계 시 메모리 휘발성에 대비한 외부 Persistence Layer 구축 여부 검토
2. 세션 식별자와 실제 데이터(Chat History)를 분리하여 StateBag 구조로 관리하는 방식 적용
3. 토큰 비용 최적화를 위해 대화 이력의 요약 및 절삭을 수행하는 Chat Reducer 도입 검토