# [[Retrieval-Augmented Generation (RAG)]]

## 📌 Brief Summary
Retrieval-Augmented Generation (RAG)는 대규모 언어 모델(LLM)의 생성 능력에 외부 정보 검색 시스템을 결합한 AI 아키텍처입니다 [1]. 사용자 질의와 관련된 최신 정보나 도메인 특화 지식을 외부 데이터베이스에서 실시간으로 검색하여 프롬프트를 증강(Augment)한 뒤, 이를 바탕으로 LLM이 답변을 생성하도록 합니다 [2, 3]. 이 기술은 사전 학습된 데이터에만 의존하는 기존 LLM의 지식 단절, 환각(Hallucination), 내부 데이터 접근 불가 문제를 효과적으로 해결하며, 모델의 재학습 없이도 응답의 정확성과 신뢰성을 크게 향상시킵니다 [4-6].

## 📖 Core Content
**RAG 파이프라인 아키텍처**
* **문서 수집 및 청킹(Chunking):** 다양한 포맷(PDF, 데이터베이스 등)의 정형 및 비정형 데이터를 수집한 뒤, 문맥적 경계가 유지되도록 적절한 크기로 분할(Semantic chunking)합니다 [7-9].
* **벡터 임베딩 및 데이터베이스:** 분할된 텍스트를 고차원 숫자 배열인 벡터 임베딩으로 변환하여 의미적 관계를 캡처하고, 이를 고속 검색에 최적화된 벡터 데이터베이스(Pinecone, Weaviate, FAISS 등)에 인덱싱하여 저장합니다 [8-11].
* **검색(Retrieval) 메커니즘:** 코사인 유사도(Cosine similarity)와 같은 거리 측정 알고리즘을 사용하거나, 의미론적 밀집 벡터 검색(Dense Search)과 전통적인 키워드 기반 희소 검색(BM25)을 결합한 하이브리드 검색을 통해 사용자 질의와 가장 연관성 높은 문서 청크를 찾아냅니다 [11-13].
* **프롬프트 엔지니어링 및 생성:** 사용자의 원본 질의, 검색된 문서, 메타데이터 등을 결합하여 종합적인 프롬프트를 구성하고, 이를 LLM에 전달하여 실제 데이터에 기반을 둔 정확한 답변을 생성합니다 [14-16].

**Advanced RAG 및 기술의 진화**
* **단순 RAG의 한계 극복:** 낮은 정밀도나 오래된 정보 검색 등으로 인한 환각 문제를 극복하기 위해, 검색 및 생성 품질을 스스로 평가하는 **Self-RAG**, 검색 오류를 수정하는 **CRAG**, 쿼리 복잡도에 따라 검색 전략을 동적으로 조정하는 **Adaptive RAG** 등 진보된 기법이 적용되고 있습니다 [17-19].
* **차세대 RAG 패러다임:** 단순한 선형 파이프라인을 넘어 지식 그래프(Knowledge Graph)를 활용하는 **Graph RAG**, 이미지 및 오디오 등 텍스트 외 미디어를 처리하는 **다중 모달(Multimodal) RAG**, 그리고 검색 도구를 자율적으로 활용해 다단계 추론을 수행하는 **에이전틱(Agentic) RAG**로 진화 중입니다 [13, 20-23]. 특히 엔터프라이즈 환경에서는 검색, 검증, 접근 제어를 통합한 '지식 운영 체제(Knowledge Runtime)'의 형태로 발전하고 있습니다 [24-26].

## ⚖️ Trade-offs & Caveats
* **인프라 복잡성 및 구축 비용 증가:** RAG 시스템은 단순 LLM 기반 서비스보다 훨씬 복잡한 인프라를 요구합니다. 전문적인 벡터 데이터베이스, 고성능 임베딩 모델, 정교한 검색 메커니즘 구축을 위한 고성능 컴퓨팅 리소스가 필요하며, 문서 청킹 및 임베딩 생성과 같은 대대적인 데이터 전처리 과정이 수반되어야 합니다 [27, 28]. 특히 개체 관계를 추출하는 Graph RAG의 경우 기준 RAG보다 3~5배의 LLM 호출 비용이 발생할 수 있습니다 [29, 30].
* **시스템 통합 및 유지 관리의 까다로움:** 문서 저장소, 벡터 DB, 임베딩 서비스, LLM 간의 매끄러운 데이터 흐름을 위한 강력한 API 프레임워크 설계가 필수적이며, 이는 지연 시간(Latency)을 유발할 수 있습니다 [28]. 또한 데이터 변경 시 인덱스에서 오래된 정보를 제거하는 가비지 컬렉션(Garbage collection) 문제가 지속적인 과제로 작용합니다 [31].
* **평가 및 관측(Observability)의 어려움:** RAG의 성능 평가는 단순한 언어 이해 수준을 넘어 검색 정확도, 청크 관련성, 응답 일관성 등을 모두 측정해야 하므로 매우 복잡합니다 [32]. 시스템 작동을 추적하고 환각이나 품질 저하를 탐지하기 위한 정교한 관측 스택을 유지해야 하며, 이 과정에서 20~30%의 성능 저하(Overhead)가 발생할 수 있습니다 [33-35].
* **보안 및 거버넌스 제약:** 검색 계층에 직접 접근 제어(Access Control)를 구현해야 승인되지 않은 정보 유출을 막을 수 있지만, 이는 검색 사각지대를 만들거나 오버헤드를 가중시킵니다 [36, 37]. 더불어 조작된 문서가 검색 결과에 포함되어 특정 LLM 동작을 유발하는 악의적 공격(BadRAG, TrojanRAG 등) 취약점이 존재하며, 이를 방어하기 위한 추가 검증 파이프라인은 응답 지연(5~10% 오버헤드)을 초래합니다 [37-39].

---
*Last updated: 2026-05-04*