RAG(Retrieval-Augmented Generation, 검색 증강 생성)는 언어 모델이 답을 만들기 전에 외부 문서를 먼저 검색해, 그 내용을 근거로 답변을 생성하는 방식입니다. 모델의 "기억"에만 의존하지 않고 "지금 찾아본 자료"를 곁들이므로, 최신 정보나 사내 지식처럼 모델이 학습하지 못한 내용을 다룰 때 강합니다. 문서를 임베딩으로 저장하고, 질문과 의미가 가까운 문단을 검색해, 그 문단을 근거로 답을 만드는 3단계로 동작합니다.
RAG란 무엇인가?
RAG는 언어 모델이 답을 만들기 전에 외부 문서를 먼저 검색해서, 그 내용을 근거로 답변을 생성하는 방식입니다. 용어 정리는 검색 증강 생성 페이지에도 있지만, 이 글은 "왜 필요한지"와 "실제로 언제 쓰는지"에 초점을 맞춥니다.
한마디로, RAG는 모델이 "기억"에만 의존하지 않고 "지금 찾아본 자료"를 곁들여 답하게 만드는 구조입니다.
RAG는 어떻게 동작하나?
RAG의 흐름은 대략 세 단계로 나눌 수 있습니다.
- 문서 준비: 사내 문서, 매뉴얼, FAQ 같은 자료를 잘게 나눈 뒤 임베딩 벡터로 변환해 저장합니다.
- 검색: 사용자 질문이 들어오면 같은 방식으로 벡터화한 뒤, 의미가 가장 가까운 문단을 찾아냅니다.
- 생성: 검색된 문단을 질문과 함께 모델에 입력해, 그 내용을 근거로 답변을 만들게 합니다.
이 과정에서 핵심은 검색 품질입니다. 관련 없는 문단이 검색되면 모델도 엉뚱한 답을 내놓기 쉽습니다. 그래서 문서를 어떻게 잘게 나누는지(청킹), 어떤 임베딩 모델을 쓰는지, 키워드 검색을 함께 쓰는 하이브리드 방식을 도입할지가 실무에서 중요하게 다뤄집니다. 이 검색 단계를 뒷받침하는 저장·인덱싱 인프라는 벡터 데이터베이스란 무엇인가 가이드에서 더 깊이 다룹니다.
RAG는 언제 쓰면 좋을까?
RAG는 다음과 같은 상황에서 특히 유리합니다.
- 최신 정보가 자주 바뀌는 경우: 모델을 다시 학습시키지 않고 문서만 갱신하면 되므로 유지 비용이 낮습니다.
- 조직 내부 지식이 필요한 경우: 사내 위키, 계약서, 제품 매뉴얼처럼 모델이 학습 과정에서 본 적 없는 자료를 활용해야 할 때 유용합니다.
- 근거를 함께 보여줘야 하는 경우: 답변에 사용된 출처 문단을 그대로 노출할 수 있어, 법률·의료처럼 검증이 중요한 도메인에서 신뢰를 높입니다.
반대로 정적인 일반 상식 질문이나 창작 작업처럼 외부 근거가 필요 없는 작업에는 RAG의 이점이 크지 않습니다.
RAG의 한계는 무엇인가?
RAG가 모든 문제를 해결하지는 않습니다.
- 검색이 틀리면 답도 틀린다: 관련 문단을 잘못 찾으면, 모델은 그 잘못된 문맥을 근거로 그럴듯한 오답을 만들 수 있습니다. 검색 품질이 곧 답변 품질의 상한선입니다.
- 환각을 완전히 없애지는 못한다: 검색된 문맥이 있어도 모델이 이를 무시하고 지어내는 환각 현상이 일부 남을 수 있습니다.
- 인프라와 운영 부담이 있다: 벡터 데이터베이스 구축, 문서 갱신 파이프라인, 검색 품질 모니터링 등 추가로 관리할 요소가 늘어납니다.
- 긴 문맥을 다루는 데는 한계가 있다: 검색된 문단이 너무 많거나 서로 모순되면, 모델이 그중 무엇을 우선할지 판단하기 어려워질 수 있습니다.
RAG와 파인튜닝은 무엇이 다를까?
RAG는 모델의 가중치를 바꾸지 않고 "질문 시점에 필요한 지식"을 곁들이는 방식이고, 파인튜닝은 모델 자체를 추가 학습시켜 "말투나 능력"을 바꾸는 방식입니다.
| 구분 | RAG | 파인튜닝 |
|---|---|---|
| 바꾸는 대상 | 질문 시점의 입력 | 모델 가중치 |
| 강점 | 최신·외부 지식 반영 | 말투·형식·능력 고정 |
| 지식 갱신 | 문서만 교체 | 재학습 필요 |
둘 중 무엇을 선택할지는 데이터 성격과 갱신 빈도에 따라 달라지며, 자세한 비교는 파인튜닝 vs RAG 글에서 다룹니다.
자주 묻는 질문
- Q. RAG를 쓰면 환각이 완전히 사라지나요?
- A. 아니요. 검색된 근거가 있어도 모델이 이를 무시하고 지어내는 환각이 일부 남습니다. RAG는 환각을 줄이는 장치이지 없애는 장치가 아닙니다.
- Q. RAG와 파인튜닝 중 무엇을 골라야 하나요?
- A. 자주 바뀌는 지식을 다뤄야 하면 RAG, 말투·형식·특정 능력을 고정하고 싶으면 파인튜닝이 맞습니다. 둘을 함께 쓰기도 합니다.
- Q. 문서가 적어도 벡터 데이터베이스가 꼭 필요한가요?
- A. 아닙니다. 문서가 적으면 벡터를 메모리에서 직접 비교해도 충분합니다. 전용 벡터 데이터베이스는 문서가 크게 늘어 검색 속도·정확도 관리가 필요할 때 도입합니다.
정리
RAG는 언어 모델에 "검색"이라는 단계를 더해, 최신성과 근거 있는 답변이 필요한 작업에서 특히 힘을 발휘하는 구조입니다. 처음 도입할 때는 소규모 문서 집합으로 검색 품질부터 검증한 뒤 범위를 넓히는 방식을 권합니다. RAG 위에서 좋은 답변을 뽑아내려면 질문을 던지는 방식, 즉 프롬프트 설계도 함께 신경 써야 하는데, 관련 기법은 프롬프트 엔지니어링 하는 법 글에 정리되어 있습니다.