Large Language Model(LLM)은 뛰어난 생성 능력을 가졌지만 근거가 없는 내용을 “그럴듯하게” 만들어내는 Hallucination(환각) 문제가 존재한다.
이 문제를 해결하고 기업 문서, PDF, 내부 지식 기반의 정확한 답변을 만들기 위한 기술이 있는데, 바로 RAG(Retrieval-Augmented Generation)이다.
1️⃣ RAG란?
말 그대로 Retrieval(검색) + Generation(생성) 의 조합으로 LLM이 “모르는 내용”을 추측해 말하는 대신 외부 지식베이스(문서, Database, PDF, 소스코드 등)에서 관련 정보를 검색하여 그 실제 내용을 LLM 입력(prompt)에 추가해 답변을 생성하는 구조이다.
LLM이 답변을 생성할 때,
- 관련 정보를 외부 지식 베이스에서 검색해
- 그 정보(content)를 LLM 입력에 포함 시켜
- 더 정확하고 근거 기반의 답변을 생성하도록 만드는 구조이다.

2️⃣ RAG 동작
- 문서를 쪼개고(Chunk)
- 임베딩으로 바꾸고(Embedding)
- 벡터 DB에 저장하고(Vector Store)
- 질문이 들어오면 가장 비슷한 문서를 찾아서(Retrieval)
- LLM에 “문서 + 질문” 조합을 입력한다(Generation)
이 5단계를 순차적으로 수행하면 LLM은 마치 그 문서를 스스로 알고 있는 것처럼 답변한다.
아래 그림은 Chunk → Embedding → Vector DB 전체 흐름을 보여준다.

굳이 chunk로 나누는 이유는 LLM은 한 번에 너무 긴 텍스트를 넣으면 처리할 수 없기 때문이다. 또한 문서를 작은 덩어리로 나눠야 비슷한 문서를 정확히 찾을 수 있다.
예를 들어 231페이지짜리 PDF를 통째로 넣어 검색하는 것은 불가능하다. 그래서 RAG에서는 다음 작업을 반드시 거친다.
- 문단/문장 단위로 나누기
- 중복되거나 의미 없는 구간 제거
- 일정 길이(chunk_size) 기준으로 분리
- overlap을 줘서 의미 단절 방지
이 과정을 Text Splitter라고 한다.
3️⃣ Embedding과 Vector Store
LLM이 문서를 “이해할 수 있는 형태”로 바꾸려면 문자가 아닌 숫자 벡터 형태로 변환해야 한다.
이때 등장하는 것이 임베딩(Embedding)이다.
- 문서 → 임베딩 벡터로 변환
- 질문 → 임베딩 벡터로 변환
- 두 벡터의 거리(유사도)를 계산해 “가장 비슷한 문서” 찾기
이러한 유사도 검색을 빠르게 하기 위해 FAISS, Chroma, Pinecone 같은 Vector Store(벡터 DB) 를 사용한다.

4️⃣ Retrieval 단계: 질문과 비슷한 문서 찾기
사용자가 질문을 입력하면 시스템은 다음을 수행한다.
- 질문을 임베딩으로 변환
- Vector Store에서 유사도 기반 검색
- k개의 관련 문서를 뽑아옴 (예: k=3)
이렇게 검색된 결과가 곧 LLM이 답변할 근거 문서가 된다.
5️⃣ Generation 단계: 문서를 근거로 답변하기
이제 LLM에게 두 가지 정보를 준다.
- 질문(question)
- 검색된 문서(context)
LLM은 제공된 문서 내에서만 정보를 활용해 답변하게 된다. 즉, “근거가 있는 답변” 을 할 수 있게 되는 것이다.
Retrieval → Augmentation → Generation 흐름으로 이어진다.

6️⃣ RAG의 장점
▪️ 최신 정보 반영 가능
모델을 재학습시키지 않아도 문서만 바꿔 저장하면 최신 지식을 반영할 수 있다.
▪️ 기업/개인 전용 지식을 활용
사규, 매뉴얼, 기술 문서, 내부 DB 등 GPT가 절대 알 수 없는 정보도 RAG로 처리 가능하다.
▪️ 모델 “환각(hallucination)” 감소
근거 문서를 기반으로 답하기 때문에 허구의 정보를 지어낼 확률이 크게 줄어든다.
▪️ 모델 재학습 없이 확장 가능
Embeddings + Vector Store만 갱신하면 몇 GB의 데이터도 LLM이 “알고 있는 듯” 답할 수 있다.
7️⃣ RAG 사용 예시
다음과 같은 상황이면 거의 100% RAG가 필요하다.
- 회사 내부 문서를 기반으로 정보 제공
- PDF 분석/검색 시스템 만들기
- 지식 기반 챗봇 운영
- 정책·매뉴얼 Q&A 자동화
- 대량 문서에서 필요한 부분만 추출
- 고객 지원 FAQ 자동화
한마디로, “LLM이 모르는 정보로 답을 해야 할 때” RAG는 사실상 표준이 된다.
RAG는 강력하지만 만능은 아니다.
- 문서에 존재하지 않는 분석/창의적 작업
- 정교한 텍스트 생성(문학적 글쓰기)
- 지식의 일반화(generalization)
이런 것들은 여전히 LLM 자체의 능력에 의존한다.
RAG는 단순한 검색 기술이 아니다.
LLM이 내 데이터를 기반으로 정확하게 답변할 수 있도록 만드는 현대 AI 시스템의 핵심 구성요소이다. LLM의 한계를 보완하고 최신 정보에 접근 가능하게 하고, 기업 데이터 기반 QA를 가능하게 하는 LLM 시대에 가장 중요한 기술 중 하나가 바로 RAG다.