2.0 KiB
2.0 KiB
짧은 후속 질문 LLM 우선 해결 Phase 1, 2 구현
날짜: 2025-12-23
작성자: happybell80
관련 계획: journey/plans/251223_짧은_후속_질문_LLM_우선_해결_계획.md
문제
실패한 질문 18개 (총 23개 중 78%): 짧은 후속, 맥락 의존, 모호한 질문 등이 UNKNOWN으로 분류됨.
구현 내용
Phase 1: LLM 질문 확장
llm_service.py:43-110:expand_question()메서드 추가message_service.py:176-202: 짧은 질문(len <= 10) 감지 후 LLM 확장 통합- 맥락(recent_conversations, session_slots) 포함하여 완전한 질문으로 확장
Phase 2: LLM 의도 분류 강화
intent_parser.py:26-113: 맥락 정보를 프롬프트에 포함intent_graph.py:32-75: 확신도 < 0.7일 때 맥락 포함 재분류message_service.py:143-157: 세션 슬롯 정보를 context에 추가
결과
| 항목 | Phase 1 | Phase 2 | 전체 |
|---|---|---|---|
| 해결률 | 8/17 (47.1%) | +5/9 (55.6%) | 13/18 (72.2%) |
| 목표 | - | - | 15/18 (83%) |
해결된 질문 예시:
- "어디서?" → "회의는 어디서 하나요?" → calendar_event
- "그거 어떻게 됐어?" → "이메일 발송은 어떻게 됐어요?" → email_send
- "취소해줘" → "이메일 발송을 취소해주세요." → email_send
미해결 질문 (5개):
- "A를 어떻게 할까요?" (unknown, 신뢰도 0.50)
- "A와 B 중에 어느 것이 더 나은가요?" (unknown, 신뢰도 0.50)
- "너는 뭘 할 수 있어?" (unknown, 신뢰도 0.60)
교훈
- LLM 우선 접근 효과: 규칙 기반 대신 LLM이 맥락을 이해하여 질문 확장 및 의도 분류 성공
- 맥락 정보 중요: recent_conversations와 session_slots를 포함하면 정확도 향상
- 단계별 개선: Phase 1(질문 확장)만으로는 부족, Phase 2(재분류) 추가로 72% 달성
참고
311_FastAPI_구조_원칙.md(섹션 13: LLM 우선 접근 원칙)rb8001/tests/test_failed_questions_results.md(초기 테스트 결과)