diff --git a/journey/plans/251223_짧은_후속_질문_LLM_우선_해결_계획.md b/journey/plans/251223_짧은_후속_질문_LLM_우선_해결_계획.md index 3532bde..2da9b8c 100644 --- a/journey/plans/251223_짧은_후속_질문_LLM_우선_해결_계획.md +++ b/journey/plans/251223_짧은_후속_질문_LLM_우선_해결_계획.md @@ -43,8 +43,8 @@ LangGraph 워크플로우 (엔티티 추출 → 스킬 선택) ``` ### 필요 작업 -1. LLM 질문 확장 기능 추가 -2. LLM 의도 분류 맥락 포함 강화 +1. ✅ LLM 질문 확장 기능 추가 (완료) +2. ✅ LLM 의도 분류 맥락 포함 강화 (완료) 3. LangGraph 기반 워크플로우 구현 4. 세션 맥락 LLM 전달 @@ -52,12 +52,12 @@ LangGraph 워크플로우 (엔티티 추출 → 스킬 선택) ## 구현 단계 -| Phase | 작업 | 기간 | +| Phase | 작업 | 상태 | |-------|------|------| -| 1 | LLM 질문 확장 구현 | 1주 | -| 2 | LLM 의도 분류 강화 | 1주 | -| 3 | LangGraph 워크플로우 | 2주 | -| 4 | 세션 맥락 통합 | 1주 | +| 1 | LLM 질문 확장 구현 | ✅ 완료 → `troubleshooting/251223_짧은_후속_질문_LLM_Phase12_구현.md` | +| 2 | LLM 의도 분류 강화 | ✅ 완료 → `troubleshooting/251223_짧은_후속_질문_LLM_Phase12_구현.md` | +| 3 | LangGraph 워크플로우 | 진행 예정 | +| 4 | 세션 맥락 통합 | 진행 예정 | --- diff --git a/journey/troubleshooting/251223_짧은_후속_질문_LLM_Phase12_구현.md b/journey/troubleshooting/251223_짧은_후속_질문_LLM_Phase12_구현.md new file mode 100644 index 0000000..ecdd4bb --- /dev/null +++ b/journey/troubleshooting/251223_짧은_후속_질문_LLM_Phase12_구현.md @@ -0,0 +1,60 @@ +# 짧은 후속 질문 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) + +--- + +## 교훈 + +1. **LLM 우선 접근 효과**: 규칙 기반 대신 LLM이 맥락을 이해하여 질문 확장 및 의도 분류 성공 +2. **맥락 정보 중요**: recent_conversations와 session_slots를 포함하면 정확도 향상 +3. **단계별 개선**: Phase 1(질문 확장)만으로는 부족, Phase 2(재분류) 추가로 72% 달성 + +--- + +## 참고 + +- `311_FastAPI_구조_원칙.md` (섹션 13: LLM 우선 접근 원칙) +- `rb8001/tests/test_failed_questions_results.md` (초기 테스트 결과) +