- 7-8월 초기 구축 문서 12개를 _archive/troubleshooting/2025_07-08_initial_setup/로 이동 - book/300_architecture/390_human_in_the_loop_intent_learning.md를 journey/research/intent_classification/로 이동 (개발 여정 문서) - 빈 폴더 제거 (journey/assets/*)
3.0 KiB
3.0 KiB
rb10508 → rb8001 이식 가이드
작성일: 2025-08-28
작성자: 서버 관리자
목적: rb10508의 검증된 기능을 rb8001에 선택적 이식
현재 상태 비교
메모리 사용량
- rb8001: 145MB (이미 경량화, skill-embedding 사용)
- rb10508: 136MB (동일하게 skill-embedding 사용)
- 결론: 둘 다 이미 최적화됨, 메모리는 이식 대상 아님
ChromaDB 버전
- rb8001: v0.5.20 (구버전, 984KB)
- rb10508: v1.0.16 (최신)
- 이식 필요: ✅ 업그레이드 권장
핵심 이식 대상 (우선순위)
1. 🔥 메모리 알고리즘 개선 (즉시 가능)
# rb10508의 고급 알고리즘
- add_composite_scores(): 복합 점수 계산
- maximal_marginal_relevance(): 다양성 확보 + 중복 제거
# rb8001 현재
- 단순 유사도 검색만 사용
이식 방법: /app/memory/scoring.py 함수만 복사
2. 📁 다중 컬렉션 구조 (중요)
# rb10508: 메모리 타입별 분류
- episodic_memory # 대화 이벤트
- semantic_memory # 개념/지식
- procedural_memory # 작업 방법
# rb8001: 단일 컬렉션만 사용
이식 방법: ChromaDB 마이그레이션 필요
3. 🎮 Gmail 아이템 권한 체크 (높음)
# rb10508: growth.py 시스템
async def check_item_equipped(user_id, "gmail"):
# 스킬 호출 전 권한 확인
if not is_equipped:
return "Gmail을 먼저 연결해주세요!"
# rb8001: 체크 없이 바로 호출 → 에러 발생
이식 방법: /app/core/growth.py 추가
4. 👤 사용자별 메모리 격리 (필수)
# rb10508: 사용자별 독립 컬렉션
f"{robeing_id}_{user_id}_episodic"
# rb8001: 기본 컬렉션 공유 문제
이식 방법: 컬렉션 명명 규칙 변경
구현 상태 vs 설계
| 모듈 | rb8001 | rb10508 | 실제 구현 여부 | 이식 가치 |
|---|---|---|---|---|
| MMR 알고리즘 | ❌ | ✅ | 구현 완료 | ⭐⭐⭐⭐⭐ |
| 다중 컬렉션 | ❌ | ✅ | 구현 완료 | ⭐⭐⭐⭐ |
| 아이템 체크 | ❌ | ✅ | 구현 완료 | ⭐⭐⭐⭐ |
| 베이지안 메모리 | ❌ | 부분 | 부분 구현 | ⭐⭐⭐ |
| Langchain | ❌ | ✅ | 구현 완료 | ⭐⭐⭐ |
| 감정 시스템 | ❌ | 임시 | 미구현 | ⭐ |
| 윤리 필터 | ❌ | 빈 파일 | 미구현 | ⭐ |
단계별 이식 계획
Phase 1 (즉시)
- MMR 알고리즘 함수 복사
- composite_scores 추가
- 테스트 및 검증
Phase 2 (1주)
- ChromaDB 1.0 업그레이드
- 다중 컬렉션 마이그레이션
- 사용자별 격리 구현
Phase 3 (2주)
- growth.py 아이템 시스템
- Gmail 권한 체크 미들웨어
- 스킬 호출 전 검증 로직
주의사항
- 감정/윤리 모듈은 설계만 존재, 실제 구현 없음
- Stats 시스템은 rb8001이 더 완성도 높음 (유지)
- 이미 둘 다 skill-embedding 사용 중 (메모리 최적화 완료)