# 로빙 의도 파악 개선 플랜 **날짜**: 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`