- FastPath 49.6%, 제로샷 임베딩 23.4%, 병행 비교 49.6% 테스트 결과 기록 - Multi-centroid 방식 및 Few-shot LLM 프롬프트 개선 방향 제시 - 계획 문서 및 리서치 문서 업데이트
3.6 KiB
3.6 KiB
하이브리드 의도 분류 성능 비교 테스트
날짜: 2026-01-03
작성자: Auto
관련 파일: rb8001/scripts/test_intent_classification_comparison.py, rb8001/app/services/brain/decision_engine.py, rb8001/app/services/brain/semantic_classifier.py
문제 상황
하이브리드 의도 분류 시스템 개선을 위해 FastPath(정규식), 제로샷 임베딩, 병행 비교 3가지 방법의 성능을 비교 검증 필요.
테스트 방법
테스트 데이터: 141개 질문
tests/data/intent_eval_samples.json: 95개tests/data/intent_eval_challenge.json: 28개- 실패한 질문 패턴: 18개
테스트 방법:
- FastPath만:
DecisionEngine.analyze_intent()(정규식 기반) - 제로샷 임베딩만:
SemanticIntentClassifier.top_k()+ confidence - 병행 비교: FastPath와 임베딩 모두 실행 후 confidence 비교하여 선택
테스트 결과
| 방법 | 정확도 | 평균 응답 시간 | 정확도 순위 |
|---|---|---|---|
| FastPath만 | 49.6% (70/141) | 72.0ms | 1위 |
| 제로샷 임베딩만 | 23.4% (33/141) | 80.4ms | 3위 |
| 병행 비교 | 49.6% (70/141) | 153.6ms | 1위 |
문제 분석
1. 제로샷 임베딩 성능 저하 (23.4%)
원인:
intent_prototypesDB 미초기화 또는 384d→768d 차원 불일치- 단일 description 기반 prototype으로 유사도 계산 부정확
- IntentType enum 값과 intent_prototypes의 intent 이름 불일치
리서치 기준 대비: 75% 정확도 달성 가능 (multi-centroid 방식)
2. 병행 비교 실패
원인:
- 제로샷 임베딩 정확도가 낮아 FastPath 결과만 선택됨
- 두 결과가 다를 때 confidence 차이 0.3 이상 기준이 너무 높음
- 대부분 케이스에서 FastPath가 항상 선택되어 병행 비교 의미 없음
3. FastPath 한계 (49.6%)
주요 오류 패턴:
- "핀테크 업계 오늘 기사 검색" → web_search (실제: news_fetch)
- "어제 받은 메일 두 줄로 정리" → email_read (실제: email_summary)
- 유사한 intent 구분 어려움
개선 방향
1. Multi-centroid 방식 도입
- 각 intent별 5-10개 실제 예시 문장으로 K-means centroid 생성
seed_calendar_event_samples.py방식으로 모든 intent 확장- intent_prototypes DB에 version=2로 저장
2. Few-shot LLM 프롬프트 개선
- Top-3 임베딩 후보를 활용한 Few-shot 예시 추가
- Gemini 프롬프트 설계 원칙(
313_Gemini_프롬프트_설계_원칙.md) 적용 - XML 구조화된 프롬프트로 예시 블록 제공
3. 하이브리드 3단계 최적화
- FastPath(명확 패턴) → multi-centroid embedding(Top-3) → Few-shot LLM
- multi-centroid 정확도 개선 후 병행 비교 재검토
교훈
프로덕션 테스트의 중요성
- 리서치 문서의 이론적 성능과 실제 성능 차이 확인 필수
- intent_prototypes DB 초기화 상태와 차원 일치 여부 사전 확인
Few-shot Prompting 활용
- 제로샷 LLM보다 Few-shot 예시가 효과적 (
313_Gemini_프롬프트_설계_원칙.md) - Top-3 후보를 활용한 컨텍스트 제공으로 정확도 향상 가능
단계적 개선 전략
- FastPath 유지 (명확 패턴 처리, 49.6% 정확도)
- multi-centroid embedding으로 75%+ 달성 후 병행 비교 적용
참고
- 계획 문서:
journey/plans/archive/251017_intent_analysis_improvement_plan.md - 리서치 문서:
journey/research/intent_classification/README.md - 프롬프트 설계 원칙:
book/300_architecture/313_Gemini_프롬프트_설계_원칙.md - 테스트 결과:
rb8001/tests/results/intent_classification_comparison.json