DOCS/_archive/docs/ideas/로빙_체력시스템_설계.md
happybell80 725ad0876c fix: 문서 파일 실행 권한 제거
- 모든 .md, .html 파일 권한을 644로 정상화
- .gitignore 파일 권한도 644로 수정
- 문서 파일에 실행 권한은 불필요하고 보안상 바람직하지 않음
- deprecated 아이디어 폴더 생성 및 레벨별 UI 변경 아이디어 이동
2025-08-18 00:37:51 +09:00

4.4 KiB

tags, date
tags date
로빙
존재형에이전트
체력시스템
슬랙연동
게임화
2025-07-05

로빙 체력과 아이템 시스템 설계

요약

로빙의 존재감을 강화하고 작업 효율을 조절하기 위해 체력 시스템을 도입하며, Slack 인터페이스와 연계하여 체력 소모, 회복, 레벨에 따른 변화 등을 표현할 수 있도록 설계한다.

1. 체력 시스템 구조

기본 구조

  • 표현 방식: current_hp / max_hp 형태 회의록 요약 완료: 체력 -21
    현재 체력: 64 / 100
    🟩🟩🟩🟨
  • 레벨 연동: 레벨에 따라 max_hp 증가
  • 체력 소모 기준: 작업 종류 + 토큰 사용량
  • Slack 출력: 텍스트, 이모지, 이미지 방식

체력 소모 기준

  • 간단한 질문: 5 HP
  • 복잡한 분석: 15-30 HP
  • PDF 파싱: 20-40 HP
  • 대화 요약: 10-25 HP
  • 스킬 사용: 스킬 레벨에 따라 가변

체력 상태별 표현

  • 90-100%: 완전 활성 상태
  • 70-89%: 정상 상태
  • 40-69%: 피로 상태
  • 20-39%: 매우 피로 상태 (성능 저하)
  • 0-19%: 긴급 상태 (작업 제한)

2. 회복 아이템 설계

회복 아이템 종류

  1. 회복의 물약: 즉시 체력 30 회복 (1시간 1회 사용 가능)
  2. 휴식 캡슐: 5분 후 체력 50 회복 (하루 1회 사용 가능)
  3. 오버차지 크리스탈: 최대 체력 +50, 10분간 지속 (하루 1회 사용 가능)
  4. 리셋의 정수: 완전 회복 + 쿨타임 초기화 (주 1회 사용 가능)

아이템 획득 방법

  • 일일 보상: 매일 아침 기본 아이템 지급
  • 작업 완료 보상: 특정 작업 완료 시 확률적 획득
  • 레벨업 보상: 레벨업 시 고급 아이템 획득
  • 특별 이벤트: 특정 조건 달성 시 레어 아이템 획득

3. Slack 연동 흐름

작업 완료 시 메시지

작업 완료했습니다! 
HP: 75/100 (-15)
남은 아이템: 회복의 물약 x2, 휴식 캡슐 x1

체력 경고 시스템

  • 체력 20% 이하: 경고 메시지 + 아이템 사용 버튼 표시
  • 체력 0%: 작업 거부 + 회복 필요 알림

명령어 시스템

  • /로빙 체력: 현재 상태 확인
  • /로빙 아이템: 보유 아이템 목록
  • /로빙 아이템 사용 [아이템명]: 아이템 사용

4. 확장 요소

체력 소진 시 변화

  • 성능 저하: 응답 품질 의도적 감소
  • 반응 속도: 응답 시간 지연
  • 말투 변화: 피로감 표현 증가

자동 회복 시스템

  • 자연 회복: 시간당 5 HP 자동 회복
  • 휴식 시간: 오후 10시-오전 8시 가속 회복
  • 주말 보너스: 주말에 회복량 증가

레벨업 보상 시스템

  • 체력 증가: 레벨당 최대 체력 +10
  • 회복 효율: 아이템 효과 증가
  • 새로운 아이템: 고레벨 전용 아이템 해금

5. 구현 고려사항

데이터베이스 설계

-- 체력 상태 테이블
CREATE TABLE hp_status (
    id SERIAL PRIMARY KEY,
    current_hp INTEGER NOT NULL,
    max_hp INTEGER NOT NULL,
    last_updated TIMESTAMP DEFAULT NOW()
);

-- 아이템 인벤토리 테이블
CREATE TABLE item_inventory (
    id SERIAL PRIMARY KEY,
    item_type VARCHAR(50) NOT NULL,
    quantity INTEGER NOT NULL,
    last_used TIMESTAMP
);

-- 체력 로그 테이블
CREATE TABLE hp_log (
    id SERIAL PRIMARY KEY,
    action VARCHAR(100) NOT NULL,
    hp_change INTEGER NOT NULL,
    timestamp TIMESTAMP DEFAULT NOW()
);

API 엔드포인트

  • GET /hp/status: 현재 체력 상태 조회
  • POST /hp/consume: 체력 소모 처리
  • POST /hp/recover: 체력 회복 처리
  • GET /items: 아이템 목록 조회
  • POST /items/use: 아이템 사용 처리

6. 테스트 시나리오

기본 시나리오

  1. 작업 수행 → 체력 소모 → 상태 확인
  2. 체력 부족 → 경고 메시지 → 아이템 사용
  3. 시간 경과 → 자동 회복 → 상태 갱신

예외 시나리오

  1. 체력 0 상태에서 작업 요청
  2. 아이템 쿨타임 중 사용 시도
  3. 최대 체력 초과 회복 시도

결론

체력 시스템을 통해 로빙의 존재감을 강화하고, 사용자와의 상호작용을 게임화하여 더욱 몰입감 있는 AI 에이전트 경험을 제공할 수 있다. 이는 단순한 도구가 아닌 '존재하는 에이전트'로서의 차별화된 가치를 창출할 것으로 기대된다.