/AI & 자동화/RAG란 무엇인가 — 검색 증강 생성의 핵심 개념
AI & 자동화RAGLLM

RAG란 무엇인가 — 검색 증강 생성의 핵심 개념

LLM의 지식 한계를 극복하는 RAG 아키텍처의 핵심 개념을 설명합니다. Retrieval, Augmentation, Generation 세 단계와 파인튜닝과의 차이, 그리고 주요 한계점까지 다룹니다.

RAG란 무엇인가 — 검색 증강 생성의 핵심 개념

RAG란 무엇인가 — 검색 증강 생성의 핵심 개념

LLM(대형 언어 모델)은 놀라운 능력을 갖추고 있지만, 치명적인 약점이 하나 있습니다. 바로 학습 데이터의 한계입니다. GPT-4는 2023년까지의 정보만 알고 있고, 사내 문서나 최신 기술 명세는 전혀 모릅니다. RAG(Retrieval-Augmented Generation)는 이 문제를 해결하기 위해 등장한 아키텍처 패턴입니다.

RAG의 핵심 아이디어

RAG는 세 단계로 동작합니다.

1. 검색 (Retrieval) 사용자 질문을 벡터로 변환한 뒤, 문서 데이터베이스에서 의미적으로 가장 유사한 청크(chunk)를 찾아옵니다.

2. 증강 (Augmentation) 검색된 문서를 LLM 프롬프트에 컨텍스트로 삽입합니다. "다음 문서를 참고해서 답하시오: [문서 내용]"

3. 생성 (Generation) LLM이 제공된 컨텍스트를 바탕으로 답변을 생성합니다. 모델이 직접 알고 있는 것이 아니라, 제공된 문서를 근거로 답합니다.

CODE
사용자 질문
    ↓
임베딩 모델 (질문 → 벡터)
    ↓
벡터 DB (유사 문서 검색)
    ↓
프롬프트 구성 (질문 + 검색 결과)
    ↓
LLM (최종 답변 생성)

왜 파인튜닝 대신 RAG인가?

파인튜닝도 모델에 지식을 주입하는 방법이지만, RAG와는 근본적으로 다릅니다.

항목파인튜닝RAG
지식 업데이트재학습 필요문서 DB만 수정
비용높음 (GPU 필요)낮음
출처 추적불가가능
최신성학습 시점 고정실시간 반영

파인튜닝은 스타일이나 포맷을 바꾸는 데 적합하고, RAG는 지식을 주입하는 데 적합합니다.

RAG의 한계도 알아야 한다

RAG가 만능은 아닙니다. 자주 마주치는 실패 케이스를 정리하면 다음과 같습니다.

  • 검색 실패: 관련 문서가 있어도 임베딩 유사도가 낮아 못 찾는 경우
  • 컨텍스트 넘침: 검색 결과가 너무 많아 LLM 컨텍스트 윈도우 초과
  • 충돌하는 정보: 검색된 문서들이 서로 모순된 내용을 담고 있을 때
  • Hallucination 지속: 컨텍스트가 불충분하면 여전히 환각이 발생

이 시리즈에서는 각 단계별로 이런 문제를 어떻게 해결하는지 상세히 다룹니다.

이 시리즈에서 배우는 것

  • EP 02: 벡터 DB 선택 — Pinecone, Weaviate, pgvector 비교
  • EP 03: 청킹 전략 — 문서를 어떻게 쪼개야 검색이 잘 되나
  • EP 04: RAGAS로 RAG 파이프라인 성능 평가하기

RAG는 LLM 애플리케이션의 표준 아키텍처가 되었습니다. 제대로 이해하고 구현할 수 있도록 처음부터 차근차근 따라가 봅시다.

가장 단순한 RAG, 코드로 보기

개념을 코드 한 조각으로 압축하면 다음과 같습니다. (의사코드)

Python
# 1) 사전 준비: 문서를 청크로 쪼개 임베딩 → 벡터 DB에 저장
chunks = split(documents)            # 청킹
vectors = embed(chunks)              # 임베딩 모델
db.upsert(vectors, chunks)

# 2) 질의 시점
q_vec = embed(user_question)
ctx = db.search(q_vec, top_k=4)      # 의미 유사 청크 검색
answer = llm.generate(
    system="다음 컨텍스트만 근거로 답하라. 모르면 모른다고 답하라.",
    prompt=f"[컨텍스트]\n{ctx}\n\n[질문]\n{user_question}"
)

핵심은 마지막 system 지시 — **"컨텍스트 밖의 내용은 지어내지 말라"**가 환각을 줄이는 첫 번째 안전장치입니다.

RAG가 필요한 경우 vs 아닌 경우

상황적합한 접근
사내 문서·최신 정보 기반 응답✅ RAG
말투·출력 형식 고정파인튜닝(또는 프롬프트)
단순 분류·추출소형 모델 파인튜닝이 더 쌈
출처를 반드시 제시해야 함✅ RAG (인용 가능)

자주 묻는 질문 (FAQ)

Q. RAG를 쓰면 환각이 완전히 사라지나요? 아닙니다. 검색이 엉뚱한 문서를 가져오거나 컨텍스트가 불충분하면 여전히 환각이 발생합니다. 검색 품질(청킹·임베딩·리랭킹)이 곧 답변 품질입니다.

Q. 파인튜닝과 RAG를 같이 쓸 수 있나요? 네. 말투·도메인 적응은 파인튜닝으로, 사실·지식 주입은 RAG로 — 둘은 경쟁이 아니라 보완 관계입니다.

에디터 노트 — 현장에서는

RAG를 도입한 팀들을 보면, 실패의 8할은 '검색이 안 돼서'가 아니라 평가 체계를 안 만들어서입니다. 데모는 잘 되는데 운영에서 답변 품질이 들쭉날쭉한 원인을 못 찾습니다. 첫 스프린트부터 골든 질문셋 20~30개를 만들어 회귀 테스트처럼 돌리세요. 청킹·임베딩 모델을 바꿀 때마다 이 점수가 오르는지 확인하는 것 — 그게 RAG 운영의 절반입니다. 화려한 아키텍처보다 '측정 가능한 루프'가 먼저입니다.

✦ ✦ ✦
편집 검토 · Editorial Review

이 글은 AI 에이전트가 자료 조사와 1차 초안 작성을 담당하고, 사람 편집자가 사실관계·출처·톤과 맥락을 검토한 뒤 발행했습니다. 환경(OS·버전)에 따라 결과가 다를 수 있으니 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요 — 확인 후 신속히 정정합니다.

초안 · AI (Content Director)·검토 · Nodelog 편집자·발행 ·
관련 공식 문서pgvector 공식 저장소

댓글

첫 번째 댓글을 남겨보세요.