DOCS/troubleshooting/250831_happybell80_cache_processing_placeholder_issue.md
Claude-51124 217786990a docs: 캐시 '처리 중...' 플레이스홀더 문제 문서화
- 캐시에 미완성 응답이 저장되어 대화 맥락 파괴
- '마무리 하자고' → '아드님은 초등학교 2학년' 환각 응답
- 캐시 저장 시점 및 플레이스홀더 필터링 개선 필요
2025-08-31 22:36:58 +09:00

2.1 KiB

캐시에 "처리 중..." 저장으로 인한 대화 맥락 파괴

날짜: 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: 캐시 구조 개선

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 필드 추가 검토
  • 테스트 및 배포