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

# Re-ranking

> 1차 검색으로 추린 후보 문서들을 더 정밀한 모델로 다시 채점·정렬하는 2단계 검색 기법.

## 핵심 개념

벡터·BM25 검색은 빠르지만 정밀도가 낮을 수 있다. 그래서 RAG는 흔히 **2단계 검색**을 쓴다.

1. **1차 검색 (Retrieval)**: 빠른 임베딩/BM25로 상위 50~100개 후보를 넓게 가져온다(재현율 우선).
2. **재순위 (Re-ranking)**: 무거운 모델로 후보를 정밀 재평가해 상위 3~10개만 LLM에 넘긴다(정밀도 우선).

이 구조는 "빠른 후보 생성 → 정밀 선별"로 속도와 품질을 동시에 잡는다.

## Cross-encoder 재순위

핵심 도구는 **크로스 인코더(cross-encoder)** 다.

- **Bi-encoder (1차 검색)**: 질의와 문서를 **각각 따로** 임베딩한 뒤 벡터 유사도만 비교한다. 문서 벡터를 미리 인덱싱할 수 있어 빠르지만, 둘의 상호작용을 보지 못한다.
- **Cross-encoder (재순위)**: 질의와 문서를 **한 입력으로 붙여** 트랜스포머에 통과시키고 직접 관련성 점수를 출력한다. 토큰 수준 상호작용을 보므로 훨씬 정확하지만, 후보마다 모델을 돌려야 해 느리고 비싸다. 그래서 소수 후보에만 적용한다.

대표 모델: Cohere Rerank, BGE-reranker, Jina Reranker, cross-encoder/ms-marco 계열.

## 동작 흐름

```
질의 → 1차 검색(Top-100) → 각 (질의, 문서) 쌍을 cross-encoder로 채점
     → 점수순 정렬 → Top-K 선별 → LLM 컨텍스트로 전달
```

## 장단점

- **장점**: 정밀도가 크게 향상되어 노이즈 청크가 줄고, 적은 컨텍스트로도 정확한 [[Grounding]]이 가능. 결과적으로 토큰 비용·환각 감소.
- **단점**: 추가 추론 지연·비용. 후보 수가 많을수록 부담 증가. LLM 기반 reranker는 더 강력하지만 더 느림.

## 관련 노트

- [[Hybrid Retrieval]]
- [[Embedding]]
- [[Vector Database]]
- [[Grounding]]
- [[Context Engineering]]
- [[Re-rank]] (용어사전)
