시스템 개요¶
SeMu-GPT는 세무 도메인에 특화된 AI 어시스턴트로, 사용자가 자연어로 세금 관련 질문을 하면 LLM이 관련 법령·예규·판례·상담사례를 검색하여 근거 기반 답변을 생성한다.
한눈에 보기¶
| 영역 | 핵심 사실 |
|---|---|
| 사용 시나리오 | 사용자가 카테고리 선택 → 질문 입력 → 스트리밍 답변 + 참고자료 표시 → 필요시 후속 질문 (multi-turn) |
| 백엔드 | Kotlin 1.8 + Spring Boot 3.1, JPA + QueryDSL, JWT 인증, SSE 스트리밍 |
| 프론트엔드 | Next.js 16 App Router, React 19, Cloudflare Workers 배포 |
| 데이터 저장 | MySQL (사용자/멤버십/대화 세션), Elasticsearch 14 인덱스 (법령·예규·판례), Redis (캐시) |
| AI 스택 | OpenAI GPT-5 시리즈 (답변 + 임베딩), Langfuse (프롬프트 관리·트레이스), HyDE/RRF (검색 품질) |
| 인프라 | dev = AWS Lightsail + Cloudflare Tunnel / prod = AWS-native (ALB + EC2 + RDS), Soft launch 진행 중 |
| 결제 | Toss Payments V2 (PortOne V1에서 마이그레이션 #109) |
| 운영 도메인 | dev: semu-gpt-dev.bootalk.co.kr / prod: api.semugpt.co.kr / wiki: wiki.semugpt.co.kr |
비즈니스 도메인¶
- 타깃: 세무사·회계사·일반 사용자가 복잡한 세법 질문에 대해 빠르게 근거 기반 답변을 얻고 싶을 때
- 수익 모델: 멤버십(FREE/STANDARD/PREMIUM 3티어, 30일 갱신) + 쿠폰 발급 + 일회성 결제
- 핵심 가치: 단순 LLM 답변이 아니라 검색된 법령·예규·판례 인용을 포함한 정확성
시스템 구성 (개략)¶
사용자
↓
Frontend (Next.js, Cloudflare Workers)
↓ HTTP REST + SSE
Backend (Kotlin Spring Boot)
↓
MySQL · Elasticsearch · Redis · OpenAI · Toss · SENS · Langfuse
상세 다이어그램은 아키텍처 다이어그램 참조.
문서 가이드¶
처음 시스템을 보는 경우 다음 순서로 읽으면 가장 효율적:
- 이 페이지 — 전체 그림
- 아키텍처 개요 — 컴포넌트 책임 + 통신 패턴
- 아키텍처 다이어그램 — 시각화된 7개 다이어그램
- 회원 / 인증 — canonical 기능 페이지 (모든 기능 페이지의 구조 동일)
- 관심 있는 기능 카탈로그 페이지
- API 레퍼런스 — 자동 생성된 OpenAPI 스펙
- (운영 담당자) 운영 런북
- (인수받는 팀) 인수인계 부록
자주 혼동되는 용어 (선제 안내)¶
- SMS 발송: Naver Cloud SENS (AWS SNS 아님 —
SensMessageSender활성,SnsMessageSender비활성) - DNS 분리:
bootalk.co.kr은 Cloudflare DNS,semugpt.co.kr은 Route 53 LawCategory(13개) vsTaxCategory— 추론 전용, 1:1 매핑 아님MembershipType—TOKEN_PACK없음 (런타임 깨짐 위험 — 알려진 이슈)- 모든 용어는 용어집 참조 (218 항목).