From 270ebb2d24cd9041b4ca0882adc84538e4b3732f Mon Sep 17 00:00:00 2001 From: happybell80 Date: Sat, 21 Mar 2026 16:08:14 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20prefix=20recall=20=EC=83=81=ED=95=9C=20?= =?UTF-8?q?=EB=AA=85=EC=8B=9C=20+=20=EB=9D=BC=EC=9A=B0=ED=8C=85=20?= =?UTF-8?q?=EC=99=84=ED=99=94=20=EB=B2=94=EC=9C=84=20=EC=9C=84=ED=97=98/?= =?UTF-8?q?=EB=A1=A4=EB=B0=B1=20=EA=B8=B0=EC=A4=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .../plans/260321_하이브리드검색_품질개선_계획.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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% 이상이면 마커 체크 복원 ## 실행 순서