RAG검색 증강 생성
Retrieval-Augmented Generation
쉽게 이해하기
LLM은 말은 잘하지만, 내부에 저장된 지식만으로는 오래되거나 틀린 정보를 말할 수 있습니다. 조직 내부 문서처럼 수시로 바뀌는 내용은 모델을 다시 학습시키지 않으면 반영하기 어렵고, 답을 만들어도 출처가 보이지 않아 신뢰가 흔들립니다. 이런 문제를 줄이기 위해, 답변 전에 필요한 정보를 ‘확실한 문서’에서 먼저 찾아 붙여 주는 방식이 등장했는데, 그것이 RAG입니다. RAG의 작동 방식은 “검색기가 관련 문단을 찾아 프롬프트에 붙이는 방식”으로 이해하면 됩니다. 사용자의 질문이 들어오면, 시스템은 지식 베이스에서 관련 문단 몇 개를 뽑아 모델 입력과 함께 건네줍니다. 모델은 이 문단을 근거로 답을 쓰기 때문에, 내부 기억에만 의존할 때보다 사실에 더 가깝고, 답의 출처를 함께 보여주기 쉽습니다. 구체적으로는 질의를 임베딩(벡터)으로 변환해 벡터 검색으로 유사한 청크를 찾고, 상위 k개 청크를 생성 프롬프트에 순차적으로 주입해 모델이 근거를 사용하도록 유도합니다. 필요하면 1차 후보를 많이 가져온 뒤 재순위화로 진짜 관련 문단만 추립니다. 또한 일부 상용 임베딩 API는 문서/질의 태스크를 구분하는 비대칭 임베딩 옵션을 제공해 질의-문서 정렬을 개선하기도 합니다.
비유와 예시
- 정책 문서 질의응답: 공공 지침에서 “예외 승인 요건은?”을 묻자, 시스템이 해당 조항이 있는 문단을 찾아 근거와 함께 답합니다. 긴 문서 전체가 아니라 답이 들어있는 단락만 골라 프롬프트에 넣기 때문에 정확도가 올라갑니다.
- 사내 HR·보안 규정 어시스턴트: “직원 부재 시 승인 절차는 어떻게 대행되나?” 같은 질문에 최신 개정본에서 관련 문단을 찾아 인용합니다. 문서가 바뀌어도 재인덱싱만 하면 곧바로 반영됩니다.
- 계약 조항 비교 도우미: 여러 고객 계약서에서 해지 조항을 비교해 달라고 하면, 각 문서의 해당 부분을 모아 차이점을 설명합니다. 모델은 추출된 근거 문단을 바탕으로 표나 요약을 만들어 줍니다.
한눈에 비교
| RAG | 파인튜닝 | 바닐라 LLM | |
|---|---|---|---|
| 지식 업데이트 지연 | 문서 재인덱싱 후 즉시 반영 | 재학습·재배포 필요 | 사전학습 시점에 고정 |
| 운영 복잡도 | 인덱싱/검색/캐시 운영 | 학습 인프라·데이터 파이프라인 | 운영 단순 |
| 근거 추적 가능성 | 제공 문단 인용 용이 | 출처 노출 어려움 | 근거 없음 |
| 데이터 프라이버시 | 사내 저장소로 통제 가능 | 학습 데이터 제공 필요 | 프롬프트에만 노출 |
| 지연 시간 특성 | 질의마다 검색 오버헤드 | 추론 빠름(학습 비용 선지불) | 가장 빠른 추론 |
규정이 자주 바뀌거나 답의 근거가 필요한 업무는 RAG가 적합하고, 안정된 도메인과 작은 변경 폭에는 파인튜닝이 유리할 수 있다.
어디서 왜 중요한가
- 동적 지식 환경: 모델 재훈련 없이 권한 있는 지식 베이스에서 정보를 가져와 최신성·통제를 확보.
- 정책 QA 연구의 시사점: 두 단계 검색과 재순위화를 도입한 고급 RAG 구성이 신뢰도 개선을 보고.
- 실무 파이프라인 표준화: chunking → embedding → (re)ranking → generation 단계가 널리 쓰이는 절차로 자리잡음.
- 근거 노출과 감사 가능성: 응답과 함께 인용 근거를 제공해 사용자가 생성 과정의 투명성을 확인.
- 상용 API 조합 사례: 일부 사례에서는 상용 임베딩 API와 생성 모델을 조합해 구축한다.
자주 하는 오해
- ❌ 오해: RAG이면 환각이 사라진다 → ✅ 실제: 검색 품질과 프롬프트 구성에 따라 환각이 남을 수 있어, 근거 선택·정렬이 핵심이다.
- ❌ 오해: RAG은 파인튜닝을 완전히 대체한다 → ✅ 실제: 자주 바뀌는 지식엔 RAG가 적합하지만, 스타일·작업 특화는 파인튜닝이 더 효율적일 수 있다.
- ❌ 오해: 큰 청크가 항상 정확하다 → ✅ 실제: 너무 크면 잡음이 늘고, 너무 작으면 문맥이 끊긴다; 도메인에 맞춘 크기와 겹침 조정이 필요하다.
대화에서는 이렇게
- "상위 k를 10에서 5로 줄였더니 latency가 180ms 개선됐지만, 정합성은 약간 떨어졌어요. 재순위화 폭을 늘려볼까요?"
- "이번 분기 지식 베이스는 주 2회 업데이트라 재인덱싱 SLA를 수요일·금요일로 잡을게요."
- "질의 임베딩이 문서랑 덜 맞는 듯해요. 비대칭 임베딩 옵션을 켜고 A/B로 정답 포함률을 보죠."
- "프롬프트에 들어가는 근거 청크는 6개가 한계 같아요. 나머지는 링크로만 제공하는 게 어떨까요?"
- "운영 로그에 검색 결과와 생성문을 같이 남겨 주세요. 근거 추적이 안 되면 고객 대응이 어려워요."
함께 읽으면 좋은 용어
참고 자료
- A Systematic Review of Key Retrieval-Augmented Generation (RAG ...)
RAG 파이프라인(청킹·임베딩·재순위·생성) 정리
- Chunking, Retrieval, and Re-ranking: An Empirical Evaluation of RAG Architectures for Policy Document Question Answering
정책 문서 QA에서 RAG/재순위의 효과를 계량 비교
- HiChunk: Evaluating and Enhancing Retrieval-Augmented Generation with Hierarchical Chunking
RAG 청킹 평가 과제와 계층적 청킹 프레임워크
- What is RAG? - Retrieval-Augmented Generation AI Explained
외부 지식 기반 RAG 개념과 조직 관점의 이점
- Retrieval Augmented Generation (RAG) for LLMs
RAG 단계 요약과 대표 연구 링크 모음
- Building a RAG System With the Gemini API: From Embeddings to Production Deployment
Gemini API 기반 RAG 구현과 청킹·재순위 실무 팁