최근 정보 검색과 생성 모델을 결합한 Retrieval-Augmented Generation(RAG)은 지식 기반 질의응답과 문서 생성 분야에서 핵심 기술로 자리잡았다. 그러나 RAG 내부의 검색 전략에 따라 성능과 한계가 뚜렷이 갈린다. 이를 이해하기 위해 먼저 Sparse RAG와 Dense RAG의 차이를 살펴보고, 이어서 Contextual Answer Generation(CAG)이 어떤 방식으로 그 한계를 보완하는지 설명할 필요가 있다.
Sparse RAG: 키워드 중심의 고전적 접근
Sparse RAG는 전통적인 정보검색(IR) 기법인 BM25나 TF-IDF를 활용한다. 질문과 문서를 희소 벡터로 표현한 뒤, 단어의 일치도와 빈도 기반 점수를 통해 관련 문서를 검색한다. 이 방식은 빠르고 직관적이며 “왜 검색되었는지”를 해석하기 용이하다. 그러나 단어 표현이 다르거나 동의어가 사용된 경우에는 제대로 동작하지 못한다는 명확한 한계를 가진다. 예컨대 “U.S. president”와 “American head of state”는 의미적으로 동일하지만 Sparse RAG는 이를 별개의 표현으로 간주한다.
Dense RAG: 의미 공간을 통한 도약
Dense RAG는 딥러닝 기반 임베딩을 사용한다. 질문과 문서를 밀집 벡터로 변환하고, 코사인 유사도 같은 벡터 간 유사도를 통해 의미적으로 가까운 문서를 찾는다. 이를 통해 동의어나 문맥적 변화를 자연스럽게 포착할 수 있다. 실제로 오픈도메인 QA에서는 Sparse RAG보다 Dense RAG가 훨씬 높은 검색 품질을 보인다. 하지만 dense retrieval에도 단점은 있다. 특정 도메인 데이터에 과도하게 의존하고, 검색된 문서가 길거나 다수일 때는 그대로 LLM에 입력되면서 잡음과 불필요한 정보가 성능을 저해한다.
CAG: 맥락 기반의 응답 최적화
Contextual Answer Generation(CAG)은 단순히 검색된 문서를 전달하는 단계에서 멈추지 않는다. 검색된 여러 문서를 맥락적으로 재조합하고, 질문과 직접적으로 연관된 핵심 부분만 추출해 답변 친화적 컨텍스트를 새롭게 구성한다. 이 과정을 통해 LLM이 보다 안정적으로 추론을 수행할 수 있도록 환경을 정제하는 것이다.
CAG의 강점은 특히 multi-hop reasoning이 요구되는 데이터셋에서 두드러진다. HotPotQA와 같이 여러 문서를 연결해야 답이 도출되는 경우, Dense RAG는 관련 문서를 모두 가져오더라도 답변 과정이 장황해지고 불확실성이 커질 수 있다. 반면 CAG는 문서들을 요약·정렬해 LLM이 바로 답변을 생성할 수 있는 구조를 제공한다. 결과적으로 BERT-Score와 같은 의미적 유사도 기반 지표에서 더 높은 성능을 확보한다.
평가 지표와 차별성
SQuAD와 같은 단일 단락 기반 데이터에서는 Dense RAG와 CAG의 성능 차이가 크지 않다. 정답이 문맥 내에 명확히 존재하기 때문이다. 그러나 HotPotQA처럼 복잡한 추론이 필요한 데이터에서는 CAG가 더 높은 BERT-Score를 기록하며 의미 기반 평가에서 우위를 보인다. 이는 단순히 검색 품질을 개선한 것이 아니라, 검색과 생성 사이에 “맥락 최적화”라는 새로운 레이어를 삽입한 결과다.
맺음말
Sparse RAG는 단순성과 속도로, Dense RAG는 의미 이해력으로 각자의 영역에서 장점을 발휘해왔다. 그러나 궁극적으로 사용자가 원하는 것은 정확하고 간결하며 맥락적으로 타당한 답변이다. CAG는 바로 이 지점을 겨냥한다. 검색된 문서를 그대로 제시하는 기존 RAG와 달리, 답변 중심으로 문맥을 재구성함으로써 불필요한 잡음을 제거하고 추론 효율을 극대화한다. 이러한 접근은 향후 RAG 연구의 새로운 표준으로 자리잡을 가능성이 높다.
답글 남기기