---
tags: [AI-Agent, RAG]
---

# Hybrid Retrieval

> 희소(BM25) 검색과 밀집(벡터) 검색을 결합해 두 방식의 약점을 상호 보완하는 검색 전략.

## 핵심 개념

단일 검색 방식은 한계가 뚜렷하다.

- **[[BM25]] (sparse)**: 정확한 키워드는 잘 잡지만 동의어·의미를 이해하지 못한다.
- **벡터 검색 (dense, [[Embedding]])**: 의미적 유사성은 강하지만 고유명사·코드·약어 같은 정확 일치를 놓치기 쉽다.

**하이브리드 검색**은 두 검색을 동시에 실행하고 결과를 융합해, 키워드 정밀도와 의미 재현율을 함께 확보한다.

## 동작 원리

1. 질의를 BM25용(어휘)과 임베딩용(벡터)으로 각각 처리한다.
2. 두 검색기에서 각자 상위 K개 후보를 가져온다.
3. **점수 융합(fusion)** 으로 두 결과를 하나의 랭킹으로 합친다.
4. 필요 시 [[Re-ranking]]으로 최종 정밀도를 높인다.

## 융합 방식

### RRF (Reciprocal Rank Fusion)
가장 널리 쓰이는 융합 기법. **점수의 절댓값 대신 순위(rank)** 만 사용하므로 BM25와 코사인처럼 척도가 다른 점수를 정규화 없이 결합할 수 있다.

```
RRF(d) = Σ_r  1 / ( k + rank_r(d) )
```

- `rank_r(d)`: 검색기 r에서 문서 d의 순위(1부터).
- `k`: 상수(보통 60). 상위권 순위 간 점수 차를 완만하게 만들어 안정적으로 융합.
- 여러 검색기에서 고르게 상위에 오른 문서가 높은 점수를 받는다.

### 가중 점수 합 (Weighted sum)
각 검색기 점수를 정규화한 뒤 `α·dense + (1-α)·sparse`로 가중 합산. 척도 정규화가 필요하고 가중치 `α` 튜닝이 까다롭다.

## 장단점

- **장점**: 어휘·의미 양쪽을 포괄해 단일 방식보다 일관되게 강건하다. 도메인 특이어가 많은 데이터에서 특히 효과적.
- **단점**: 두 인덱스를 운영해야 하고 검색 지연·비용이 증가한다. 융합 파라미터 튜닝이 필요.

## 관련 노트

- [[BM25]]
- [[Embedding]]
- [[Re-ranking]]
- [[Vector Database]]
- [[RAG Architecture]]
