ADR-003: LLM 연동
상황 (Context)
사주 정보(8자, 오행, 기운)만으로는 사용자 만족도가 낮을 수 있다. "기운 설명", "연간 운세", "전통 운세" 등 자연스러운 텍스트 형태의 운세 해석이 필요하다. 직접 작성하면 스케일링이 어렵고 개인화도 부족하다.
의사결정 (Decision)
OpenAI GPT-4o-mini API 사용
- 사주 8자, 오행 정보 + 프롬프트로 LLM 호출
- 기운 설명: 단기(1회), 연간/전통 운세: 장기(저장)
- Ablecity 비동기 콜백 후 LLM 호출 (ADR-004)
- 기본 운세 폴백 텍스트 준비 (API 장애 시 대체)
근거 (Rationale)
- 자연스러운 텍스트: GPT-4o는 한국어 이해력이 우수함
- 비용 효율: gpt-4o-mini 사용으로 비용 최적화
- 빠른 응답: 비동기 처리로 즉각적인 사용자 경험 제공
- 개인화 가능: 프롬프트 조정으로 톤 조정 간편
결과 (Consequences)
✅ 긍정
- 고품질 운세 해석 제공
- 개인화된 메시지로 사용자 만족도 향상
- 프롬프트 조정으로 빠른 A/B 테스트 가능
⚠️ 위험
- OpenAI API 비용 증가 (사용량 예측 어려움)
- LLM 할루시네이션으로 부정확한 운세 가능
- 제3자 API 의존도
완화 전략
- 기본 폴백 운세 텍스트 prepare (API 장애/비용 초과 시)
- 프롬프트 엔지니어링으로 정확도 개선
- 비용 모니터링 및 Rate Limiting
출시 전 확인사항
- 샘플 100케이스에 대한 품질 검증
- 불만족률 목표 설정 (5% 이하)
- 월 예상 비용 계산 및 예산 확보
- LLM 응답 캐싱 로직 구현
상태: ✅ 승인됨 | 최종 수정: 2026-06-25