- 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/*)
5.6 KiB
5.6 KiB
스킬 레벨 시스템 재구성
작성일: 2025-08-30
작성자: 51123 서버 관리자
상태: ✅ 구현 완료
목표: 레벨별 스킬 시스템을 현실적이고 단계적으로 재구성
1. 개요
기존 혼재된 스킬 시스템을 명확한 단계별 진행 구조로 재정의합니다. 소수 레벨(Prime number)을 기준으로 주요 스킬이 해금되는 구조입니다.
2. 레벨별 스킬 최종 배치
| 레벨 | 스킬명 | 설명 | 백엔드 연결 |
|---|---|---|---|
| 1 | 기본 대화 | 일상 대화, 인사, 간단한 질문 응답 | /api/chat → rb8001 |
| 2 | 이메일 읽기 | Gmail 메시지 조회, 받은 편지함 확인 | /api/gmail/messages → skill-email |
| 3 | Slack 대화 | Slack 채널에서 대화 참여, 메시지 읽기/쓰기 | /api/slack/messages → rb8001 |
| 4 | 이메일 전송 | Gmail로 메일 작성 및 발송, 답장 기능 | /api/gmail/send → skill-email |
| 5 | 데일리 브리핑 | 매일 아침 종합 브리핑 (날씨, 뉴스, 일정) | /api/briefing → skill-news |
| 7 | 일정 관리 | 캘린더 연동, 일정 추가/수정/알림 | /api/calendar → (미구현) |
| 11 | 문서 작성/편집 | Google Docs 연동, 문서 생성 및 편집 | /api/docs → (미구현) |
| 13 | 데이터 분석/차트 | 데이터 시각화, 통계 분석, 리포트 생성 | /api/analytics → (미구현) |
| 17 | 프로젝트 관리 | 태스크 관리, 진행상황 추적, 팀 협업 | /api/project → (미구현) |
| 19 | AI 인사이트/예측 | 패턴 분석, 예측 모델, 추천 시스템 | /api/insights → (미구현) |
| 23 | 자동화 워크플로우 | 반복 작업 자동화, 커스텀 워크플로우 | /api/automation → (미구현) |
3. Frontend 수정 사항
파일: /home/admin/frontend-customer/src/components/skills-items-panel.tsx
3.1 수정 위치
- 라인 138-229:
allSkills배열 전체 교체
3.2 변경 내용
✅ 구현 완료 (2025-08-30):
const allSkills = [
{ id: 'basic-chat', name: '기본 대화', level: 1, icon: '💬' },
{ id: 'email-read', name: '이메일 읽기', level: 2, icon: '📧' },
{ id: 'slack-chat', name: 'Slack 대화', level: 3, icon: '💼' },
{ id: 'email-send', name: '이메일 전송', level: 4, icon: '✉️' },
{ id: 'daily-briefing', name: '데일리 브리핑', level: 5, icon: '📰' },
{ id: 'calendar', name: '일정 관리', level: 7, icon: '📅' },
{ id: 'docs-edit', name: '문서 작성/편집', level: 11, icon: '📝' },
{ id: 'data-analysis', name: '데이터 분석/차트', level: 13, icon: '📊' },
{ id: 'project-mgmt', name: '프로젝트 관리', level: 17, icon: '🎯' },
{ id: 'ai-insights', name: 'AI 인사이트/예측', level: 19, icon: '🔮' },
{ id: 'automation', name: '자동화 워크플로우', level: 23, icon: '⚡' }
];
4. 백엔드 연결 방법
4.1 Gateway 라우팅 구조
Frontend → nginx(/gateway/) → Gateway(8100) → 각 서비스
4.2 서비스별 연결
기본 대화 (레벨 1)
- 현재:
/api/chat→ rb8001:8001 ✅ 구현됨 - 참고:
/home/admin/DOCS/troubleshooting/250826_frontend_rb8001_채팅연결_계획.md
이메일 읽기/전송 (레벨 2, 4)
- 현재:
/api/gmail/*→ skill-email:8501 ✅ 구현됨 - 인증: Gmail 패스포트 시스템 사용
- 참고:
/home/admin/DOCS/troubleshooting/250820_happybell80_Gmail패스포트시스템완성.md
Slack 대화 (레벨 3)
- 계획:
/api/slack/messages→ rb8001:8001 - 인증: Slack 패스포트 시스템 (구현 중)
- 참고:
/home/admin/DOCS/plans/250828_slack_integration_level3_plan.md
데일리 브리핑 (레벨 5)
- 현재:
/api/briefing→ skill-news:8501 ✅ 구현됨 - 스케줄: 매일 오전 6시 자동 실행
- 참고:
/home/admin/DOCS/300_architecture/sequences/daily_briefing_sequences.md
4.3 Gateway 프록시 패턴
# robeing-gateway/app/main.py
@app.get("/api/{path:path}")
async def proxy_request(path: str, current_user: dict = Depends(get_current_user)):
# JWT 검증 → user_id 추출 → 서비스 라우팅
if path.startswith("gmail/"):
return proxy_to_skill_email(path, current_user)
elif path.startswith("slack/"):
return proxy_to_rb8001(path, current_user)
# ...
5. 데이터베이스 연동
5.1 스킬 해금 상태 관리
- 테이블:
robeing_statslevel: 현재 레벨experience: 경험치skills_unlocked: JSONB (해금된 스킬 목록)
5.2 스킬 사용 로그
- 테이블:
skill_usage_logs(추가 필요)user_id: UUIDskill_id: 스킬 IDused_at: 사용 시간result: 성공/실패
6. 구현 우선순위
- 즉시: Frontend UI 변경 (스킬 목록 재배치)
- 단기: Slack 대화 백엔드 연결 (Phase 3)
- 중기: 일정 관리 (레벨 7) 구현
- 장기: 레벨 11+ 고급 기능 구현
7. 테스트 시나리오
- 각 레벨별 스킬 해금 확인
- 스킬 아이콘 및 설명 표시 확인
- 백엔드 API 연결 테스트
- 레벨업 시 새 스킬 활성화 확인