프로젝트 기간: 2025.06.02 ~ 2025.06.24
ixi-U는 사용자의 통신 사용 습관을 자연어로 입력받아 최적의 요금제를 추천하는 대화형 챗봇 서비스입니다.
복잡한 요금제 탐색 과정을 단축하고, 개인화된 추천을 통해 통신비 절감과 만족도 향상을 목표로 합니다.
-
낮은 요금제 만족도
- 소비자 만족도가 30%에 불과하며, 요금제 선택의 핵심 기준인 ‘요금’ 항목이 가장 불만족스러운 요소로 꼽힘
-
복잡한 비교의 어려움
- 수십여 개 요금제 옵션을 일반 사용자가 일일이 비교·분석하기 어려워 비용 낭비 및 서비스 미스매칭 발생
-
기존 챗봇의 한계
- 기존 챗봇은 키워드 매칭과 정형화된 필터링에만 의존해 자연어 이해가 부족하고 유연한 응답 제공이 어려움
-
복잡한 요금제 선택 과정에서의 혼란 해소 → 의사결정 간소화
-
자연어 인터페이스를 통한 편의성 강화 → 사용자 경험(UX) 증대
-
맞춤형 요금제 추천으로 통신비 절감 → 비용 절감·고객 만족도 제고
-
Role Prompting (역할 기반 프롬프팅)
-
Chain-of-Thought, COT (단계적 추론)
-
Few-Shot-Learning with Example (예제 학습)
-
Question And Negative (or Negative Examples) 부정 학습
-
Constraint-Based Prompting (제약 기반 프롬프팅)
기존에는
String.contains를 고려하였으나 변형된 금칙어를 탐지할 수 없다는 우려 발생
Aho–Corasick, 단순 Contains, RAG 기반(벡터화 및 토크나이징), LLM 방식 각각의 오류율과 응답 속도를 측정하여 가장 적합한 금칙어 검출 방법을 선정하기로 결정
변형된 금칙어는 RAG 및 LLM 기반 방식으로 검출할 수 있으나, 이 과정에서 정상 데이터를 금칙어로 오판할 가능성이 높아지고 응답 속도도 느려짐
기존에는
String.contains를 고려하였으나 시간복잡도가 O(N*M) 이므로 응답 속도에 대한 우려 발생
아호코라식과 contains를 비교하여 상황 별 응답 속도 차이를 관측
앞으로 데이터 및 프로젝트의 확장성을 고려하여 아호코라식 방식을 채택
금칙어 필터링에 아호코라식 알고리즘 적용
자주 조회되는 요금제 페이지에 대한 부하상황 증가 가능성. 이에 따른 응답 속도 하락 문제 발생 가능
JMeter를 활용한 부하 테스트를 실시하여 시스템의 응답 속도 개선 여부 검증
-
Concurrent Users: 1,000
-
Test Duration: 60초
-
Dataset Size: 약 5,000개 요금제
-
LG U+ 사이트 일일 방문자: 약 25,200명
-
평균 세션(5분) 동시접속자: (25,200 × 300) ÷ 86,400 ≈ 87.5명
-
피크 계수(1.52) 적용 시: 135~175명
-
안정성 검증을 위해 1분 1,000명 환경으로 설정
-
Baseline (Pre-Cache): 캐시·인덱스 미적용
-
Optimized (With Cache): 캐시 + 인덱스 적용
캐시 및 인덱스 적용으로 목록 조회 평균 응답이 31 ms → 6 ms(80%↓), P95 38 ms → 12 ms(68%↓), 개수 조회 평균 13 ms → 4 ms(69%↓), P95 18 ms → 6 ms(66%↓) 로 대폭 개선
저희 팀의 고민이 담긴 깃허브 위키입니다✨
- 🛠️ 기술 스택 선택 이유
- 📑 Team Convention
- 🗓️ 프로젝트 일정
- 🏗️ Graph DB 설계
- 💬 AI 챗봇 개발
- 🚨 금칙어 필터링 개발
- 🔧 Cypher 쿼리 튜닝
- 💨 Redis 캐싱
- 📄 CypherDSL
- 🔐 Social Login & 인증/인가
- 👷 인프라 & CI/CD
👑 안민재 |
신예지 |
이소원 |
이진우 |
임재현 |
![]() 홍승민 |
|---|---|---|---|---|---|
|
|
|
|
|
|










