docs: [plans] 이용현황 통합 계획에 과금정책 반영

- customer-pricing.md 6장 기준 확정: AI 토큰 월 100만, 저장공간 100GB
- 한도 초과 시 실비 과금, 80%/100% 알림 정책 반영
- API 응답에 limit, percentage, warning_threshold 추가
This commit is contained in:
김보곤
2026-03-18 12:13:31 +09:00
parent 63ff39bce0
commit 6072dde239

View File

@@ -94,7 +94,21 @@ ai_pricing_configs
## 3. 목표 설계
### 3.1 통합 페이지 구성
### 3.1 과금 정책 기준 (customer-pricing.md 6장)
> **출처**: `rules/customer-pricing.md` — 사용량 기반 추가 과금
| 항목 | 기본 제공 | 초과 과금 | 비고 |
|------|----------|----------|------|
| 파일 저장 공간 | **100GB** | 100GB당 **5만원/월** | `tenant.storage_limit` 기본값 반영 |
| AI 토큰 | **월 100만 토큰** | 1,000토큰 단위 **실비 과금** | 매월 1일 리셋, 이월 없음 |
**알림 정책**:
- 기본 제공량의 **80%** 소진 시 → 경고 알림
- 기본 제공량의 **100%** 소진 시 → 한도 초과 알림
- 미사용 잔여 토큰은 이월되지 않음 (매월 1일 갱신)
### 3.2 통합 페이지 구성
```
이용현황 (/usage)
@@ -109,15 +123,16 @@ ai_pricing_configs
│ [2] 리소스 사용량 │
│ ┌──────────────────────────────────────┐ │
│ │ 사용자 ████████░░ 5 / 10명 │ │
│ │ 저장공간 ███░░░░░░░ 1.2GB / 10GB │ │
│ │ 저장공간 ███░░░░░░░ 1.2GB / 100GB │ │
│ └──────────────────────────────────────┘ │
│ │
│ [3] AI 토큰 사용량 (이번 달)
│ [3] AI 토큰 사용량 (2026년 3월)
│ ┌──────────────────────────────────────┐ │
│ │ 총 토큰 12,345 tokens │ │
│ │ 총 비용 ₩1,234 (입력/출력 구분) │ │
│ │ ██████░░░░ 620,000 / 1,000,000 │ │
│ │ 총 비용 ₩1,234 │ │
│ │ 모델별: Gemini 80% | Claude 20% │ │
│ │ [상세 보기 →] │
│ │ ⚠️ 80% 소진 시 경고, 100% 초과 시 실비│
│ │ [상세 내역 보기 →] │ │
│ └──────────────────────────────────────┘ │
│ │
│ [4] 서비스 관리 버튼 │
@@ -126,7 +141,7 @@ ai_pricing_configs
└─────────────────────────────────────────────────┘
```
### 3.2 통합 API 설계
### 3.3 통합 API 설계
기존 `/subscriptions/usage` API를 확장하여 AI 토큰 정보를 포함한다.
@@ -142,29 +157,33 @@ ai_pricing_configs
"storage": {
"used": 1288490189,
"used_formatted": "1.2 GB",
"limit": 10737418240,
"limit_formatted": "10 GB",
"percentage": 12.0
"limit": 107374182400,
"limit_formatted": "100 GB",
"percentage": 1.2
},
"ai_tokens": {
"period": "2026-03",
"total_requests": 156,
"total_tokens": 12345,
"prompt_tokens": 8200,
"completion_tokens": 4145,
"total_tokens": 620000,
"prompt_tokens": 412000,
"completion_tokens": 208000,
"limit": 1000000,
"percentage": 62.0,
"cost_usd": 0.95,
"cost_krw": 1234,
"warning_threshold": 80,
"is_over_limit": false,
"by_model": [
{
"model": "gemini-2.0-flash",
"requests": 120,
"total_tokens": 9800,
"total_tokens": 496000,
"cost_krw": 987
},
{
"model": "claude-3-haiku",
"requests": 36,
"total_tokens": 2545,
"total_tokens": 124000,
"cost_krw": 247
}
]
@@ -182,8 +201,13 @@ ai_pricing_configs
**변경점**:
- `api_calls` 섹션 → `ai_tokens` 섹션으로 교체
- `ai_tokens`별 토큰 합계, 비용, 모델별 내역 포함
- `subscription``monthly_fee` 추가
- `ai_tokens.limit`: 100만 토큰 (정책 기반)
- `ai_tokens.percentage`: 한도 대비 사용율
- `ai_tokens.warning_threshold`: 경고 기준 80%
- `ai_tokens.is_over_limit`: 한도 초과 여부
- `ai_tokens.cost_krw`: 초과 시 실비 과금 금액 계산에 활용
- `storage.limit`: 100GB (정책 기본값)
- `subscription.monthly_fee` 추가
- 하드코딩 제거 (10,000 상한 등)
---
@@ -279,16 +303,26 @@ Phase 3: 메뉴 정리
---
## 7. 확인 필요 사항
## 7. 정책 기반 확정 사항
작업 시작 전 확인이 필요한 항목:
`rules/customer-pricing.md` 6장에 따라 확정:
| # | 항목 | 확정 내용 |
|---|------|----------|
| D1 | AI 토큰 월별 한도 | **100만 토큰/월** (매월 1일 리셋, 이월 없음) |
| D2 | 초과 과금 | 1,000토큰 단위 **실비** (ai_pricing_configs 단가 기반) |
| D3 | 알림 기준 | 80% 경고, 100% 한도 초과 알림 |
| D4 | 저장공간 기본 한도 | **100GB** (초과 시 100GB당 5만원/월) |
| D5 | 비용 노출 | 토큰 비용(KRW) 고객에게 표시 (customer-pricing에 명시) |
### 7.1 추가 확인 필요 사항
| # | 질문 | 영향 |
|---|------|------|
| Q1 | AI 토큰 사용량에 월별 한도가 필요한가? (무제한 vs 플랜별 상한) | `ai_tokens.limit` 필드 추가 여부 |
| Q2 | AI 토큰 비용을 고객에게 보여줘도 되는가? (원화 금액 노출) | UI 표시 항목 결정 |
| Q3 | 이용현황 페이지 접근 권한은? (관리자만 vs 모든 사용자) | 권한 설정 |
| Q4 | 저장공간의 실제 사용량이 정확히 갱신되고 있는가? | 파일 업로드/삭제 시 `incrementStorage`/`decrementStorage` 호출 여부 |
| Q1 | 100만 토큰 한도를 `tenant.ai_token_limit` 필드로 관리할 것인가? (플랜별 차등 가능성) | 테넌트 테이블 컬럼 추가 여부 |
| Q2 | 이용현황 페이지 접근 권한은? (관리자만 vs 모든 사용자) | 권한 설정 |
| Q3 | 저장공간의 실제 사용량이 정확히 갱신되고 있는가? | 파일 업로드/삭제 시 `incrementStorage`/`decrementStorage` 호출 여부 |
| Q4 | `tenant.storage_limit` 기본값이 현재 10GB인데 100GB로 변경 필요 | 마이그레이션 또는 데이터 수정 |
---