Korean only
This page is available in Korean only. An English version will be added later.
07. RAG (검색 증강 생성)
RAG = Retrieval-Augmented Generation(검색 증강 생성). LLM이 답하기 전에 관련 자료를 찾아와(Retrieval) 함께 넣어주고(Augmented), 그걸 근거로 답을 생성(Generation) 하는 방식이다.
왜 필요한가
LLM 혼자서는 두 가지를 못 한다.
- 최신 정보: 학습 시점 이후를 모른다 (04 참고)
- 내부 지식: 우리 회사 문서·규정은 학습에 없다
RAG는 이 둘을 해결한다. 모델을 다시 학습시키지 않고도, 필요한 자료를 그때그때 붙여줘서 최신·내부 지식에 답하게 한다.
어떻게 동작하나
사용자 질문
│
▼
① 검색: 질문과 관련된 문서 조각을 자료 저장소에서 찾음
│ (의미 기반 검색 → 08. 임베딩/벡터 DB)
▼
② 결합: 찾은 문서 조각 + 원래 질문을 하나의 프롬프트로 합침
│ "다음 자료를 근거로 답하라: [문서조각] 질문: [질문]"
▼
③ 생성: LLM이 그 자료를 바탕으로 답 생성 (+ 출처 표시 가능)
비유: 오픈북 시험. 외워서 답하는 게 아니라, 관련 페이지를 펴놓고 그걸 보며 답하는 것.
RAG의 장점
| 장점 | 설명 |
|---|---|
| 최신·내부 지식 반영 | 저장소만 갱신하면 됨. 모델 재학습 불필요 |
| 환각 감소 | 근거 자료 안에서 답하므로 지어내기가 줄어듦 (05 참고) |
| 출처 제시 | "이 문서의 이 부분"처럼 근거를 보여줄 수 있음 |
| 비용·속도 | 파인튜닝보다 싸고 빠르게 지식 반영 |
한계
- 검색 품질에 좌우: 엉뚱한 자료를 찾아오면 답도 틀린다.
- 자료가 없으면 여전히 모르거나 지어낼 수 있다.
- 자료 정리·청크 분할·검색 튜닝 등 파이프라인 구성이 필요하다.
어디에 쓰나
- 사내 문서 Q&A 봇, 고객지원 챗봇
- 매뉴얼·규정·위키 기반 검색형 도우미
- 최신 뉴스·데이터를 붙이는 비서형 서비스
다음
RAG의 "관련 문서 찾기"는 어떻게 가능할까? 그 핵심이 임베딩이다. → 08. 임베딩과 벡터 DB