diff --git a/journey/plans/260321_하이브리드검색_품질개선_계획.md b/journey/plans/260321_하이브리드검색_품질개선_계획.md index c76eaf2..821c120 100644 --- a/journey/plans/260321_하이브리드검색_품질개선_계획.md +++ b/journey/plans/260321_하이브리드검색_품질개선_계획.md @@ -27,7 +27,7 @@ - 파일: `app/services/postgres_vector_store.py` → `_build_keyword_tsquery()` - 변경: 각 토큰에 `:*` 접미 - 예: `"아크로셀 | 개인투자조합"` → `"아크로셀:* | 개인투자조합:*"` -- 예상 효과: recall 27% → 90% (실측 기준) +- 예상 효과: recall 27% → 90% (키워드 '투자' 실측 기준). 단 복합어 내부 매칭(`개인투자조합` → `투자`)은 prefix로도 불가하므로 90%는 상한이지 보장값이 아님 ### P0-2: keyword threshold 분리 (skill-rag-file) @@ -58,6 +58,8 @@ - 변경: `team_id == COMPANYX_TEAM_ID`이면 `_looks_like_companyx_grounding_question()` 체크를 건너뛰고 항상 grounding 시도 - **fallback 확인**: 현재 `try_companyx_grounding()`이 `None`을 반환하면 `message_service.py`가 일반 의도 분류로 진행 (라인 81-93). 이 흐름은 변경하지 않음 - 따라서 grounding 검색 결과 0건이면 기존처럼 일반 챗봇 경로로 자연 fallback +- **범위 위험**: 일반 대화("점심 뭐 먹을까?")도 검색 API를 태우게 됨. 불필요한 API 호출 + 응답 지연 발생 가능 +- **롤백 기준**: 배포 후 일반 대화 응답 지연이 1초 이상 증가하거나, grounding 경로 진입률이 80% 이상이면 마커 체크 복원 ## 실행 순서