250806 트러블슈팅 업데이트 - 캐시 제거 및 대화 연속성
- 캐시 시스템 전면 개편 과정 - 대화 연속성 문제 해결 - 교훈 정리
This commit is contained in:
parent
a45642368b
commit
d6428feb44
@ -247,6 +247,86 @@ if data.get('user_name') and data['user_name'] != "null":
|
||||
- Redis → 새 의존성, 복잡도 증가
|
||||
- ChromaDB identity → 이미 있는 것 활용
|
||||
|
||||
## 오후 5시 10분
|
||||
|
||||
### 캐시 시스템 전면 개편
|
||||
|
||||
**문제 발견**:
|
||||
- 캐시 임계값 0.1~0.3 너무 낮음 (업계 표준 0.8)
|
||||
- 3회 사용 제한 임의적 (TTL 기반이 표준)
|
||||
- 템플릿 응답이 Gemini 응답과 충돌
|
||||
|
||||
**해결 과정**:
|
||||
|
||||
1. **캐시 최적화 (실패)**:
|
||||
- 임계값 0.8로 상향
|
||||
- TTL 5분 기반 전환
|
||||
- 결과: 여전히 문제 지속
|
||||
|
||||
2. **캐시 완전 제거**:
|
||||
```python
|
||||
# config.py
|
||||
USE_CONVERSATION_CACHE: bool = False # 비활성화
|
||||
CACHE_DISTANCE_THRESHOLD: float = 0.95 # 사실상 무효
|
||||
CACHE_TTL_SECONDS: int = 10 # 극단축
|
||||
```
|
||||
|
||||
3. **템플릿 응답 제거**:
|
||||
- 모든 하드코딩된 응답 삭제
|
||||
- 100% Gemini API 사용
|
||||
|
||||
### 대화 연속성 문제
|
||||
|
||||
**증상**:
|
||||
```
|
||||
로빙: "세 가지 제안해볼까요?"
|
||||
사용자: "그래"
|
||||
로빙: "무엇을 도와드릴까요?" ❌ (문맥 손실)
|
||||
```
|
||||
|
||||
**원인**:
|
||||
- `should_store` 조건이 많은 대화 필터링
|
||||
- 로빙 응답이 메모리에 저장 안됨
|
||||
|
||||
**해결**:
|
||||
```python
|
||||
# brain.py - 모든 대화 무조건 저장
|
||||
# 사용자 메시지
|
||||
await self.memory.store_memory(
|
||||
content=f"User: {message}",
|
||||
user_id=user_id,
|
||||
memory_type="episodic",
|
||||
metadata={"role": "user"}
|
||||
)
|
||||
|
||||
# 로빙 응답 (필수)
|
||||
await self.memory.store_memory(
|
||||
content=f"Robing: {final_response}",
|
||||
user_id=user_id,
|
||||
memory_type="episodic",
|
||||
metadata={"role": "assistant"}
|
||||
)
|
||||
```
|
||||
|
||||
## 교훈
|
||||
|
||||
1. **캐시는 만병통치약이 아니다**
|
||||
- 잘못된 캐시는 오히려 문제 악화
|
||||
- 초기에는 캐시 없이 시작
|
||||
|
||||
2. **대화 연속성 = 모든 발화 저장**
|
||||
- User만 저장하면 반쪽짜리
|
||||
- Assistant 응답도 필수
|
||||
|
||||
3. **템플릿 vs LLM**
|
||||
- 혼용하면 일관성 파괴
|
||||
- 하나로 통일 필요
|
||||
|
||||
4. **업계 표준 존중**
|
||||
- 유사도 임계값: 0.8
|
||||
- TTL 기반 만료
|
||||
- 사용 횟수보다 시간 기반
|
||||
|
||||
---
|
||||
|
||||
작성자: happybell80 & Claude
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user