RAG 아키텍처 풍경 탐색: 실무자를 위한 가이드
Source: Dev.to
Source: …
Retrieval‑Augmented Generation (RAG) Overview
RAG는 단일 청사진에서 시작해 다양한 아키텍처 생태계로 성장했으며, 각각은 특정 성능, 확장성 및 정확성 요구에 맞게 조정됩니다. 올바른 RAG 패턴을 선택하는 것이 시스템 성공의 핵심입니다. 이 가이드는 주요 RAG 아키텍처를 구분하여 — 작동 방식, 사용 시점, 한계, 그리고 고려할 대안을 설명합니다.
1. Naive RAG
How it works
- 사용자 쿼리를 임베딩합니다.
- 벡터 DB에서 관련 청크를 검색합니다.
- 검색된 청크를 프롬프트 템플릿과 함께 LLM에 전달해 근거 기반 생성(generated)합니다.
Best used when
- 프로토타이핑 또는 MVP를 구축할 때.
- 도메인이 명확하고 정형화된 문서가 깔끔하게 정리돼 있을 때.
- 단순함과 낮은 지연 시간이 우선일 때.
Where it fails
- 검색 품질 저하 → 부적절한 컨텍스트가 환각을 유발.
- 다중 홉 혹은 복합 추론 쿼리에 취약.
- 오래되었거나 잘못된 정보를 교정할 메커니즘이 없음.
What else to use
- Adaptive RAG – 더 똑똑한 라우팅을 위해.
- Corrective RAG – 정확도가 핵심일 때 자체 비판적 검색을 수행.
2. HyDE (Hypothetical Document Embeddings)
How it works
- LLM이 먼저 가상의 답변을 생성합니다.
- 그 가상 답변을 임베딩하여 검색에 활용하고, 이상적인 답변의 “형태”와 매치하도록 합니다.
Best used when
- 쿼리가 짧거나 모호할 때.
- 쿼리와 코퍼스 사이에 어휘 불일치가 있을 때.
- 일반적인 쿼리 임베딩으로는 리콜이 낮을 때.
Where it fails
- 초기 생성 단계에서 환각이 발생하면 검색이 오염됨.
- 추가 LLM 호출로 인해 지연 시간이 증가.
- 가상 답변의 품질에 크게 의존.
What else to use
- 어휘 문제를 해결하기 위한 Hybrid RAG와 레키시컬 검색.
- 쿼리 자체가 멀티모달일 경우 Multimodal RAG.
3. Corrective RAG (CRAG)
How it works
- 교정 단계 추가: 검색된 문서의 관련성/신뢰도를 평가합니다.
- 신뢰도가 낮으면 시스템이 웹 검색이나 다른 소스를 호출해 정보를 보강한 뒤 생성합니다.
Best used when
- 사실 정확성이 매우 중요한 경우(헬스케어, 법률, 금융).
- 지식 베이스가 동적이거나 일부가 신뢰할 수 없을 때.
- 오래된 지식에 의한 환각을 최소화해야 할 때.
Where it fails
- 평가 + 외부 검색으로 인한 높은 지연 시간 및 복잡도.
- 웹 검색은 비용과 예측 불가능성을 초래.
- 평가자 자체가 새로운 실패 지점이 될 수 있음.
What else to use
- 검증 가능성이 내장된 구조화된 도메인을 위한 Graph RAG.
- 단순한 요구사항에는 강력한 평가 체계를 갖춘 Naive RAG가 충분할 수 있음.
4. Graph RAG
How it works
- 문서에서 추출한 지식 그래프를 벡터 DB와 함께 혹은 대체하여 사용합니다.
- 검색이 엔터티 간 관계를 따라 진행되며, 다중 홉 추론을 가능하게 합니다.
Best used when
- 관계가 풍부한 도메인(연구, 사기 탐지, 지식 그래프 등).
- 쿼리가 다중 홉 추론을 요구할 때.
- 검색 경로의 설명 가능성이 중요할 때.
Where it fails
- 그래프 구축·유지에 높은 초기 비용이 듦.
- 광범위한 의미 검색에서는 벡터 검색에 비해 성능이 떨어질 수 있음.
- 서술형 혹은 구조가 약한 텍스트에는 부적합.
What else to use
- 그래프 + 벡터 검색을 결합한 Hybrid RAG.
- 구조가 덜 정형화된 데이터에는 잘 청크된 Naive RAG.
5. Hybrid RAG
How it works
- 밀집 벡터 검색과 희소(키워드) 레키시컬 검색을 결합합니다.
- 결과를 (보통 Reciprocal Rank Fusion으로) 병합한 뒤 생성 단계에 전달합니다.
Best used when
- 리콜(레키시컬)과 의미 이해(벡터) 모두가 필요할 때.
- 어휘 불일치 문제가 존재할 때.
- 코퍼스에 정확한 키워드와 개념적 내용이 혼합돼 있을 때.
Where it fails
- 튜닝 및 균형 맞추기가 복잡함.
- 이중 검색으로 인한 컴퓨팅 비용 증가.
- 병합 로직을 신중히 보정해야 함.
What else to use
- If ke
키워드 검색이 주요 필요이며, 전체 하이브리드로 전환하기 전에 쿼리 확장이나 BM25부터 시작하세요.
6. Adaptive RAG
How it works
- LLM‑기반 오케스트레이터가 쿼리 복잡성을 분류하고 검색 방식을 조정합니다:
- 간단한 쿼리 → 직접 답변.
- 복잡한 쿼리 → 전체 RAG.
- 다중 홉 쿼리 → 웹 검색을 트리거할 수 있음.
Best used when
- 쿼리 복잡도가 크게 다양할 때.
- 비용/지연 시간을 최적화하는 것이 중요할 때.
- 쿼리 유형에 대한 명확한 분류 체계가 있을 때.
Where it fails
- 라우팅 오분류가 성능을 저하시킴.
- 시스템 복잡도가 증가함.
- 새로운 단일 장애 지점이 생김.
What else to use
- 쿼리 복잡도가 균일하다면, 잘 최적화된 Naive 또는 Hybrid RAG만으로 충분할 수 있습니다.
7. Multimodal RAG
How it works
- 검색을 텍스트, 이미지, 오디오 등 여러 모달리티로 확장합니다.
- 멀티모달 쿼리가 멀티모달 청크를 검색하고, 멀티모달 LLM이 답변을 생성합니다.
Best used when
- 지식 베이스와 쿼리가 본질적으로 멀티모달일 때 (다이어그램이 포함된 매뉴얼, 의료 영상, 제품 카탈로그 등).
- 답변에 교차 모달 합성이 필요할 때.
Where it fails
- 정렬, 청크화, 융합 과정이 고도로 복잡함.
- 비용과 지연 시간이 크게 증가함.
- 도구 지원이 아직 초기 단계임.
What else to use
- 대부분 텍스트 기반 작업이라면, 별도의 이미지 캡셔닝 또는 객체 탐지 파이프라인과 함께 text RAG를 사용하세요.
8. Agentic RAG
How it works
- RAG를 에이전트 프레임워크에 내장합니다.
- 계획(예: ReAct)과 메모리를 갖춘 에이전트가 RAG를 도구로 활용해 로컬, 클라우드, 웹(MCP 서버) 등 다양한 소스에서 다단계 연구를 수행합니다.
Best used when
- 작업에 자율적인 다단계 연구가 필요할 때 (실사 조사, 경쟁 분석 등).
- 문제 범위가 넓고 하나의 지식 베이스에 국한되지 않을 때.
- 세션 간 장기 메모리가 요구될 때.
Where it fails
- 가장 높은 복잡도와 예측 불가능성을 가짐.
- 목표 이탈이나 무한 루프에 빠지기 쉬움.
- 운영 비용이 매우 높음.
What else to use
- 결정론적인 지식 조회라면, 더 단순한 RAG가 더 신뢰성 있고 비용 효율적입니다.
- Agentic RAG는 개방형 탐색이 필요할 때만 사용하세요.
결론: 간단히 시작하고 신중하게 확장하기
- 모든 상황에 맞는 RAG는 없습니다. 최적의 선택은 정확도, 지연 시간, 비용, 복잡성에 대한 귀하의 구체적인 요구에 따라 달라집니다.
- Naive RAG부터 시작하고 데이터 준비와 평가에 투자하세요.
- 병목 현상을 파악하세요:
- Retrieval quality → HyDE / Hybrid.
- Reasoning → Graph.
- Factuality → Corrective.
- 명확한 프로덕션 요구가 나타날 때만 Adaptive 또는 Agentic으로 전환하세요.
정확도‑지연‑비용 트레이드‑오프를 만족하는 가장 간단한 RAG가 종종 가장 지속 가능한 선택입니다.
정확도, 지연 시간 및 비용 제약이 보통 올바른 선택입니다.
추가 읽을거리
- Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- Gao et al., Precise Zero-Shot Dense Retrieval without Relevance Labels
- Sarthi et al., Corrective Retrieval Augmented Generation
- Wu et al., Knowledge Graph-Augmented Language Models for Knowledge-Grounded Dialogue