- 모든 .md, .html 파일 권한을 644로 정상화 - .gitignore 파일 권한도 644로 수정 - 문서 파일에 실행 권한은 불필요하고 보안상 바람직하지 않음 - deprecated 아이디어 폴더 생성 및 레벨별 UI 변경 아이디어 이동
138 lines
4.4 KiB
Markdown
138 lines
4.4 KiB
Markdown
---
|
|
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 에이전트 경험을 제공할 수 있다. 이는 단순한 도구가 아닌 '존재하는 에이전트'로서의 차별화된 가치를 창출할 것으로 기대된다. |