문서 QA에 하이브리드 검색이 필요한 순간은 언제일까?
결론부터 말하면, BM25(희소) + 벡터(밀집) + 재랭킹을 섞은 하이브리드 검색은 단일 방식보다 안정적인 결과를 낸다. 특히 제품명·법령명·수치·코드처럼 정확한 키워드가 중요한 질의, 그리고 표와 텍스트가 섞인 긴 문서에서 체감 차이가 크다. 다만 구성요소가 늘어난 만큼 corpus·chunking·모델 버전을 고정하지 않으면 결과가 쉽게 흔들린다.
- 2026년 금융 QA 벤치마크 T2-RAGBench(질의 23,088개, 문서 7,318개)에서 하이브리드+재랭킹은 Recall@5 0.816을 기록했고, dense-only는 0.587에 그쳤다. 상대 개선폭은 약 39%다.
- 전자상거래 벤치마크 WANDS에서는 필드 부스팅까지 넣은 하이브리드가 NDCG 0.7497로, BM25(0.6983)·pure KNN(0.6953)보다 높았다.
- 하이브리드는 "정확한 용어 매칭"과 "의미 유사도"를 동시에 잡으려는 설계이지, 항상 더 빠르거나 더 저렴한 방법은 아니다.
- 평가는 Recall@k·MRR@k·NDCG@k뿐 아니라 "정답이 담긴 근거 조각을 실제로 찾았는가"까지 같이 봐야 한다.
이번 실험에서 검증하려던 질문은 단순했다. "문서 QA 파이프라인에 재랭킹까지 붙인 하이브리드 검색을, 벡터 검색만 쓰던 구성에서 바꿀 만한 근거가 있는가?" 였다. 결론이 궁금해서 시작한 게 아니라, 어느 조건에서 체감 차이가 나는지, 어느 조건에서는 굳이 복잡도를 늘릴 필요가 없는지를 나누고 싶었다.
어떤 질의에서 하이브리드가 실제로 강할까?
정확한 용어와 의미 확장을 동시에 요구하는 질의에서 하이브리드가 강하다. BM25 같은 희소 검색은 제품명·약어·법령명·수치·코드처럼 exact-match가 중요한 질의에 강하고, 벡터 검색은 표현이 바뀐 패러프레이즈나 의미 확장 질의에 강하다. 문서 QA는 이 두 종류의 질의가 섞여서 들어오기 때문에, 한쪽만 잘하는 검색기는 어느 순간 반드시 구멍이 난다.
체감상 가장 크게 갈리는 지점은 "문서가 길고 표가 섞여 있을 때"였다. T2-RAGBench는 텍스트와 테이블이 섞인 금융 문서를 대상으로 했는데, 이 조건에서 dense-only 대비 하이브리드+재랭킹의 격차가 뚜렷하게 벌어졌다(Recall@5 0.587 → 0.816). 반대로 질의가 짧고 문서가 균일한 텍스트뿐이라면, 벡터 단독으로도 큰 문제가 없는 경우가 많았다. 즉 "하이브리드가 필요한가"는 데이터 특성 질문이지, 무조건 상위호환이라는 뜻은 아니다.
BM25와 벡터를 어떤 순서로 붙여야 재현 가능할까?
실무적으로 재현성이 높은 순서는 "희소 검색 → 밀집 검색 → RRF 같은 fusion → 재랭킹"이다. 각 단계를 독립적으로 켜고 끌 수 있게 만들어야, 나중에 어느 단계가 성능을 끌어올렸는지 되짚을 수 있다. WANDS 벤치마크에서는 기본 RRF hybrid만으로 NDCG 0.7068이 나와 BM25·KNN 단독보다 높았고, 여기에 메타필드 부스팅을 추가하자 0.7497까지 올라갔다. 이 흐름은 "일단 RRF로 시작하고, 이후 필드 가중치를 얹는" 단계적 접근이 안전하다는 근거로 쓸 만하다.
재랭킹을 마지막에 넣는 이유는 단순하다. 공개 자료들은 반복적으로 "하이브리드 단독보다 재랭커를 붙였을 때 성능이 더 오른다"고 보고한다. T2-RAGBench에서도 최상위 성능은 2단계 하이브리드+신경 재랭킹 조합에서 나왔다. 다만 재랭킹은 추가 모델 호출이 붙는 단계라, latency와 비용이 같이 늘어난다는 점은 설계 초반에 감안해야 한다. 실험 단계에서는 재랭킹 유무를 A/B로 나눠 latency 증가폭을 같이 기록해두는 편이 나중에 판단하기 편하다.
무엇을 재고 무엇을 고정해야 결과를 믿을 수 있을까?
평가 지표는 Recall@k, MRR@k, NDCG@k를 기본으로 두되, "정답 근거 조각을 실제로 찾았는가"를 별도로 확인해야 한다. 점수만 보면 근거는 못 찾았는데 우연히 답이 맞는 경우, 반대로 근거는 찾았는데 답을 잘못 생성하는 경우를 구분하지 못한다. 실무 평가에서는 retrieval recall, 첫 유용한 결과의 순위, 중복 컨텍스트 비율, 근거 없는 답변 비율, 단계별 latency를 함께 보는 게 안전하다.
더 중요한 건 평가셋 설계다. 평균 점수 하나만 보면 "정확한 ID를 묻는 질문"에서의 실패가 다른 질의들 점수에 묻혀 가려질 수 있다. 그래서 평가셋은 실제 업무 질의를 기반으로, exact-ID 질문·패러프레이즈 질문·혼합 질의·no-answer 질의를 나눠서 따로 채점해야 한다. 이번 실험에서도 전체 평균은 큰 차이가 없어 보였는데, exact-ID 구간만 따로 떼어보니 벡터 단독 구성의 실패율이 눈에 띄게 높았다.
마지막으로 재현성을 위해 corpus 버전, 필터 조건, chunking 방식, embedding 모델, reranker 모델을 고정해야 한다. 하이브리드는 구성요소가 많은 파이프라인이라, 이 중 하나만 바뀌어도 점수가 흔들린다. 실험 로그에 "이번 실행에서 무엇을 바꿨는지"를 한 줄로 남기지 않으면, 나중에 어떤 변화가 성능을 움직였는지 추적하기 어려워진다.
실제 벤치마크에서는 어떤 수치가 나왔을까?
공개된 두 벤치마크가 방향은 같고 크기는 다르게 나온다. 아래 표는 이번 실험에서 참고한 두 벤치마크의 핵심 수치다.
| 벤치마크 | 조건 | 대표 수치 |
|---|---|---|
| T2-RAGBench (금융 QA, 2026) | dense-only | Recall@5 0.587 |
| T2-RAGBench (금융 QA, 2026) | 하이브리드+신경 재랭킹 | Recall@5 0.816, MRR@3 0.605 |
| WANDS (전자상거래) | BM25 단독 | NDCG 0.6983 |
| WANDS (전자상거래) | 튜닝된 하이브리드 | NDCG 0.7497 |
여기에 더해, 시각적으로 풍부한 문서(스캔 문서, 슬라이드 형태 등)를 다루는 2026년 HEAVEN 연구는 multi-vector 모델 대비 Recall@1의 99.87%를 유지하면서 쿼리당 계산량을 99.82% 줄였다고 보고했다. 정밀도를 거의 유지하면서 비용을 크게 낮춘 사례라, "성능"과 "비용"을 분리해서 판단해야 한다는 근거로 쓸 만하다. 또한 2026년 EDBT 논문은 query-aware hybrid search가 고리콜 조건(Recall 95% 이상)에서 특정 벡터 DB 대비 최대 8배 효율적이었다고 보고했는데, 이는 특정 벤치마크·특정 DB 비교이므로 일반화보다는 "효율 비교가 가능한 조건이 있다" 정도로 참고하는 게 안전하다.
하이브리드 검색은 어디서 막히는가?
여기까지는 좋은 소식이지만, 하이브리드가 항상 이긴다는 뜻은 아니다. 첫째, 구성요소가 늘어나는 만큼 운영 복잡도가 올라간다. BM25 인덱스, 벡터 인덱스, fusion 로직, 재랭커 모델을 각각 관리해야 하고, 이 중 하나의 버전이 바뀌면 전체 점수가 흔들린다. 둘째, 재랭킹 단계는 추가 지연시간과 추가 비용을 만든다. 쿼리당 지연이 중요한 실시간 서비스에서는 재랭커를 항상 켜두기보다, 1차 결과 신뢰도가 낮을 때만 선택적으로 붙이는 절충이 필요할 수 있다.
셋째, 벤치마크 수치는 특정 데이터 조건에서 나온 결과다. T2-RAGBench의 39% 개선은 텍스트+표가 섞인 금융 문서 조건에서 측정된 것이고, WANDS의 7.4% 개선은 전자상거래 검색 조건에서 측정된 것이다. 두 도메인 모두 "정확한 용어"가 중요한 환경이라는 공통점이 있어서, 질의 대부분이 자유서술형 패러프레이즈뿐인 도메인에서는 개선폭이 이보다 작을 수 있다. 마지막으로, 하이브리드+재랭킹 조합이 항상 최고 점수를 낸다고 단정할 근거는 없다. 공개된 자료들은 "단일 방식보다 낫다"는 방향성을 반복해서 보여줄 뿐, 모든 조건에서의 우위를 보장하지는 않는다.
이번 실험에서 남은 질문은 무엇인가?
이번 실험을 정리하면서 남은 건 "언제 재랭킹까지 켜야 하는가"라는 질문이었다. 재랭킹은 확실히 점수를 올리지만, 그만큼 지연시간과 모델 호출 비용이 붙는다. 문서 QA 트래픽이 많지 않은 초기 서비스라면 하이브리드(BM25+벡터+RRF)까지만 붙이고, 재랭킹은 정확도가 부족하다고 판단될 때 단계적으로 얹는 편이 실험 비용 대비 합리적으로 보였다. 반대로 금융·법률처럼 정확도 실패가 곧바로 신뢰 문제로 이어지는 도메인이라면, 재랭킹까지 포함한 풀 파이프라인을 기본값으로 두는 쪽이 안전해 보였다.
다음 실험으로 미뤄둔 건 두 가지다. 하나는 재랭커를 항상 켜는 것과 조건부로 켜는 것의 latency·비용 차이를 실측하는 것이고, 다른 하나는 exact-ID 질의 비중이 다른 도메인에서 하이브리드의 개선폭이 어떻게 달라지는지를 별도로 재보는 것이다. 지금 가진 수치는 금융 QA와 전자상거래 두 도메인뿐이라, 다른 도메인에 그대로 적용하는 건 아직 이르다고 본다.
핵심 정리
- 하이브리드 검색(BM25+벡터+재랭킹)은 정확한 키워드와 의미 유사도를 동시에 요구하는 문서 QA에서 단일 방식보다 안정적인 결과를 낸다.
- T2-RAGBench 벤치마크에서 하이브리드+재랭킹은 dense-only 대비 Recall@5 약 39% 상대 개선(0.587→0.816)을 보였다.
- WANDS 벤치마크에서 튜닝된 하이브리드는 BM25·pure KNN보다 NDCG가 약 7.4% 높았다(0.7497 vs 0.6983/0.6953).
- 평가는 Recall@k·MRR@k·NDCG@k와 함께 exact-ID·패러프레이즈·no-answer 질의를 나눠서 봐야 한다.
- 재랭킹은 성능을 올리지만 지연시간과 비용을 함께 늘리므로, 도메인의 정확도 민감도에 따라 상시 사용 여부를 정해야 한다.