RAG(Retrieval-Augmented Generation) 개념 및 구현

RAG(Retrieval-Augmented Generation)를 구현하는 7가지 RAG 방법론과 공통 기반 기술을 살펴보고 간단히 구현된 코드를 살펴봅니다. 본 포스트는 클로드의 도움을 받아 작성되었습니다. 최초작성 2026. 2. 5 7가지 RAG 방법론 RAG는 단순히 “검색해서 LLM에게 주면 끝”이 아닙니다. 실제로 RAG를 구현하고 운영하다 보면 수많은 문제에 부딪히게 됩니다. 검색 결과가 엉뚱하거나, 관련 없는 문서가 섞여 들어오거나, LLM이 문서 내용을 무시하고 … 더 읽기

RAG 구현에 필요한 공통 기반 기술

RAG 구현에 필요한 공통 기반 기술 모든 RAG에 공통으로 적용되는 핵심 기반 기술을 설명합니다. A. 청킹(Chunking) 전략 왜 청킹이 중요한가? RAG 성능의 30~40%는 청킹에서 결정됩니다. 이 말이 과장이 아닙니다. 청킹이란 긴 문서를 작은 조각으로 나누는 것입니다. 이 조각들이 벡터 데이터베이스에 저장되고, 검색의 단위가 됩니다. 청킹을 어떻게 하느냐에 따라: 가 결정됩니다. 청킹 전략의 종류 1. 고정 … 더 읽기

Corrective RAG (교정 RAG)

7. Corrective RAG (교정 RAG) 7.1 Corrective RAG란 무엇인가요? Corrective RAG는 “틀린 답을 전제로 설계된” RAG입니다. 검색 결과가 잘못되었거나 부족할 수 있다는 것을 인정하고, 이를 감지하고 교정하는 메커니즘을 내장하고 있습니다. 일반 RAG는 낙관적입니다. “검색하면 좋은 결과가 나올 거야”라고 가정합니다. 하지만 현실에서는: Corrective RAG는 비관적(또는 현실적)입니다. “검색 결과가 틀렸을 수 있어. 확인하고 필요하면 고치자”라고 가정합니다. 7.2 … 더 읽기

Agentic RAG (에이전트 RAG)

6. Agentic RAG (에이전트 RAG) 6.1 Agentic RAG란 무엇인가요? Agentic RAG는 RAG를 단발 호출이 아니라 행위(behavior)로 확장한 것입니다. AI가 단순히 “검색하고 답변”하는 것이 아니라, 목표를 달성하기 위해 계획 → 검색 → 실행 → 관찰 → 재계획의 사이클을 반복합니다. 일반 RAG를 생각해보면, 사용자가 질문하면 한 번 검색하고, 한 번 생성해서 답변합니다. 끝입니다. 하지만 복잡한 질문은 한 … 더 읽기

Self-RAG (자기 평가 RAG)

5. Self-RAG (자기 평가 RAG) 5.1 Self-RAG란 무엇인가요? Self-RAG는 LLM이 스스로 판단하고 평가하는 RAG입니다. 핵심은 모델이 외부의 지시 없이 스스로 다음 질문들에 답한다는 것입니다: 일반 RAG는 어떤 질문이든 무조건 검색부터 합니다. 하지만 생각해보면, “1 더하기 1은?”이나 “Python에서 for 문 어떻게 써?”같은 질문에는 검색이 필요 없습니다. LLM이 이미 알고 있는 기본 지식이니까요. 반면 “우리 회사 작년 … 더 읽기

Graph RAG (그래프 RAG)

4. Graph RAG (그래프 RAG 4.1 Graph RAG란 무엇인가요? Graph RAG는 지식 그래프(Knowledge Graph)를 활용하는 RAG입니다. 핵심 아이디어는 “문서”가 아니라 “관계”를 검색한다는 것입니다. 일반적인 RAG는 문서를 독립적인 조각으로 취급합니다. 각 청크는 그 안에 있는 텍스트만 담고 있고, 다른 청크와의 관계는 고려하지 않습니다. 하지만 현실 세계의 정보는 서로 연결되어 있습니다. 지식 그래프는 정보를 엔티티(Entity, 개체), 관계(Relationship), … 더 읽기

Modular RAG

3. Modular RAG 3.1 Modular RAG란 무엇인가요? Modular RAG는 RAG 시스템을 여러 개의 독립적인 모듈로 나눠서 구성하는 방식입니다. 핵심은 “RAG를 파이프라인이 아니라 시스템으로 보기 시작한다”는 것입니다. Naive RAG나 Advanced RAG를 생각해보면, 처음부터 끝까지 하나의 흐름으로 연결되어 있습니다. 질문이 들어오면 → 쿼리 처리 → 검색 → 리랭킹 → 생성 → 답변 출력. 이 모든 단계가 하나의 … 더 읽기

Advanced RAG (고급 RAG)

2. Advanced RAG (고급 RAG) 2.1 Advanced RAG란 무엇인가요? Advanced RAG는 Naive RAG의 한계를 개선한 RAG입니다. 핵심은 “검색 품질을 올리는 테크닉의 집합”이라는 것입니다. Naive RAG가 단순히 “검색하고 답변 생성”이라면, Advanced RAG는 검색 전에 질문을 더 좋게 다듬고, 검색 방식을 다양화하고, 검색 후에 결과를 한 번 더 정제하는 과정을 추가합니다. Advanced RAG 기법인 쿼리 재작성, 하이브리드 … 더 읽기

Naive RAG (기본 RAG)

1. Naive RAG (기본 RAG) 1.1 Naive RAG란 무엇인가요? Naive RAG는 RAG의 출발점입니다. “Naive”라는 단어는 “순진한” 또는 “단순한”이라는 뜻인데, 말 그대로 가장 단순하고 직관적인 방식으로 RAG를 구현한 것입니다. 복잡한 기법 없이 “검색하고, 찾은 내용을 AI에게 주고, 답변을 받는다”는 RAG의 핵심 아이디어만 그대로 구현합니다. Naive RAG의 동작 흐름을 한 문장으로 요약하면 이렇습니다. 사용자가 질문하면, 그 질문을 … 더 읽기