DOCS/journey/troubleshooting/250830_skill_level_system_restructure.md
Claude-51124 22557e7132 docs: 오래된 트러블슈팅 아카이브 및 구조 정리
- 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/*)
2025-11-17 14:06:05 +09:00

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_stats
    • level: 현재 레벨
    • experience: 경험치
    • skills_unlocked: JSONB (해금된 스킬 목록)

5.2 스킬 사용 로그

  • 테이블: skill_usage_logs (추가 필요)
    • user_id: UUID
    • skill_id: 스킬 ID
    • used_at: 사용 시간
    • result: 성공/실패

6. 구현 우선순위

  1. 즉시: Frontend UI 변경 (스킬 목록 재배치)
  2. 단기: Slack 대화 백엔드 연결 (Phase 3)
  3. 중기: 일정 관리 (레벨 7) 구현
  4. 장기: 레벨 11+ 고급 기능 구현

7. 테스트 시나리오

  1. 각 레벨별 스킬 해금 확인
  2. 스킬 아이콘 및 설명 표시 확인
  3. 백엔드 API 연결 테스트
  4. 레벨업 시 새 스킬 활성화 확인

8. 참고 문서