- FastPath 49.6%, 제로샷 임베딩 23.4%, 병행 비교 49.6% 테스트 결과 기록 - Multi-centroid 방식 및 Few-shot LLM 프롬프트 개선 방향 제시 - 계획 문서 및 리서치 문서 업데이트
3.0 KiB
3.0 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) - 의미 없음
개선된 구조
사용자 메시지
↓
1단계: 정규식 FastPath (명확한 패턴)
↓ 실패 또는 확신도 < 0.9
2단계: Multi-centroid 임베딩 (Top-3 후보 생성)
↓ 확신도 < 0.7
3단계: Few-shot LLM 분류 (Top-3 후보 + 예시)
필요 작업
1. Multi-centroid 방식 도입
- 파일:
scripts/seed_intent_runtime.py확장 - 각 intent별 5-10개 예시 문장으로 K-means centroid 생성
seed_calendar_event_samples.py방식 참고
2. Intent Prototypes DB 초기화
- 768d Ko-SRoBERTa 기준으로 재임베딩
- intent_prototypes 테이블 version=2로 저장
- dimension mismatch 해결
3. Few-shot LLM 프롬프트 개선
- 파일:
app/services/llm/intent_parser.py - Top-3 후보를 활용한 Few-shot 예시 추가
- Gemini 프롬프트 설계 원칙(
313_Gemini_프롬프트_설계_원칙.md) 적용
4. 성능 목표
- FastPath: 80% 케이스 (< 10ms) - 유지
- Multi-centroid embedding: 75%+ 정확도 (< 200ms) - 목표
- Few-shot LLM: 5% 케이스 (1-2s) - 최적화
참고
troubleshooting/251126_happybell80_rb8001_의도_3단계_아키텍처_도입_및_배포.mdtroubleshooting/251126_intent_3step_db_bayesian_integration.md311_FastAPI_구조_원칙.md