Post

RAG 완전 가이드 1: 필요성과 기본 구조

RAG 완전 가이드 1: 필요성과 기본 구조

RAG는 LLM이 답변을 만들기 전에 외부 지식을 검색해 참고하도록 만드는 구조다. 모델의 기억만 믿는 방식보다 최신성, 근거성, 도메인 지식 보강에 유리하다.

이 글은 RAG가 필요한 이유와 기본 파이프라인을 먼저 정리한다. 이후 글에서 Naive RAG, Advanced RAG, Modular RAG, Production RAG로 확장한다.

왜 RAG가 필요한가?

LLM은 강력하지만, 혼자서는 해결하기 어려운 근본적인 한계가 있습니다.

할루시네이션

학습 데이터에 없는 내용도 그럴듯하게 지어냅니다. 사실 확인 없이 자신감 있게 틀린 답을 생성하는 것이 LLM의 가장 큰 약점입니다.

지식 단절

학습 데이터의 컷오프 날짜 이후의 정보를 모릅니다. 어제 나온 뉴스, 최신 API 변경사항, 실시간 데이터에 접근할 수 없습니다.

도메인 지식 부족

회사 내부 문서, 의료/법률 전문 지식 등 비공개 데이터에 대해서는 답변할 수 없습니다. 파인튜닝은 비용과 시간이 큽니다.

출처 불투명

답변의 근거를 제시하지 못합니다. “어디서 이 정보를 가져왔나요?”에 답할 수 없어서, 신뢰성 검증이 어렵습니다.

RAG = 이 모든 문제의 해결책

외부 지식을 실시간으로 검색해서 LLM에 전달하면 — 할루시네이션이 줄고, 최신 정보를 반영하며, 출처까지 제공할 수 있습니다.

RAG란 무엇인가?

Retrieval-Augmented Generation — “검색으로 보강된 생성”. LLM이 답변을 만들기 전에 관련 문서를 검색해서 참고하는 방식입니다.

일반 LLM

클로즈드북 시험처럼 모델 내부 지식에만 의존한다.

VS

RAG

오픈북 시험처럼 참고 자료를 검색한 뒤 답변한다.

핵심 파이프라인

Q

Query

사용자 질문

Retrieve

관련 문서 검색

Augment

프롬프트에 삽입

Generate

LLM 응답 생성

01

임베딩 (Embedding)

텍스트를 숫자 벡터로 변환하는 것. “고양이”와 “cat”은 의미가 비슷하므로 벡터 공간에서 가까이 위치합니다. 이를 통해 키워드가 아닌 의미 기반 검색이 가능해집니다.

고양이

cat

자동차

car

강아지

02

벡터 데이터베이스

임베딩 벡터를 저장하고, 유사도 검색을 빠르게 수행하는 특수 DB. 질문의 벡터와 가장 가까운 문서 벡터를 찾아 반환합니다.

Pinecone, Weaviate, Chroma, Qdrant, pgvector

03

시맨틱 검색

키워드 매칭이 아닌 의미의 유사성으로 검색. “연봉 인상 방법”으로 검색하면 “급여 협상 전략”도 찾을 수 있습니다. 코사인 유사도로 벡터 간 거리를 측정합니다.

“연봉 인상 방법”

급여 협상 전략

0.92

보상 체계 가이드

0.85

회사 복리후생

0.61

원본 논문

Lewis et al. (2020)

— “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”

RAG-Sequence와 RAG-Token 두 가지 변형을 제안. DPR(Dense Passage Retrieval)로 검색하고 BART로 생성. NeurIPS 2020에서 발표되어 RAG 연구의 시작점이 되었습니다.


추가 정리

핵심 요약

RAG의 목적은 LLM에게 외부 근거를 제공하는 것이다. 모델이 모든 것을 기억하게 만드는 것이 아니라, 답변 시점에 필요한 지식을 찾아 context로 전달하는 구조다.

보충 해설

RAG를 이해할 때는 Query, Retrieve, Augment, Generate를 한 덩어리로 보지 말고 각각의 실패 지점을 나누어 봐야 한다. 질문이 모호하면 검색이 흔들리고, 검색 결과가 부정확하면 생성도 흔들린다. 결국 RAG 품질은 “좋은 context를 올리는 능력”이다.

This post is licensed under CC BY 4.0 by the author.