---
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 통과 + 기존 회귀 없음
