
RAG reranking은 검색된 문서를 그대로 넣기 전에, 질문과 더 잘 맞는 순서로 다시 정렬하는 단계입니다. 벡터 검색이 비슷한 문서를 넓게 찾는 일이라면, reranking은 그 후보 중에서 실제 질문에 더 직접적인 근거를 앞으로 올리는 일에 가깝습니다.
RAG가 기대보다 흔들릴 때 많은 사람이 embedding 모델이나 vector DB부터 의심합니다. 하지만 실제로는 검색 후보를 모으는 일과 답변에 넣을 근거를 고르는 일이 서로 다른 문제인 경우가 많습니다.

RAG reranking이 필요한 이유
Pinecone의 rerank results 문서는 reranking을 검색 결과 품질을 높이는 단계로 설명합니다. Cohere의 reranking 문서도 query와 documents를 바탕으로 관련성 순서를 다시 매기는 흐름을 다룹니다.
이 글은 이전에 다룬 AI agent memory eval 글처럼, AI 시스템의 품질 문제를 한 덩어리로 보지 않고 단계별로 나누어 보는 관점과 이어집니다.
벡터 검색은 의미적으로 가까운 문서를 찾는 데 강합니다. 그러나 의미적으로 비슷하다는 것과 지금 질문에 답하는 데 가장 좋은 근거라는 것은 다릅니다. 문서가 길거나, 비슷한 주제가 많거나, 최신 문서와 오래된 문서가 섞여 있으면 top-k 결과가 그대로 좋은 context가 되지 않을 수 있습니다.
- 질문과 주제는 비슷하지만 답은 없는 문서가 섞인다
- 비슷한 문서가 여러 개 들어와 context를 낭비한다
- 중요한 문서가 top-k 밖으로 밀린다
- 검색 점수는 높지만 답변 근거로는 약한 문서가 앞에 온다
이 문제를 줄이기 위해 1차 검색은 후보를 넓게 가져오고, reranker가 질문과 문서의 관련성을 다시 판단한 뒤, context packing 단계에서 실제로 넣을 근거를 고릅니다.
vector search와 reranker는 역할이 다르다
vector search는 대량의 문서에서 빠르게 후보를 찾는 데 초점이 있습니다. 반면 reranker는 이미 추려진 후보를 더 비싸고 정교한 방식으로 다시 비교하는 데 초점이 있습니다. 그래서 보통 전체 문서에 reranker를 바로 쓰지 않고, 먼저 top 20이나 top 50 정도의 후보를 가져온 뒤 재정렬합니다.
query: "SavedStateHandle은 process death에서 왜 필요할까?"
1차 vector search
- 후보 문서 40개 검색
reranking
- 질문과 각 문서의 직접 관련성 비교
- 상태 보존 일반론보다 process death 설명 문서를 앞으로 이동
context packing
- 상위 4~6개 문서만 답변 context로 구성즉 reranking은 검색을 대체한다기보다 검색 결과를 답변에 더 맞게 다듬는 후처리 단계입니다.
hybrid search와는 무엇이 다를까
hybrid search는 벡터 검색과 키워드 검색을 함께 쓰는 방식입니다. 예를 들어 제품명, API 이름, 정확한 에러 메시지처럼 문자열이 중요한 질문에서는 키워드 검색이 강합니다. 반대로 표현이 조금 달라도 의미가 비슷한 문서를 찾을 때는 벡터 검색이 강합니다.
reranking은 이 둘과 경쟁하는 개념이 아닙니다. hybrid search로 후보를 더 잘 모으고, reranker로 후보 순서를 다시 정하고, 마지막으로 context packing에서 답변에 넣을 범위를 줄이는 식으로 함께 쓰일 수 있습니다.
RAG reranking을 넣기 전에 확인할 것
- 1차 검색 결과를 샘플로 저장한다
- 좋은 답변에 필요한 근거 문서가 후보 안에 있는지 본다
- 후보 안에는 있는데 순서가 낮다면 reranking을 검토한다
- 후보 안에 아예 없다면 chunking, embedding, indexing 문제부터 본다
- reranking 뒤에도 답이 흔들리면 context packing과 답변 프롬프트를 본다
이 순서를 지키면 RAG 문제를 한 덩어리로 보지 않게 됩니다. 검색이 못 찾은 문제인지, 찾았지만 순서가 나쁜 문제인지, 순서는 좋은데 context 구성이 나쁜 문제인지 분리할 수 있습니다.
정리
RAG reranking은 RAG를 고급스럽게 보이게 하는 장식 기능이 아닙니다. 검색 후보를 답변 근거로 쓰기 전에 한 번 더 검토하는 품질 관리 단계입니다.
처음부터 모든 RAG에 reranker를 붙일 필요는 없습니다. 하지만 검색 결과는 있는데 답변이 자꾸 빗나가거나, 비슷한 문서가 많아 top-k가 흔들린다면 reranking은 가장 먼저 검토할 만한 개선 지점입니다.