diff --git a/ideas/250811_claude_rb10408_vs_rb10508_비교분석.md b/ideas/250811_claude_rb10408_vs_rb10508_비교분석.md index 181b3a5..2e2b7c4 100644 --- a/ideas/250811_claude_rb10408_vs_rb10508_비교분석.md +++ b/ideas/250811_claude_rb10408_vs_rb10508_비교분석.md @@ -104,6 +104,57 @@ rb10508_micro | **레벨링** | 경험치 시스템 | 없음 | | **스킬 트리** | 기본 구현 | 없음 | +### 스킬 서비스 통합 + +| 항목 | rb10408_test | rb10508_micro | +|------|--------------|---------------| +| **이메일 스킬** | ✅ 연동 (포트 8501) | ✅ 연동 (포트 8501) | +| **뉴스 스킬** | ✅ 연동 (포트 8505) | ✅ 연동 (포트 8505) | +| **슬랙 스킬** | ✅ 연동 (포트 8503) | ❌ 미연동 | +| **임베딩 서비스** | ❌ 자체 처리 | ✅ 외부 서비스 (포트 8015) | +| **스킬 라우팅** | Decision Engine 기반 | 미구현 | +| **스킬 실행 전략** | Stats 기반 추천 | 수동 호출 | + +#### rb10408_test 스킬 실행 구조 +```python +# Decision Engine이 스킬 실행 계획 수립 +execution_plan = { + "intent": "email_summary", + "skills": [ + {"name": "email_fetch", "params": {...}}, + {"name": "summary_generate", "params": {...}} + ] +} + +# Stats Manager가 스킬 조합 추천 +recommended = stats_manager.recommend_skill_combination(available_skills) + +# Router가 순차적으로 스킬 실행 +for skill in execution_plan["skills"]: + result = await execute_skill(skill) +``` + +#### rb10508_micro 스킬 실행 구조 +```python +# 직접적인 스킬 호출 (구조화되지 않음) +# 주로 Langchain 도구로 처리 +# 외부 임베딩 서비스 의존 +embedding_response = await httpx.post( + SKILL_EMBEDDING_URL + "/embed", + json={"text": text} +) +``` + +### 스킬 서비스 성능 비교 + +| 측정 항목 | rb10408_test | rb10508_micro | +|----------|--------------|---------------| +| **스킬 호출 방식** | REST API | REST API | +| **응답 시간** | ~500ms | ~300ms (캐싱) | +| **에러 처리** | 재시도 로직 있음 | 기본 처리 | +| **스킬 체이닝** | 지원 | 미지원 | +| **병렬 실행** | 가능 | 불가능 | + ## 4. 장단점 분석 ### rb10408_test @@ -231,7 +282,61 @@ rb10508_micro - rb10508_micro 기반으로 게임화 요소 추가 - 선택적 로컬 임베딩 지원 -## 8. 모니터링 지표 +## 8. 스킬 서비스 활용 전략 + +### 현재 운영 중인 스킬 서비스 + +| 서비스명 | 포트 | 상태 | 주요 기능 | 연동 서비스 | +|----------|------|------|-----------|-------------| +| **skill_email** | 8501 | 운영 중 (6일) | 이메일 조회/발송 | rb10408, rb10508 | +| **skill-news** | 8505 | 정상 (2시간) | 뉴스 검색/요약 | rb10408, rb10508 | +| **skill-slack** | 8503 | 정상 (2시간) | Slack 메시지 처리 | rb10408만 | +| **skill-embedding** | 8015 | 정상 (6일) | 텍스트 임베딩 생성 | rb10508만 | + +### 스킬 통합 개선 방안 + +#### rb10408_test 개선점 +1. **임베딩 서비스 활용** + - 자체 sentence-transformers 대신 skill-embedding 사용 + - 메모리 200MB 절약 가능 + - 중앙화된 임베딩 관리 + +2. **스킬 메타데이터 강화** + ```python + skill_registry = { + "email": { + "url": "http://localhost:8501", + "timeout": 30, + "retry": 3, + "cache_ttl": 300 + } + } + ``` + +#### rb10508_micro 개선점 +1. **Decision Engine 구현** + - rb10408의 스킬 라우팅 로직 이식 + - 의도 파악 → 스킬 선택 → 실행 계획 수립 + +2. **스킬 체이닝 지원** + - 복수 스킬 연속 실행 + - 스킬 간 데이터 전달 + - 병렬 실행 지원 + +3. **Slack 스킬 연동** + - 현재 미연동 상태 + - 포트 8503 연결 추가 + +### 스킬 서비스 최적화 로드맵 + +| 단계 | 기간 | rb10408_test | rb10508_micro | +|------|------|--------------|---------------| +| **Phase 1** | 1주 | 임베딩 서비스 전환 | Slack 스킬 연동 | +| **Phase 2** | 2주 | 스킬 캐싱 구현 | Decision Engine 추가 | +| **Phase 3** | 3주 | 메트릭 수집 | 스킬 체이닝 구현 | +| **Phase 4** | 4주 | 통합 테스트 | 성능 최적화 | + +## 9. 모니터링 지표 ### 추적 필요 항목 @@ -241,6 +346,8 @@ rb10508_micro | CPU 사용률 | > 50% | 스케일 아웃 고려 | | 응답 시간 | > 3초 | 캐싱 전략 검토 | | 에러율 | > 1% | 로그 분석 및 수정 | +| **스킬 응답 시간** | > 5초 | 타임아웃 조정 | +| **스킬 실패율** | > 5% | 서킷 브레이커 활성화 | ### 정기 점검 사항