diff --git a/troubleshooting/250831_happybell80_cache_processing_placeholder_issue.md b/troubleshooting/250831_happybell80_cache_processing_placeholder_issue.md new file mode 100644 index 0000000..87bec65 --- /dev/null +++ b/troubleshooting/250831_happybell80_cache_processing_placeholder_issue.md @@ -0,0 +1,76 @@ +# 캐시에 "처리 중..." 저장으로 인한 대화 맥락 파괴 + +## 날짜: 2025-08-31 +## 작성자: happybell80 & Claude +## 관련 서비스: rb8001 +## 상태: 진행 중 +## 긴급도: 높음 (사용자 경험 심각 저하) + +--- + +## 1. 문제 발견 +사용자와의 대화에서 완전한 맥락 상실 발생: +``` +사용자: 오늘 그만 하자고 +로빙: 오늘은 여기서 마무리하는 것이 좋겠습니다 ✓ +사용자: 뭘? +로빙: 무엇을 도와드릴까요? ✗ +사용자: 마무리 하자고 +로빙: 아드님은 초등학교 2학년입니다 ✗✗✗ +``` + +## 2. 근본 원인 +**캐시에 "처리 중..." 플레이스홀더가 저장됨** + +로그 분석: +``` +[직전 대화 - 반드시 이 맥락에서 답변하세요] +사용자: 마무리 하자고. +로빙: 처리 중... <- 문제의 원인! + +사용자: 뭘 추천해. 추천하긴. +로빙: 김종태님, 제가 어떤 것을 추천해 드리면 될까요? +``` + +## 3. 문제 흐름 +1. 사용자 메시지 수신 +2. **즉시 캐시에 "처리 중..." 저장** (router.py) +3. LLM 응답 생성 시작 +4. 다음 메시지 도착 +5. 캐시에서 "처리 중..." 포함된 대화 로드 +6. Gemini가 불완전한 컨텍스트로 엉뚱한 응답 생성 + +## 4. 영향 +- 대화 연속성 완전 파괴 +- 사용자 짜증 유발 ("너.. 답변 제대로 안할래?") +- 서비스 신뢰도 하락 + +## 5. 해결 방안 + +### 옵션 1: 캐시 저장 시점 변경 +- "처리 중..." 저장하지 않음 +- 응답 완료 후에만 캐시 업데이트 + +### 옵션 2: 플레이스홀더 필터링 +- 캐시 로드 시 "처리 중..." 항목 제외 +- 완성된 대화만 컨텍스트에 포함 + +### 옵션 3: 캐시 구조 개선 +```python +cache_entry = { + "message": user_message, + "response": bot_response, + "status": "complete" # complete/processing 구분 +} +``` + +## 6. 추가 발견 +- Frontend 사용 시 발생 (slack_user_id: None) +- 289개 대화 로드 = 과도한 컨텍스트 +- Gemini가 직전 대화 지시사항 무시 + +## 7. Action Items +- [ ] router.py 캐시 저장 로직 수정 +- [ ] "처리 중..." 플레이스홀더 제거 +- [ ] 캐시 status 필드 추가 검토 +- [ ] 테스트 및 배포 \ No newline at end of file