RAG(Retrieval-Augmented Generation, 검색 증강 생성)는 LLM의 정적인 학습 데이터 한계를 극복하기 위해 추론 시점에 외부 문서를 검색해 컨텍스트로 주입하는 기술이다. 환각(hallucination) 감소, 최신 정보 활용, 도메인 특화 지식 접근이 가능하며 현재 기업 AI 시스템의 핵심 패턴으로 자리잡았다.
등장 배경
LLM은 학습 데이터 범위 밖의 정보(최신 뉴스, 내부 문서, 전문 지식)에 대해 그럴듯하지만 잘못된 답변을 생성하는 환각 문제를 갖는다. 파인튜닝(fine-tuning)은 정적 지식 업데이트에만 효과적이고 비용이 높다. RAG는 검색 → 증강 → 생성의 세 단계로 이 문제를 해결한다.
기본 파이프라인
사용자 쿼리
↓
[검색] 벡터 DB에서 관련 청크 k개 검색
↓
[증강] 검색된 청크를 프롬프트에 삽입
↓
[생성] LLM이 컨텍스트 기반 응답 생성주요 구성 요소
| 컴포넌트 | 설명 | 대표 도구 |
|---|---|---|
| 문서 청킹(chunking) | 문서를 의미 단위로 분할 | LangChain, LlamaIndex |
| 임베딩(embedding) | 텍스트를 벡터로 변환 | OpenAI text-embedding, BGE |
| 벡터 DB | 유사도 검색 저장소 | Pinecone, Weaviate, pgvector |
| 리랭커(reranker) | 검색 결과 재순위 | Cohere Rerank, cross-encoder |
| LLM | 최종 응답 생성 | GPT-4, Claude, Gemini |
RAG의 진화
| 세대 | 특징 |
|---|---|
| Naive RAG | 단순 벡터 검색 + 생성 |
| Advanced RAG | 리랭킹, 쿼리 확장, 하이브리드 검색 |
| Modular RAG | 컴포넌트 교체 가능, 파이프라인 커스터마이즈 |
| Long-Context RAG | 100만 토큰 컨텍스트 활용, 컨텍스트 캐싱 |
| GraphRAG | 지식 그래프 기반 관계형 검색 (lightrag) |
한계와 해결 방안
“Lost in the Middle” 문제: 프롬프트 중간의 정보는 LLM이 무시하는 경향이 있다. → 가장 관련성 높은 문서를 프롬프트 앞뒤에 배치하는 리랭킹으로 해결.
비용 문제: 매번 수십만 토큰을 처리하는 것은 비효율적. → 정적 문서에 대한 컨텍스트 캐싱(context caching)으로 해결.
관련 문서
- lightrag — 지식 그래프 기반 GraphRAG 구현
- graph-rag — 관계 인식 멀티홉 검색을 위한 그래프 기반 RAG 방법론
- inference-caching — 추론 비용과 지연 시간을 줄이는 캐시 전략
- rag-tips-long-context — 장문 컨텍스트에서 효율적인 RAG 5가지 기법
- rag-tips-production — 프로덕션 RAG에서 문서 레지스트리·무중단 인덱스·검색 추적을 설계하는 법
- llm-fine-tuning — RAG의 상호 보완 기법인 LLM 파인튜닝 전체 가이드
- agentic-rag-tips-beginner — 3단계 난이도로 배우는 Agentic RAG 입문 가이드
- ragflow — RAG와 에이전트를 결합한 엔터프라이즈급 오픈소스 RAG 엔진 (★80K)
- rag-tutorial-vector-search-python — NumPy만으로 파이썬에서 벡터 검색 처음부터 구현하기
- gemini-file-search — Gemini API 관리형 멀티모달 RAG 도구
- supavec — Carbon.ai 대안을 지향하는 오픈소스 RAG-as-a-Service
- genkit — RAG·툴 호출·플로우를 앱 개발 흐름에 묶는 Google 오픈소스 프레임워크
- rag-tips-confidence-aware — 검색 점수·인용 검증·LLM 판정기로 근거 없는 답변을 보류하는 RAG 설계
- pgvector — PostgreSQL 안에서 임베딩 저장과 벡터 유사도 검색을 구현하는 확장
- agentic-rag-tips-content-engineering — AI 검색 시대의 콘텐츠 엔지니어링과 측정법
- rag-tips-scale-million-documents — 문서 수가 수백만 건으로 늘어날 때 RAG 검색과 컨텍스트를 확장하는 설계
- rag-tutorial-metadata-search-python — Python 임베딩과 메타데이터 필터로 문맥 검색 만들기
- rag-tutorial-hybrid-search-python — BM25와 임베딩 결과를 RRF로 합치는 Python 최소 구현
- onyx — 사내 지식 검색, 웹 검색, 딥 리서치와 MCP를 묶은 셀프호스팅 AI 플랫폼
- crawl4ai — 웹 문서를 Markdown 또는 구조화 데이터로 수집하는 인제스트 도구
- adaptive-chunking — 문서별 최적 청킹 전략 자동 선택 (LREC 2026)
- rag-tips-image-indexing — 기술 문서 이미지를 인덱싱 시 캡셔닝해 텍스트처럼 검색하는 방법