AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

RAG – 외부 지식을 LLM에 실시간으로 주입하는 검색 증강 생성 기술

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 RAG100만 토큰 컨텍스트 활용, 컨텍스트 캐싱
GraphRAG지식 그래프 기반 관계형 검색 (lightrag)

한계와 해결 방안

“Lost in the Middle” 문제: 프롬프트 중간의 정보는 LLM이 무시하는 경향이 있다. → 가장 관련성 높은 문서를 프롬프트 앞뒤에 배치하는 리랭킹으로 해결.

비용 문제: 매번 수십만 토큰을 처리하는 것은 비효율적. → 정적 문서에 대한 컨텍스트 캐싱(context caching)으로 해결.

관련 문서


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)