--- type: plans tags: [plans, rag, companyx, search-quality, context] status: closed closed_date: 2026-03-22 closed_reason: P0 파일명 보조 검색 + A1 chunk_text 교정 + A3 추가 인덱싱. 17/17 전수 통과(100%). P1 대화 맥락 전달은 후속 과제. depends_on: 260321_하이브리드검색_품질개선_계획.md closing_criteria: A1 고유번호증 검색 적중 + B1 후속 질문 답변 성공 + 기존 PASS 회귀 없음 --- # 260322 검색 품질 2차 — 파일명 보조 검색 + 대화 맥락 전달 ## 목적 - A1(이미지 PDF 검색 미적중)을 파일명 기반 보조 검색으로 해소한다. - B 유형(대화 맥락 미연결)을 이전 grounding 결과 전달로 해소한다. ## 원인 → 조치 매핑 | # | 원인 | 조치 | 서버 | 우선순위 | |---|------|------|------|----------| | 1 | 이미지 PDF chunk_text가 깨져서 키워드/벡터 검색 모두 실패 | `team_document.filename` 기반 보조 키워드 매칭 추가 | 24 (skill-rag-file) | P0 | | 2 | 후속 질문에서 이전 검색 결과 미참조 | `try_companyx_grounding()`에 이전 grounding 결과(문서명 목록) 전달 | 24 (rb8001) | P1 | ## 작업 상세 ### P0: 파일명 보조 검색 - `postgres_vector_store.py`의 `hybrid_search()` 또는 별도 메서드에서 `team_document.filename ILIKE '%쿼리키워드%'` 결과를 RRF에 합산 - 벡터/키워드 검색이 못 잡는 이미지 PDF를 파일명으로 보완 - 기존 검색 결과와 RRF 합산하므로 회귀 위험 낮음 ### P1: 대화 맥락 전달 - `message_service.py`에서 이전 grounding 결과의 `grounding_doc_ids`와 `message`를 저장 - 후속 `try_companyx_grounding()` 호출 시 이전 문서명 목록을 컨텍스트로 전달 - LLM 프롬프트에 "이전 대화에서 참조한 문서: [목록]" 추가 ## 검증 기준 - A1: "고유번호증 보여줘" → 고유번호증 파일 기반 답변 - B1: "서면의결서 찾아줘" → 성공 → "이 문서 내용 말해줘" → 성공 - 기존 16개 샘플 PASS 유지 ## 닫는 조건 - A1 + B1 통과 + 기존 회귀 없음