테마
Story: AI 진단 요금제 분기 (E-04 연계)
메타
| 항목 | 값 |
|---|---|
| Story ID | E-05-S-06 |
| Epic | E-05 요금제 정책 재설계 및 가드레일 |
| 상태 | draft |
| 우선순위 | P0 |
| 규모 | L |
| 담당 | 창훈님 (하록님, 수민님) |
사용자 스토리
As a Pro 요금제 셀러, I want AI 진단 서비스를 받고 싶다, So that 더 똑똑한 광고 운영 조언을 얻을 수 있다.
수락 기준 (Acceptance Criteria)
AC-01: BE - 요금제별 진단 엔진 분기
| 항목 | 내용 |
|---|---|
| Given | 진단 요청 수신 |
| When | 요금제 확인 |
| Then | Pro/Business는 AI 진단, 나머지는 규칙 기반 |
분기 로직:
typescript
async getDiagnosis(bizId: string, campaignId: string): Promise<DiagnosisResult> {
const { features } = await this.planGuardService.getPlanInfo(bizId);
if (features.ai_diagnosis.enabled) {
return this.aiDiagnosisService.generate(bizId, campaignId);
}
return this.ruleDiagnosisService.generate(campaignId);
}AC-02: FE - Starter/Basic AI 진단 잠금
| 항목 | 내용 |
|---|---|
| Given | Starter 또는 Basic 요금제 |
| When | Surface Layer 조언 카드 표시 |
| Then | 규칙 기반 진단 + AI 진단 업그레이드 유도 |
UI 스펙:
┌────────────────────────────────────────┐
│ 🟡 효율 개선이 필요해요 │
│ │
│ ROAS가 150%로, 광고비 대비 순이익이 │
│ 낮은 상태예요. │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 🤖 AI 진단으로 더 정확한 조언 받기 │ │
│ │ │ │
│ │ "비검색 입찰가를 15% 낮추면 │ │
│ │ 순이익이 +12% 개선될 수 있어요" │ │
│ │ │ │
│ │ Pro 요금제에서 사용 가능 │ │
│ │ [Pro로 업그레이드] │ │
│ └────────────────────────────────────┘ │
└────────────────────────────────────────┘AC-03: FE - Pro/Business AI 진단 표시
| 항목 | 내용 |
|---|---|
| Given | Pro 또는 Business 요금제 |
| When | Surface Layer 조언 카드 표시 |
| Then | AI 진단 결과 + Beta 뱃지 |
UI 스펙:
┌────────────────────────────────────────┐
│ 🟡 주의가 필요합니다 🤖 Beta │
│ │
│ 최근 7일간 ROAS가 180% → 150%로 │
│ 하락했어요. 비검색 광고비가 65%를 │
│ 차지하고 있어서, 입찰가를 15% 낮추면 │
│ 순이익이 개선될 수 있어요. │
│ │
│ 💡 제안: 비검색 입찰가 15% 인하 │
│ 예상 효과: 순이익 +12% │
│ │
│ [적용했어요] [나중에] [맞지 않아요] │
└────────────────────────────────────────┘AC-04: 첫결제 100원 후 체험
| 항목 | 내용 |
|---|---|
| Given | Pro 첫결제 100원 쿠폰 사용 |
| When | Pro 요금제 활성화 |
| Then | AI 진단 즉시 사용 가능 |
플로우:
Trial (규칙 기반) → Pro 첫결제 100원 → AI 진단 활성화
↓
"이거 좋은데!"
↓
다음 달 ₩110,000
↓
유지 or 다운그레이드
↓
다운그레이드 시 AI 진단 사라짐
↓
"뭔가 부족한데..." → Pro 복귀태스크 분해
Task 1: BE - 진단 엔진 분기 AC-01
- [ ] 1.1: DiagnosisService에 PlanGuardService 주입
- [ ] 1.2: ai_diagnosis Feature 체크 로직
- [ ] 1.3: AI/규칙 기반 분기 처리
- [ ] 1.4: 응답에 diagnosisType 필드 추가 ('ai' | 'rule')
Task 2: FE - 업그레이드 유도 UI AC-02
- [ ] 2.1: AIDiagnosisTeaser 컴포넌트 (Starter/Basic용)
- [ ] 2.2: AI 진단 샘플 표시 (블러 또는 일부만)
- [ ] 2.3: 업그레이드 CTA
Task 3: FE - AI 진단 표시 AC-03
- [ ] 3.1: diagnosisType에 따른 UI 분기
- [ ] 3.2: AI 진단 시 🤖 Beta 뱃지
- [ ] 3.3: 제안 + 예상 효과 표시
Task 4: 첫결제 100원 연계 AC-04
- [ ] 4.1: 쿠폰 적용 시 즉시 Feature 활성화 확인
- [ ] 4.2: 다운그레이드 시 Feature 비활성화 확인
Dev Notes (AI Agent 최적화)
영향 받는 소스 트리
BE:
src/
├── service/
│ ├── diagnosis.service.ts # 🔄 수정 (분기 추가)
│ └── plan-guard.service.ts # (E-05-S-02)
└── dto/
└── diagnosis.dto.ts # 🔄 수정 (diagnosisType 추가)
FE:
src/
├── components/
│ ├── diagnosis/
│ │ ├── DiagnosisCard.tsx # 🔄 수정 (타입 분기)
│ │ ├── AIDiagnosisTeaser.tsx # 🆕 업그레이드 유도
│ │ └── AIBetaBadge.tsx # 🆕E-04와의 연계
E-04 (AI 진단 엔진)
├── E-04-S-01: LLM 연동 ─────────┐
├── E-04-S-02: AI 진단 API ──────┤
├── E-04-S-03: 프리미엄 게이트 ──┴─→ E-05-S-06 (요금제 분기)
└── E-04-S-05: Surface Layer UI ────→ E-05-S-06 (UI 분기)핵심: E-04-S-03(프리미엄 게이트)의 요금제 체크 로직을 E-05-S-02(PlanGuardService)로 통합
의존성
| 의존 | 설명 | 상태 |
|---|---|---|
| E-05-S-02 | PlanGuardService | 선행 필수 |
| E-04-S-01 | LLM 연동 | 병렬 가능 |
| E-04-S-02 | AI 진단 API | 병렬 가능 |
생성일: 2026-01-27
