Module 2부터는 RAG의 심장인 retriever(리트리버)가 실제로 어떻게 검색하는지 파고든다. 여러 검색 기법을 하나씩 깊이 보기 전에, 먼저 retriever 내부가 어떤 구성요소로, 어떤 순서로 맞물려 도는지 전체 그림을 잡는다.

1. retriever의 역할

RAG 시스템이 프롬프트를 받으면 먼저 retriever로 보낸다. retriever는 knowledge base(데이터베이스에 담긴 여러 텍스트 파일이라 생각하면 된다)에 접근할 수 있다. retriever가 할 일은 명확하다 — 어떤 문서가 프롬프트와 가장 관련 있는지 빠르게 판단하고, 그 문서를 반환해 LLM에 전달되게 하는 것이다. 문제는 문서가 사람이 읽으라고 만든 온갖 형식의 "지저분한" 덩어리라는 점이고, retriever는 그 속에서 관련 문서를 빠르게 골라내야 한다.

그림 1. retriever는 대화형·비정형 프롬프트와, 사람이 읽으라고 만든 다양한 형식의 문서 사이에서 관련 문서를 빠르게 찾아 잇는다.

 

 

2. 두 가지 검색 기법

대부분의 현대 retriever는 이 과정에서 두 가지 서로 다른 검색 기법을 함께 쓴다.

  • 키워드 검색(keyword search) — 프롬프트에 있는 정확한 단어를 포함한 문서를 찾는다. 수십 년간 정보 검색 시스템을 지탱해 온 검증된 방식이다.
  • 시맨틱 검색(semantic search) — 프롬프트와 비슷한 의미를 가진 문서를 찾는다. 사용자가 쓴 정확한 단어가 문서에 없어도 관련 문서를 찾을 수 있어 훨씬 유연하다.

그림 2. 키워드 검색은 '정확한 단어'에, 시맨틱 검색은 '비슷한 의미'에 초점을 둔다.

 

두 기법은 각각 20~50개 정도의 문서 목록을 반환한다. 보통 두 목록에 겹치는 문서가 많지만, 검색 방식이 다르므로 한쪽에서 더 높은 순위에 오르기도 한다.

 

3. Metadata Filtering

다음으로 각 목록은 metadata(메타데이터)를 기준으로 필터링된다. 예를 들어 knowledge base의 어떤 문서는 엔지니어링 팀에, 다른 문서는 HR에 더 관련 있을 수 있다. 시스템은 사용자가 어느 팀 소속인지 알고, 이 시점에서 metadata 필터를 적용해 해당 부서와 관련 있는 문서만 다음 단계로 넘긴다. 이렇게 하면 키워드·시맨틱 검색만으로는 걸러낼 수 없는, 엄격한 기준에 따른 제외가 가능해진다.

 

4. Hybrid search

이제 retriever는 필터링된 두 목록(키워드 검색 결과, 시맨틱 검색 결과)을 갖는다. 이 둘을 결합해 가장 관련성 높은 문서들의 최종 순위를 만든다. retriever는 이 최종 목록에서 상위 문서를 반환하고, 여기서 retrieval이 완료된다 — 반환된 문서는 augmented prompt에 추가된다. 여러 기법에 의존해 최종 순위를 만들기 때문에 이 방식을 hybrid search(하이브리드 검색)라 부른다.

그림 3. retriever 내부 흐름 — knowledge base에서 키워드·시맨틱 검색이 각각 20~50개 문서를 반환하고, metadata 필터를 거친 뒤 두 목록을 결합해 최종 순위를 만든다.

 

 

5. 각 기법의 강점과 균형

  • 키워드 검색 — 사용자가 쓴 정확한 단어에 민감하게 반응하도록 보장한다.
  • 시맨틱 검색 — 같은 단어를 쓰지 않아도 의미가 비슷한 문서를 찾는 유연성을 준다.
  • metadata 필터링 — 다른 두 방식으로는 불가능한, 엄격한 기준에 따른 제외를 가능케 한다.

고성능 retriever를 설계한다는 것은 이 세 기법의 상대적 강점을 이해하고, 프로젝트 요구에 맞게 그 균형을 조정하는 것을 의미한다.

그림 4. 고성능 retriever는 키워드·시맨틱·metadata 세 기법을 프로젝트 요구에 맞춰 균형 있게 조합한다.

 

다음 글에서는 이 셋 중 가장 단순한 metadata 필터링부터 자세히 살펴본다.

 

'AI > RAG' 카테고리의 다른 글

TF-IDF (키워드 검색)  (0) 2026.07.02
Metadata Filtering(메타데이터 필터링)  (0) 2026.07.02
LLM의 동작 방식, 환각 발생 원인  (1) 2026.07.02
RAG 활용 사례  (0) 2026.07.01
RAG 아키텍처와 장점  (0) 2026.07.01

+ Recent posts