← 스터디

스터디 · 2026-10-07 · 기초

검색 증강 생성(RAG): 모델에게 '오픈북'을 쥐여 주는 법

RAG는 언어 모델이 답을 만들기 전에 외부 문서에서 관련 내용을 찾아 읽게 해, 파라미터에 갇힌 지식의 한계와 환각을 줄이는 방법이다. 2020년 REALM·RAG에서 출발해 필요할 때만 검색하는 방식, 에이전트형 구조, 오염된 지식에 대한 견고성 연구로 넓어지고 있다.

핵심 정리

왜 필요했나: 머릿속 지식만으로는 부족하다

대규모 언어 모델(LLM)은 학습 데이터에서 본 사실을 상당히 많이 기억한다. 하지만 그 지식은 수십억 개의 파라미터(매개변수) 속에 흩어져 있다. REALM 논문은 이 방식으로는 더 많은 사실을 담으려면 네트워크를 계속 키워야 한다고 지적했다.

RAG를 처음 제안한 Lewis 등(2020)은 단점을 더 구체적으로 꼽았다. 파라미터에 든 지식은 쉽게 늘리거나 고칠 수 없고, 왜 그런 답을 냈는지 근거를 보여 주기 어려우며, 사실이 아닌 내용을 그럴듯하게 지어내는 환각(Hallucination)이 생긴다. 지식이 많이 필요한 과제에서는 그 과제 전용으로 설계한 시스템보다 성능도 떨어졌다.

2023년 RAG 서베이(Gao 등)도 LLM의 과제로 환각, 낡은 지식, 추적할 수 없는 추론 과정을 들었다. 세상은 계속 바뀌는데 모델의 지식은 학습이 끝난 시점에 멈춰 있다는 점이 핵심 문제다.

핵심 아이디어: 암기 시험에서 오픈북 시험으로

RAG의 발상은 '모든 것을 외우게 하지 말고, 필요할 때 책을 펴 보게 하자'는 것이다. 암기 시험을 보는 학생은 기억이 틀리면 그대로 틀린 답을 쓴다. 오픈북 시험을 보는 학생은 관련 페이지를 찾아 읽고 그 내용을 바탕으로 답을 쓴다.

Lewis 등은 이것을 두 종류의 기억으로 설명했다. 하나는 모델 파라미터에 든 '파라메트릭 기억'이고, 다른 하나는 바깥 문서 저장소인 '비파라메트릭 기억'이다. 그들의 RAG에서는 사전학습된 생성 모델(BART)이 파라메트릭 기억을, 위키백과 문서를 벡터로 바꿔 둔 색인이 비파라메트릭 기억을 맡았다.

이렇게 나누면 장점이 분명하다. 책(문서 저장소)은 직접 고치고 늘릴 수 있고, 모델이 어떤 페이지를 참고했는지 들여다볼 수 있다. 실제로 이 논문은 문서 저장소를 교체하는 것만으로 모델의 지식을 갱신할 수 있음을 보였다.

어떻게 작동하나: 준비, 검색, 생성

첫째, 미리 해 두는 준비 단계가 있다. 문서를 적당한 크기로 자르고(청킹), 각 조각을 의미를 담은 숫자 벡터로 바꾼다(임베딩). 이 벡터들을 빠르게 찾을 수 있게 벡터 DB 같은 색인에 저장한다. Lewis 등의 RAG에서는 위키백과를 이런 '밀집 벡터 색인'으로 만들어 두었다.

둘째, 질문이 들어오면 검색기가 질문도 벡터로 바꾼 뒤, 색인에서 질문 벡터와 가장 가까운 문서 상위 K개를 찾는다. 단어가 정확히 같지 않아도 뜻이 비슷하면 찾아낼 수 있다는 것이 시맨틱 검색(의미 검색)의 장점이다. 원 논문은 이 검색기로 DPR이라는 사전학습된 신경망 검색기를 썼다.

셋째, 생성 모델이 원래 질문과 찾아온 문서를 함께 입력으로 받아 답을 만든다. Lewis 등은 여기서 두 방식을 비교했다. RAG-Sequence는 답 전체를 같은 문서 하나에 기대어 만들고, RAG-Token은 단어(토큰)마다 다른 문서를 참고할 수 있어 여러 문서의 내용을 섞어 쓸 수 있다. 또 검색기와 생성기를 함께 파인튜닝해 두 부품이 서로 맞춰지도록 했다.

오늘날 실무에서 쓰는 RAG는 대개 검색기와 LLM을 따로 두고 프롬프트에 문서를 붙여 넣는 방식이지만, '준비 → 검색 → 문서를 곁들인 생성'이라는 뼈대는 같다.

RAG의 기본 작동 구조원본 문서 → 청킹·임베딩; 청킹·임베딩 → 벡터 색인(저장); 질문 → 검색기(검색); 벡터 색인 → 검색기; 검색기 → 상위 K개 문서; 상위 K개 문서 → 생성 모델(문서 첨부); 질문 → 생성 모델(질문도 함께); 생성 모델 → 답변원본 문서예: 위키백과청킹·임베딩조각으로 나눠 벡터로벡터 색인비파라메트릭 기억질문검색기가까운 문서 찾기상위 K개 문서생성 모델파라메트릭 기억답변저장검색문서 첨부질문도 함께
RAG의 기본 작동 구조 윗줄(점선)은 미리 해 두는 문서 준비, 아랫줄은 질문이 들어올 때마다 실행되는 검색과 생성이다. 질문은 검색에도 쓰이고 생성 모델에도 함께 들어간다.

발전 흐름: REALM에서 에이전틱 RAG까지

REALM(2020년 2월)은 언어 모델을 사전학습하는 단계부터 지식 검색기를 붙였다. 빈칸 맞히기(마스크 언어 모델링)를 학습 신호로 삼아, 수백만 개 문서를 대상으로 하는 검색 단계까지 함께 학습시켰다. 검색기를 정답 없이(비지도 방식으로) 사전학습한 것은 이 논문이 처음이라고 밝혔고, 오픈 도메인 질의응답 벤치마크 세 개에서 기존 방법보다 정확도가 4~16%포인트 높았다.

RAG(2020년 5월)는 이런 하이브리드 기억을 '문장을 만들어 내는' 생성 모델로 넓혔다. REALM은 답을 문서에서 뽑아 오는 추출형 질의응답만 다뤘다는 점을 넘어서려 한 것이다. RAG는 오픈 도메인 질의응답 세 과제에서 당시 최고 성능을 냈고, 생성 과제에서는 BART만 쓴 모델보다 더 구체적이고 다양하며 사실에 맞는 문장을 만들었다.

Self-RAG(2023년)는 '언제 검색할지'를 문제 삼았다. 필요 여부와 상관없이 늘 정해진 개수의 문서를 붙이면 관련 없는 문서 때문에 답이 나빠질 수 있다는 것이다. Self-RAG는 모델이 '반성 토큰'이라는 특수 토큰을 생성하게 학습시켜, 검색이 필요한지 스스로 정하고 가져온 문서의 관련성과 자기 답이 문서로 뒷받침되는지 평가하게 했다. 7B·13B 크기 모델로 ChatGPT와 검색을 붙인 Llama2-chat보다 질의응답·추론·사실 검증에서 나은 결과를 보고했고, 인용 정확도도 높였다.

같은 해 Gao 등의 서베이는 이 흐름을 Naive RAG(단순 검색 후 생성), Advanced RAG(검색 전후 단계 개선), Modular RAG(부품을 조립하듯 구성)의 세 단계로 정리했다. 2025년 에이전틱 RAG 서베이는 고정된 작업 흐름으로는 여러 단계 추론을 다루기 어렵다며, AI 에이전트가 계획·도구 사용·반성·다중 에이전트 협업으로 검색 전략을 동적으로 관리하는 구조를 분류했다.

요즘 어디로 가고 있나: 견고성과 신뢰성

최근 연구의 한 축은 '지식베이스가 깨끗하지 않다면?'이라는 질문이다. RAGStress(2026)는 RAG 평가가 대개 지식베이스가 깨끗하다고 가정한다는 점을 짚었다. 사실 왜곡, 숫자 오타, 관련성 오염, 모순 주입의 네 가지 오염을 세 단계 강도로 넣어 시험했다. 그 결과 깨끗한 검색 환경에서는 시스템 간 견고성 차이가 가려지고, 의미 자체를 바꾸는 오염이 더 해로우며, 검색 없이 잘 맞히는 모델이 오염된 검색에도 강한 것은 아니었다.

또 다른 축은 '검색을 했다고 답이 사실이라는 보장은 없다'는 문제다. 컨포멀 사실성 제어 연구(2026)는 답을 주장 단위로 쪼개 근거가 확인되는 것만 남기는 통계적 필터를 여러 단계 검색(멀티홉) RAG에 적용했다. 95% 목표에서 남은 주장이 모두 뒷받침되는 응답 비율은 95.80~97.20%로, 필터가 없을 때(55.60~76.03%)보다 크게 올랐다. 하지만 남는 주장은 4.41~31.09%뿐이었고, 아예 빈 답이 되는 경우도 많았다. 신뢰도와 답의 양이 맞바뀐다는 뜻이다.

실제 구축 사례도 여러 기법을 겹쳐 쓰는 쪽으로 간다. 고에너지·천체입자물리 논문 약 23만 편을 대상으로 한 오픈소스 RAG 파이프라인(2026)은 키워드 일치와 의미 유사도를 함께 쓰는 하이브리드 검색으로 후보를 모으고, 리랭커로 다시 순위를 매긴 뒤, LLM이 먼저 관련성을 판정하고 나서 인용이 달린 보고서를 쓰게 했다.

RAG 연구 흐름 지도REALM → RAG(생성으로 확장); RAG → Self-RAG(무조건 검색 개선)2020 출발점2023 개선·정리2025~ 요즘 방향REALM2002.08909사전학습에 검색기 결합RAG2005.11401생성 모델+위키 색인Self-RAG2310.11511필요할 때 검색·자기 비평중간 정보 손실2307.03172긴 입력 가운데를 놓침RAG 서베이2312.109973단계 패러다임 정리에이전틱 RAG 서베이2501.09136에이전트가 검색 관리RAGStress2610.04691오염된 지식베이스 시험컨포멀 사실성 제어2609.38222근거 있는 주장만 남김생성으로 확장무조건 검색 개선
RAG 연구 흐름 지도 왼쪽에서 오른쪽으로 시기 순이다. 화살표는 논문이 직접 앞선 연구의 한계를 다룬 관계만 표시했고, 나머지는 같은 시기 연구로 묶었다.

한계와 쟁점

첫째, 문서를 잘 찾아도 모델이 그 문서를 잘 읽는다는 보장은 없다. 'Lost in the Middle' 연구(2023)는 관련 정보가 입력의 앞이나 끝에 있을 때 성능이 가장 좋고, 긴 입력의 가운데에 있으면 크게 떨어진다는 것을 보였다. 긴 컨텍스트 윈도를 내세운 모델에서도 마찬가지였다. 문서를 많이 붙이는 것만으로는 해결되지 않는다는 뜻이다.

둘째, 결과는 검색 품질과 저장소 품질에 크게 좌우된다. Self-RAG 논문이 지적했듯 관련 없는 문서가 섞이면 답이 나빠질 수 있고, RAGStress가 보였듯 저장소 내용이 틀리면 RAG는 그 틀린 내용을 근거로 삼는다. '외부 문서를 쓰니 믿을 만하다'는 생각은 문서가 믿을 만할 때만 성립한다.

셋째, 똑똑하게 만들수록 비용이 든다. Self-RAG 논문은 생성 중에 필요할 때마다 검색하는 기존 방식들이 실행 효율을 희생하는 경우가 많다고 정리했다. 에이전틱 RAG 서베이도 평가, 에이전트 간 조율, 기억 관리, 효율, 거버넌스를 남은 과제로 꼽았다. 단계가 늘어날수록 느려지고, 어디서 틀렸는지 추적하기도 어려워진다.

더 공부하려면

처음이라면 Lewis 등의 'Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks'(2005.11401)부터 읽기를 권한다. 파라메트릭 기억과 비파라메트릭 기억이라는 틀, RAG-Sequence와 RAG-Token의 차이가 이후 연구를 이해하는 기본 어휘가 된다. 그보다 앞선 REALM(2002.08909)을 함께 보면 '사전학습 단계부터 검색을 붙인다'는 다른 출발점도 비교할 수 있다.

전체 지도를 얻고 싶다면 Gao 등의 서베이(2312.10997)가 좋다. Naive·Advanced·Modular RAG 구분을 알아 두면 실무 자료에 나오는 여러 기법이 어디에 속하는지 정리된다. 그다음 Self-RAG(2310.11511)로 '언제 검색할지'를 모델이 판단하는 방식을, 에이전틱 RAG 서베이(2501.09136)로 에이전트형 구조를 이어서 보면 흐름이 자연스럽다.

실제 시스템을 만들 계획이라면 'Lost in the Middle'(2307.03172)과 RAGStress(2610.04691)를 꼭 읽어 볼 만하다. 하나는 문서를 어떤 순서로 넣을지, 다른 하나는 저장소가 오염됐을 때 시스템을 어떻게 시험할지에 대한 감각을 준다.

관련 용어

임베딩 벡터 DB 청킹 시맨틱 검색 하이브리드 검색 리랭커 환각 에이전틱 RAG

참고 문헌

핵심 논문

최근 연구

AI가 참고 문헌을 바탕으로 작성하고 검수를 거친 해설입니다. 정확한 내용은 원문을 확인해 주세요.