DOCS/journey/plans/archive/251017_intent_analysis_improvement_plan.md
Claude-51124 725f8b047c docs: multi-centroid 적용 성과 문서화
- 트러블슈팅 문서에 개선 결과 섹션 추가 (23.4%→70.2%)
- 계획 문서 아카이브에 완료 사항 업데이트
- 리서치 README는 인덱스 역할로 간소화 (상세는 troubleshooting 참조)
2026-01-03 12:29:51 +09:00

3.5 KiB

로빙 의도 파악 개선 플랜

날짜: 2025-10-17 현재: 정규식 패턴 매칭만 사용


현재 문제

처리 불가 사례

질문 현재 처리 문제
"오늘 몇일이야?" UNKNOWN 시간 질문 패턴 없음
"리버스마운틴 유사 기업 가치평가해줘" UNKNOWN 복잡한 멀티스텝 질문
"아까 말한 그 기업 투자 단계는?" UNKNOWN 맥락 참조 불가

결론: 단순 명령만 처리 가능, 복합 질문 처리 불가


개선 방향 (3단계 구조)

구현 완료: troubleshooting/251126_happybell80_rb8001_의도_3단계_아키텍처_도입_및_배포.md

완료일: 2025-11-26
커밋: a4738b9 (rb8001)

완료 사항

  • 3단계 스키마 정의: intent/schemas.py (IntentCategory, IntentGoal, ActionPlan, SkillSequence)
  • IntentAnalyzer 구현: LLM 기반 제로샷 의도 분석
  • ActionPlanner 구현: IntentGoal → ActionPlan 변환
  • SkillSelector 구현: ActionPlan → SkillSequence 변환
  • DecisionEngine 통합: _build_intent_pipeline() 메서드 추가, execution_plan에 intent_pipeline 메타데이터 포함
  • TDD 테스트: tests/test_intent_3step_architecture.py 통과
1. 의도 파악 → 추상적 목표 (일정 관리, 정보 검색 등)
2. 행동 계획 → 구체적 행동 (등록, 조회, 삭제 등)
3. 스킬 선택 → 적절한 도구 (calendar_skill 등)

하이브리드 시스템

초기 테스트 결과 (2026-01-03): troubleshooting/260103_하이브리드_의도_분류_성능_비교_테스트.md

  • FastPath: 49.6% (72ms)
  • 제로샷 임베딩: 23.4% (80ms) - 개선 필요
  • 병행 비교: 49.6% (154ms) - 의미 없음

Multi-centroid 적용 완료 (2026-01-03): troubleshooting/260103_하이브리드_의도_분류_성능_비교_테스트.md

  • 커밋: 247496a (rb8001)
  • FastPath: 72.3% (64ms) - +22.7%p
  • 제로샷 임베딩: 70.2% (82ms) - +46.8%p
  • 병행 비교: 70.9% (148ms) - +21.3%p

개선된 구조

사용자 메시지
  ↓
1단계: 정규식 FastPath (명확한 패턴)
  ↓ 실패 또는 확신도 < 0.9
2단계: Multi-centroid 임베딩 (Top-3 후보 생성)
  ↓ 확신도 < 0.7
3단계: Few-shot LLM 분류 (Top-3 후보 + 예시)

완료 작업

1. Multi-centroid 방식 도입

  • 파일: scripts/seed_multi_centroid_prototypes.py 생성
  • 각 intent별 3개 K-means centroid 생성 (123개 샘플 사용)
  • intent_prototypes 테이블 version=3으로 저장
  • intent_store.py: load_multi_prototypes_db() 추가
  • semantic_classifier.py: multi-centroid 최대 유사도 계산 적용

2. Intent Prototypes DB 초기화

  • 768d Ko-SRoBERTa 기준으로 재임베딩 완료
  • intent_prototypes 테이블 version=3으로 저장
  • dimension mismatch 해결 (768d 일관성 유지)

3. Few-shot LLM 프롬프트 개선 🔄 진행 중

  • 파일: app/services/llm/intent_parser.py
  • Top-3 후보를 활용한 Few-shot 예시 추가 필요
  • Gemini 프롬프트 설계 원칙(313_Gemini_프롬프트_설계_원칙.md) 적용 필요

4. 성능 목표

  • FastPath: 72.3% 정확도 (64ms)
  • Multi-centroid embedding: 70.2% 정확도 (82ms) - 75%+ 목표 미달, 개선 필요
  • Few-shot LLM: 미구현 - 75%+ 달성을 위해 필요

참고

  • troubleshooting/251126_happybell80_rb8001_의도_3단계_아키텍처_도입_및_배포.md
  • troubleshooting/251126_intent_3step_db_bayesian_integration.md
  • 311_FastAPI_구조_원칙.md