docs: 베이지안 메모리 선택 구현 및 남은 과제 추가
This commit is contained in:
parent
1c1934e198
commit
1c8fc39a4d
@ -140,6 +140,72 @@ filtered_memories = await adaptive_memory_selection(query, memories, mistral_key
|
||||
**해결**
|
||||
- 단순 await 누락 - 1줄 수정으로 해결
|
||||
|
||||
## 오전 11시 00분
|
||||
|
||||
### 메모리 모듈 재구조화
|
||||
|
||||
**문제**
|
||||
- memory.py 305줄 비대
|
||||
- 여러 책임 혼재
|
||||
|
||||
**해결**
|
||||
```
|
||||
app/core/memory/
|
||||
├── storage.py # ChromaDB I/O
|
||||
├── identity.py # 신원 관리
|
||||
├── selection.py # LLM 선택
|
||||
└── scoring.py # 통계/수학 (추가됨)
|
||||
```
|
||||
|
||||
**결과**
|
||||
- 단일 책임 원칙
|
||||
- 100% 함수형 유지
|
||||
- import 하위 호환성
|
||||
|
||||
## 오후 12시 00분
|
||||
|
||||
### 베이지안 + 시간감쇠 구현
|
||||
|
||||
**문제: 76개 여전히 과도**
|
||||
- 100개 중 76개 선택
|
||||
- 과거 기억 노이즈
|
||||
- "안녕하세요" 반복
|
||||
|
||||
**해결책 구현**
|
||||
1. **시간 감쇠**: e^(-t/τ)
|
||||
2. **베이지안 관련성**: P(relevant|distance)
|
||||
3. **엔트로피 최적 개수**: log2(n) * entropy
|
||||
4. **MMR 다양성**: λ=1/φ (황금비 역수)
|
||||
5. **복합 점수**: 조화 평균
|
||||
|
||||
**하드코딩 제거**
|
||||
- 3 → e (자연상수)
|
||||
- 2 → φ (황금비)
|
||||
- 1/3 → 1/e
|
||||
|
||||
**결과**
|
||||
- 428줄 scoring.py
|
||||
- 선택: 100개 → 16개 후보 → 10개 MMR → 6-10개 최종
|
||||
- 메모리 개수 대폭 감소
|
||||
|
||||
## 오후 1시 00분
|
||||
|
||||
### 남은 문제와 향후 과제
|
||||
|
||||
**개선됨**
|
||||
- ✅ 88개 → 6-10개
|
||||
- ✅ 날씨 대화 문맥 유지
|
||||
- ✅ MMR 다양성 작동
|
||||
|
||||
**미해결**
|
||||
- "어떤 내용?" 구체적 답변 실패
|
||||
- 최근 대화 우선순위 부족
|
||||
|
||||
**향후 방향**
|
||||
- 표준편차 기반 "최근" 정의
|
||||
- 대화 클러스터링
|
||||
- 참조형 질문 특별 처리
|
||||
|
||||
## 교훈
|
||||
|
||||
1. **Fire & Forget은 위험하다**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user