레고 블록을 조립하듯이 필요한 기능만 골라서 끼워 맞추는 방식이에요. 검색하고 답변하는 과정을 여러 개의 독립된 부품으로 나눠놓고, 상황에 따라 다르게 조합합니다. 고정 메뉴만 파는 식당이 아니라 뷔페처럼 원하는 것을 골라 담는 거예요.
예를 들어, 고객 문의를 처리하는 AI에는 "질문 분류 부품 + 문서 검색 부품 + 답변 생성 부품"을 조합합니다. 연구 자료를 분석하는 AI에는 "논문 검색 부품 + 요약 부품 + 비교 분석 부품"을 조합하는 식이죠.
아마존(Amazon)은 상품 추천, 고객 응대, 재고 관리 등 각기 다른 AI 서비스에 부품을 다르게 조합해서 씁니다. 네이버 하이퍼클로바가 서비스별로 다른 검색 방식을 조합해 활용하는 것이 이에 해당합니다.
이 방식의 가장 큰 장점은 유연함입니다. 새로운 기능이 필요하면 부품 하나만 추가하면 되고, 문제가 생기면 해당 부품만 교체하면 돼요.
📚 선수학습: 이 내용을 이해하려면 Advanced RAG를 먼저 읽으면 좋습니다.
Modular RAG는 RAG 시스템을 **교체 가능한 모듈(module)**들의 조합으로 재정의한 패러다임이다. Gao et al. (2024)이 제안한 이 프레임워크는 Naive RAG와 Advanced RAG의 고정된 파이프라인 구조를 넘어, 태스크에 따라 모듈을 자유롭게 조합할 수 있는 유연한 아키텍처를 제공한다.
핵심 모듈 유형은 다음과 같다:
┌─────────────────────────────────────────────────┐
│ Modular RAG Framework │
├─────────┬──────────┬───────────┬────────────────┤
│ Indexing │ Pre-Ret. │ Retrieval │ Post-Ret. │
│ Module │ Module │ Module │ Module │
├─────────┼──────────┼───────────┼────────────────┤
│•Chunking │•Query │•Dense │•Reranking │
│•Hier. │ Rewrite │•Sparse │•Filtering │
│ Index │•Query │•Hybrid │•Compression │
│•Graph │ Route │•Graph │•Summarization │
│ Index │•Query │ Traversal │ │
│ │ Decomp. │ │ │
├─────────┴──────────┴───────────┴────────────────┤
│ Orchestration Layer │
│ (선형 / 분기 / 루프 / 에이전트 제어) │
└─────────────────────────────────────────────────┘
오케스트레이션 레이어가 Modular RAG의 핵심 차별점이다. 이 레이어는 모듈 간의 실행 흐름을 제어하며, 네 가지 패턴을 지원한다:
Query Routing은 질의를 분류하여 최적의 파이프라인으로 분배한다. 예를 들어, 사실 확인 질의는 키워드 검색 경로로, 추론 질의는 다단계 검색 경로로 보낸다:
Modular RAG의 강점은 태스크별 최적화에 있다. 동일한 프레임워크 내에서 구성만 바꿔 다양한 시나리오에 대응한다:
| 시나리오 | 모듈 조합 | 효과 |
|---|---|---|
| 단순 QA | Dense 검색 → 생성 | 낮은 레이턴시 |
| 기술 문서 QA | 하이브리드 검색 → Reranking → 생성 | 높은 정확도 |
| 복합 추론 | 쿼리 분해 → 다단계 검색 → 종합 생성 | Multi-hop 대응 |
| 실시간 대화 | 쿼리 라우팅 → 캐시/검색 분기 → 생성 | 효율성 |
장점:
한계:
QueryPipeline 또는 LangGraph를 오케스트레이션 레이어로 활용deberta-v3-base 파인튜닝) 또는 LLM few-shot으로 구현Query Router는 사용자 질의를 분석하여 가장 적합한 검색/생성 파이프라인으로 분기하는 모듈이다. 의도 분류(intent classification)와 유사한 역할을 한다. ↩
Corrective RAG (CRAG)