DOCS/ideas/rb10508_to_rb8001_migration_guide.md

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 (즉시)

  1. MMR 알고리즘 함수 복사
  2. composite_scores 추가
  3. 테스트 및 검증

Phase 2 (1주)

  1. ChromaDB 1.0 업그레이드
  2. 다중 컬렉션 마이그레이션
  3. 사용자별 격리 구현

Phase 3 (2주)

  1. growth.py 아이템 시스템
  2. Gmail 권한 체크 미들웨어
  3. 스킬 호출 전 검증 로직

주의사항

  • 감정/윤리 모듈은 설계만 존재, 실제 구현 없음
  • Stats 시스템은 rb8001이 더 완성도 높음 (유지)
  • 이미 둘 다 skill-embedding 사용 중 (메모리 최적화 완료)