# RAG Retrieval PoC — 개발 평가 요약

동결 v2 기록에서 결과·판단·한계만 발췌한 공개 파생본이다. 원본 코드, 평가 문항, 개인 자료는 포함하지 않는다. 독립 재현 패키지가 아니며, 아래 값은 새로 측정한 결과가 아니다.

## 평가 조건

- BM25: k1=1.2, b=0.6, 문서당 최대 2개, top-k 5. v2에서는 검색 설정을 바꾸지 않았다.
- combined100 = dev60 + 기존 holdout v1 40문항. holdout v1은 실패 분석에 사용됐으므로 이제 개발 데이터다.
- 첫 holdout 실패 9건 중 8건은 검색 이후 답변 범위·근거 귀속 판단 계층에서 발생했다. v2는 근거가 부족하면 판단을 유보하고, 주제 적용 조건과 기여 귀속을 분리했다.
- unseen holdout v2 검증 전 설정을 동결했다. 개발 기준 통과를 일반화 성능이나 사용자 실서비스 성과로 해석하지 않는다.

## combined100 개발 결과

| 항목 | 기준 | 기록된 결과 |
|---|---|---|
| 근거 없는 질문 정상 거절 | 12/12 | 12/12 |
| 답변 가능한 질문 정상 답변 | ≥87/88 | 88/88 |
| 과잉 거절 | ≤1/88 | 0/88 |
| 답변의 인용 정확성 | ≥0.98 | 0.989 |
| 답변 가능 질문의 근거 coverage | ≥0.98 | 0.989 |
| 경계 질문 coverage | ≥0.97 | 1.000 |

## 채택하지 않은 대안

| 대안 | 관찰 | 판단 |
|---|---|---|
| applicability B: 선언 근거가 top-5에 있을 때만 판단 카드 적용 | 인용 정확성 A 0.989 / B 0.909. B는 정답 claim이 있어도 판단 카드를 부여하지 못한 경우 20건 | 검색에서 근거를 못 찾은 경계 질문에 필요한 제한까지 사라져 기각 |
| 질문을 나누는 facet 검색·교차 병합 | cross R@3 0.857 → 0.714, 개선 0건·악화 2건; adversarial 0.667 → 0.583 | 목표 문항을 고치지 못하고 다른 문항도 악화해 기각 |

## 남은 실패와 해석 한계

개발 문항 X08은 데이터 수집부터 학습까지의 기여를 함께 묻는다. 필요한 근거가 4위에 남아 검색 실패가 해결되지 않았다. 질문 분할도 해결하지 못했고, 그 한 문항만을 위한 검색 튜닝은 하지 않았다.

v1에서 R@3가 개발 1.000에서 holdout 0.800으로 낮아진 전례가 있다. 따라서 위 결과는 설정 동결의 근거이며 unseen holdout 성능의 증거가 아니다. 상용 RAG 운영 경험이나 자동 원인 분석 성과를 주장하지 않는다.

[프로젝트 상세로 돌아가기](../../../projects/rag-retrieval-poc/)
