--- 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. 구현 고려사항 ### 데이터베이스 설계 ```sql -- 체력 상태 테이블 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 에이전트 경험을 제공할 수 있다. 이는 단순한 도구가 아닌 '존재하는 에이전트'로서의 차별화된 가치를 창출할 것으로 기대된다.