표준적인 RAG 시스템에 “이 500건의 임상시험 보고서 전반에 걸친 핵심 주제는 무엇인가?“라고 묻는다면, 시스템은 “주제(themes)“라는 단어와 의미론적으로 가장 유사한 청크 5개를 검색해 올 것입니다. 그러나 주제별 종합 분석을 생성해 내지는 못합니다. 애초에 불가능하기 때문입니다. 기존 RAG는 건초더미에서 바늘을 찾도록 설계되었을 뿐, 건초더미 자체의 구조와 내용을 설명하도록 만들어진 것이 아닙니다.
이것이 바로 GraphRAG가 해결하고자 등장한 근본적인 한계입니다. 비정형 텍스트로부터 지식 그래프(Knowledge Graph)를 구축하고, 이를 계층적으로 클러스터링(Hierarchical Clustering)하며, 커뮤니티 요약(Community Summaries)을 사전 계산하는 이 해법은 검색 증강 생성(Retrieval-Augmented Generation)이라는 개념이 등장한 이래 가장 중대한 아키텍처적 전환 중 하나입니다.
벡터 RAG가 해결할 수 없는 문제
기존 RAG는 문서를 청크 단위로 분할하여 벡터화하고, 쿼리 임베딩을 기반으로 가장 유사도가 높은 상위 k개의 청크를 검색합니다. 이러한 방식은 “3분기 매출은 얼마였는가?” 또는 “SOP 4.2절에는 무엇이 명시되어 있는가?“와 같이 정답이 특정 청크 하나에 명확히 존재하는 경우에는 뛰어난 성능을 발휘합니다.
하지만 다음과 같은 세 가지 유형의 쿼리에서는 한계를 드러냅니다:
전체론적 의미 파악(Global sensemaking). “이 500개 보고서에서 반복적으로 나타나는 주요 테마는 무엇인가?“와 같은 질문은 전체 코퍼스(corpus)에 분산된 정보를 종합해야 합니다. 그러나 벡터 검색은 파편화된 스니펫을 가져올 뿐, 종합된 개념을 도출하지 못합니다.
다단계 추론(Multi-hop reasoning). “인물 A는 중개자들을 거쳐 조직 B와 어떻게 연결되어 있는가?“와 같은 질문은 직접적인 키워드 중복이 전혀 없는 문서들에 걸쳐 암시적 관계를 추적(traversing)해야 합니다. 벡터 유사도 검색은 이러한 관계 체인을 따라갈 수 없습니다.
컨텍스트 파편화(Context fragmentation). 복잡한 문서는 계층적 구조, 관계형 맥락, 그리고 여러 부분에 걸쳐 분산된 서사를 갖습니다. 기존의 청킹(chunking) 과정은 이러한 구조적 맥락을 파괴합니다. 검색된 청크들은 의미적으로는 유사할지라도 구조적으로는 단절되어 있습니다.
GraphRAG는 원본 텍스트와 LLM 사이에 그래프 기반 검색 계층(graph-mediated retrieval layer)을 도입함으로써 이 세 가지 문제를 모두 해결합니다.
아키텍처: 인덱싱 및 쿼리
Microsoft Research는 2024년에 GraphRAG의 참조 프레임워크(reference framework)를 발표했습니다. 이 시스템은 두 단계로 동작합니다: 대규모 연산이 소요되는 오프라인 인덱싱 단계와 경량화된 런타임 쿼리 단계입니다.
인덱싱 파이프라인
인덱싱 파이프라인은 비정형 텍스트를 6단계를 거쳐 구조화된 지식 베이스로 변환합니다:
1. 문서 청킹(Document chunking). 원본 문서는 TextUnit 단위로 분할됩니다(일반적으로 100토큰 오버랩을 포함한 1,200토큰 크기). 이는 모든 다운스트림 출력에서 인용 가능한(citable) 세분화된 참조 역할을 합니다.
2. 엔티티 및 관계 추출(Entity and relationship extraction). LLM(기본값은 GPT-4o)이 구조화된 프롬프팅을 통해 각 청크를 스캔하여 타입이 지정된 엔티티(인물, 조직, 위치, 이벤트 등), 이들 간의 관계(설명이 포함된 방향성 엣지), 그리고 주요 클레임(claim)을 추출합니다. 청크당 1~2회의 LLM 호출이 발생하는 가장 비용이 많이 드는 단계입니다.
3. 그래프 구축 및 중복 제거(Graph construction and deduplication). 추출된 엔티티들을 병합하여 동의어(“Sam Altman”과 “S. Altman”)를 표준 노드(canonical node)로 통합하고, 엣지 가중치를 합산하며 설명을 결합합니다.
4. 계층적 커뮤니티 감지(Hierarchical community detection). 레이던 알고리즘(Leiden algorithm)을 사용하여 다양한 단위(granularity)에서 그래프를 중첩된 모듈형 서브그래프로 분할합니다. 레벨 0은 최상위 거시 테마를, 레벨 1은 보다 세분화된 하위 주제를 나타내는 방식입니다. 이 단계는 순수 그래프 알고리즘으로 수행되며 LLM을 호출하지 않습니다.
5. 커뮤니티 요약(Community summarization). LLM이 각 계층 레벨에서 감지된 커뮤니티별로 서술형 요약 보고서(narrative summary report)를 생성합니다. 해당 서브그래프 내의 모든 노드가 갖는 집합적 맥락을 포착하는 것입니다. 잠재적인 글로벌 질의에 대한 “답변”을 미리 계산해 둔다는 점에서 핵심적인 아키텍처적 혁신입니다.
6. 임베딩(Embedding). TextUnit, 엔티티 설명, 커뮤니티 보고서를 벡터 검색에 활용할 수 있도록 임베딩합니다.
Source Documents
│
▼
┌─────────────┐
│ Text Chunk │ (1,200 tokens, 100 overlap)
│ Segmentation│
└──────┬──────┘
│
▼
┌─────────────┐
│ Entity & │ LLM extraction per chunk
│ Relationship │ (entities, types, edges, claims)
│ Extraction │
└──────┬──────┘
│
▼
┌─────────────┐
│ Graph │ Merge synonyms, canonicalize
│ Construction │ nodes, aggregate edge weights
│ & Dedup │
└──────┬──────┘
│
▼
┌─────────────┐
│ Community │ Leiden algorithm — hierarchical
│ Detection │ clustering (no LLM)
└──────┬──────┘
│
▼
┌─────────────┐
│ Community │ LLM generates narrative
│ Summarization│ summaries per community
└──────┬──────┘
│
▼
┌─────────────┐
│ Embedding │ Vector store for retrieval
└─────────────┘
쿼리 모드
쿼리 시점에 GraphRAG는 질문의 특성에 따라 경로를 분기합니다. 총 네 가지 검색 전략을 제공합니다:
로컬 검색(Local Search) — 엔티티 중심 검색. 벡터 검색을 통해 쿼리 내 주요 엔티티를 식별한 뒤, 인접한 관계와 연결된 엣지들을 탐색하고 해당 노드와 관련된 원본 소스 청크를 가져와 집중된 컨텍스트를 생성 모델에 전달합니다. “엔티티 X에 대해 알려줘”와 같은 특정 사실 위주의 사실적 질의에 가장 적합합니다.
글로벌 검색(Global Search) — 코퍼스 전반의 전체론적 추론. 원본 청크를 완전히 우회합니다. 서로 다른 계층 레벨에 걸쳐 커뮤니티 요약본을 샘플링하고, 맵리듀스(map-reduce) 단계를 통해 프롬프트에 대한 각 요약의 관련성을 점수화한 다음, 높은 점수를 받은 커뮤니티 보고서들을 종합하여 포괄적인 글로벌 답변을 생성합니다. “주요 테마를 요약해 줘” 또는 “시스템 전반의 취약점은 무엇인가?“와 같은 질문에 가장 적합합니다.
DRIFT 검색(DRIFT Search) (Dynamic Reasoning with Iterative Tree expansion) — 2024년에 도입된 하이브리드 방식. 커뮤니티 인사이트를 활용하여 쿼리를 후속 질문들로 확장함으로써 로컬 검색을 점진적으로 정교화합니다. “X는 더 넓은 거시적 주제와 어떻게 연관되는가?“처럼 엔티티 수준의 세부 정보와 코퍼스 수준의 맥락이 동시에 필요한 질의에 가장 적합합니다.
베이직 검색(Basic Search) — 그래프 탐색이 불필요한 단순 팩토이드(factoid) 쿼리를 위한 기존 벡터 유사도 폴백(fallback) 방식입니다.
| Search Mode | Best For | Context Source | Token Cost |
|---|---|---|---|
| Local | Specific entities, direct facts | Node attributes, 1-2 hop edges, source chunks | Low |
| Global | Holistic summaries, themes | Pre-computed community summaries | High (map-reduce) |
| DRIFT | Entity + broader context | Community insights + local traversal | Medium |
| Basic | Simple factoid lookup | Vector similarity on raw chunks | Minimal |
커뮤니티 요약의 혁신
이는 GraphRAG가 이뤄낸 가장 핵심적인 아키텍처적 기여입니다. 전체론적 질문에 대해 가공되지 않은 원본 텍스트 청크를 검색하는 대신, 서브그래프 커뮤니티의 사전 합성된 요약본을 검색하는 것입니다.
예를 들어 10,000개의 청크로 이루어진 코퍼스는 최상위 레벨에서 약 50개의 커뮤니티 요약으로 축약될 수 있습니다. 각 요약에는 “A 지역 고객들은 가격 문제를 자주 언급하는 반면, B 지역 고객들은 배송 지연을 지적함”과 같이 광범위하게 분산된 지식이 이미 인코딩되어 있습니다. 따라서 쿼리 시점의 LLM은 추출 후 종합(관련 정보를 찾은 뒤 이를 이해하고 재구성하는 과정)을 수행하는 대신, 리덕션(reduction, 이미 작성된 요약들을 종합하는 과정)만을 수행합니다.
이러한 계층적 구조는 정밀도(precision)와 재현율(recall) 간의 동적 트레이드오프를 가능하게 합니다. 넓은 트렌드를 파악하려면 줌아웃하여 루트 레벨 커뮤니티를 확인하고, 특정 도메인을 파고들려면 줌인하여 리프(leaf) 레벨 커뮤니티를 확인하는 식입니다. Microsoft의 평가 결과에 따르면, 글로벌 질문에 대한 포괄성(comprehensiveness) 및 다양성(diversity) 지표에서 기존 나이브 RAG 대비 7080%의 승률을 기록했으며, 루트 레벨 요약은 원본 소스 텍스트 토큰 비용의 단 23%만으로도 이에 필적하는 성능을 달성했습니다.
비용 문제
GraphRAG의 강력한 성능 뒤에는 대다수 아키텍처 의사결정을 좌우하는 막대한 비용 문제가 뒤따릅니다.
인덱싱 비용(Indexing cost). GPT-4 기준 Microsoft GraphRAG의 풀(full) 인덱싱 비용은 100만 토큰당 약 $50에 달하는 반면, 벡터 임베딩은 약 $0.50에 불과합니다. 인덱스 생성 시점에서 무려 100배의 차이가 발생하는 것입니다. 1,000페이지 분량의 코퍼스를 상용 LLM으로 인덱싱하는 데만 $50~$200가 소요될 수 있습니다.
쿼리 비용(Query cost). 글로벌 검색은 매우 값비싼 모드입니다. 계층 레이어 전반의 커뮤니티 요약을 샘플링해야 하며, 최악의 경우 수백 번의 LLM 호출에 걸쳐 쿼리당 약 610,000토큰이 소모되기도 합니다. 반면 LightRAG는 단일 호출로 쿼리당 100토큰 미만을 사용하여 약 6,000배의 차이를 보여줍니다.
지연 시간(Latency). 그래프 탐색과 여러 차례의 LLM 호출이 결합되면서 응답 시간이 크게 늘어납니다. 한 생체의학(biomedical) 벤치마크에서 GraphRAG의 쿼리당 평균 응답 시간은 15초였던 반면, 벡터 RAG는 3.35초였습니다.
| Phase | Vector RAG | Microsoft GraphRAG | LightRAG | LazyGraphRAG |
|---|---|---|---|---|
| Indexing (1M tokens) | ~$0.50 | ~$50 | ~$6-7 | 0.1% of full GraphRAG |
| Query (global) | N/A | ~610K tokens | <100 tokens | Comparable to vector RAG |
| Query (local) | ~4-8K tokens | Similar | Similar | Similar |
이러한 수치들은 왜 이 분야가 비용 최적화된 파생 변형 모델들로 빠르게 다변화되었는지를 명확히 보여줍니다.
변형 모델(Variant) 생태계의 지형도
Microsoft의 오리지널 GraphRAG는 그래프의 풍부함과 효율성 간의 트레이드오프를 조율하는 다양한 대안 생태계를 탄생시켰습니다.
LazyGraphRAG
2024년 말 Microsoft Research가 발표한 LazyGraphRAG는 모든 LLM 연산을 쿼리 시점으로 과감하게 유예(defer)합니다. 인덱싱 단계에서 LLM 기반 엔티티 추출을 수행하는 대신, NLP 명사구(noun-phrase) 추출을 활용하여 개념과 동시 발생(co-occurrence)을 식별합니다. 이를 통해 인덱싱 비용을 벡터 RAG와 동일한 수준(풀 GraphRAG의 0.1%)으로 낮춥니다.
쿼리 시점에 LazyGraphRAG는 조정 가능한 관련성 평가 예산(relevance test budget)을 사용하여 비용과 품질 간의 트레이드오프를 제어합니다. 핵심 통찰은 풀 GraphRAG의 커뮤니티 요약 중 대부분은 실제 쿼리에서 한 번도 참조되지 않으므로, 이를 전수 사전 계산하는 것은 낭비라는 점입니다. LazyGraphRAG는 너비 우선 관련성 평가(breadth-first relevance assessment) 및 반복적 심화(iterative deepening)를 결합한 베스트 우선(best-first) 청크 랭킹을 도입하여, 글로벌 검색 대비 4%의 비용만으로 대등한 품질을 달성합니다.
LightRAG
홍콩대학교(EMNLP 2025)에서 발표한 LightRAG는 가장 널리 인용되는 경량 대안입니다. 핵심 혁신은 듀얼 레벨 검색(dual-level retrieval)입니다. 구체적인 엔티티 명칭을 위한 로우 레벨 키워드와 거시적 테마를 위한 하이 레벨 키워드를 동시에 사용합니다. 또한 전체 재인덱싱 없이도 점진적 그래프 통합 업데이트(incremental graph-union updates)를 지원하여, 데이터가 동적으로 변경되는 코퍼스에 필수적인 기능을 제공합니다.
독립적인 벤치마크에 따르면 LightRAG는 풀 GraphRAG 대비 35배 빠르고 5070% 저렴한 비용으로 유사한 품질을 제공합니다. 다만 한 가지 주의할 점은 “LightRAG가 글로벌 GraphRAG에 비해 가볍다는 것이지, 절대적인 기준으로 가볍다는 의미는 아니다”라는 점입니다. 일부 실행 환경에서는 여전히 약 4,900초의 시간과 10^4 토큰 규모의 프롬프트가 요구되기도 합니다.
HippoRAG
신경생물학적 구조에서 영감을 얻은 모델입니다. HippoRAG는 LLM 인코더를 대뇌 신피질(neocortex)로, 지식 그래프와 개인화된 페이지랭크(Personalized PageRank, PPR)를 해마(hippocampus)로 모델링합니다. 쿼리 엔티티를 시드(seed)로 삼아 PPR을 통해 그래프 전반으로 활성화(activation)를 확산시킴으로써, 다단계 질의응답(multi-hop QA)에서 기존 최고 성능(SOTA) 모델 대비 최대 20% 향상된 성능을 보이면서도 반복적 검색 기법보다 1030배 저렴하고 613배 빠른 속도를 달성했습니다.
기타 변형 모델들
| Variant | Key Idea | Differentiator |
|---|---|---|
| Fast GraphRAG | 경량 휴리스틱, 임베딩 기반 클러스터링, PageRank 검색 | 비용 10배 절감, 속도 27배 향상 |
| Nano-GraphRAG | 약 1,100줄의 최소화된 Python 구현체 | 교육용, Ollama 네이티브 지원 |
| PropRAG | 텍스트 청크 그래프 기반 신념 전파(Belief propagation) | 명시적 지식 그래프(KG) 추출 생략 |
| RAPTOR | 트리 구조로의 재귀적 클러스터링 | 명시적 그래프 없이 계층 구조 형성 |
| LinearRAG | 관계 추출을 배제한 구조화 (ICLR 2026) | 거의 0에 가까운 인덱싱 비용 |
스펙트럼은 명확합니다: 풀 LLM 추출(가장 정확하지만 가장 비쌈)에서 시작하여 NLP 전용 추출(비용 0.1%), 그리고 관계를 배제한 접근 방식(비용 거의 0)으로 이어집니다. 업계의 기술 흐름은 인덱싱을 가볍게 가져가는 NLP 기반 레이지(lazy) 구축과 LLM 연산의 쿼리 시점 유예로 수렴하고 있습니다.
평가: 그래프 구조는 실제로 언제 도움이 되는가?
결국 가장 중요한 질문은 이것이며, 그 해답은 다면적(nuanced)입니다.
Microsoft의 초기 평가
GraphRAG는 글로벌 의미 파악(global sensemaking) 질문에서 포괄성과 다양성 지표 기준 나이브 RAG 대비 7080%의 승률을 기록했습니다. 중간 및 하위 레벨의 커뮤니티 요약은 원본 소스 텍스트 요약보다 뛰어난 성능을 보이면서도 2070% 수준의 토큰 비용만을 사용했습니다. 루트 레벨 요약의 경우 불과 2~3%의 토큰 사용량으로도 경쟁력 있는 성능을 입증했습니다.
그러나 증명되지 않은 점도 분명했습니다: 로컬 팩트 검색에서의 우수성, 대규모 확장 시의 비용 효율성, 그리고 쿼리 중심 요약 범위를 넘어선 일반화 가능성은 입증되지 못했습니다.
GraphRAG-Bench (ICLR 2026)
ICLR 2026에 채택된 GraphRAG-Bench는 “RAG에서 그래프는 언제 사용해야 하는가?“라는 질문에 답하기 위해 명시적으로 설계된 최초의 종합 벤치마크입니다. 소설과 의학 두 도메인에 걸쳐 난이도가 점진적으로 높아지는 네 가지 과제(단순 사실 검색, 복합 추론, 맥락적 요약, 창의적 생성)를 평가합니다.
여기서 도출된 핵심 결과는 다음과 같습니다: GraphRAG는 많은 실제 업무 환경에서 바닐라(vanilla) RAG보다 낮은 성능을 보이는 경우가 빈번합니다. 작업 유형에 따라 성능 차이가 극명하게 갈리는데, 단순 사실 검색(fact retrieval)은 벡터 RAG가 유리한 반면, 맥락적 요약(contextual summarization)과 창의적 생성(creative generation)에서는 그래프 방식이 확실히 우세합니다. 즉, 그래프의 이점은 조건부이며 보편적이지 않습니다.
독립적 벤치마크 결과
| Study | Vector RAG | GraphRAG | Delta |
|---|---|---|---|
| AWS ML Blog (커스텀 데이터셋) | 정답률 50.83% | 정답률 80%, 수용 가능성 90% | +29pp |
| Biomedical (500 PubMed) | 774 토큰, 3.35초 | 594 토큰, 15.01초 | -23% 토큰, +4.5배 지연시간 |
| EntityNet (엔티티 리스크) | 0.355 F1 | 0.681 F1 | +92% |
독립적인 평가들을 통해 세 가지 주요 실패 모드(failure modes)가 확인되었습니다: 추출 오류(LLM이 엔티티나 관계를 잘못 식별함), 커뮤니티 노이즈(부실하게 형성된 커뮤니티가 오해의 소지가 있는 요약을 생성함), 그리고 벡터 RAG가 훨씬 빠르고 저렴한 단순 조회 질의에서의 성능 저하입니다.
GraphRAG를 도입해야 할 때와 피해야 할 때
GraphRAG를 사용해야 하는 경우:
- 쿼리가 문서 간 엔티티 연결을 필요로 할 때 (“여러 사건에서 공통으로 기소된 인물이 있는가?”)
- 주요 질의가 전체론적 의미 파악일 때 (“모든 고객 피드백 전반에 걸친 공통 테마는 무엇인가?”)
- 다단계 추론(Multi-hop reasoning)이 핵심일 때 (“약물 A는 중간 메커니즘을 거쳐 이상반응 C와 어떻게 연관되는가?”)
- 컴플라이언스 및 감사 추적성(Auditability)을 위해 특정 그래프 노드로의 결정론적 원천 추적이 필요할 때
- 코퍼스 규모가 크고(100만 토큰 이상) 질문의 성격이 거시적일 때
GraphRAG를 사용하지 말아야 하는 경우:
- 소규모 코퍼스 대상의 단순 팩토이드 조회로, 벡터 RAG가 1/100 비용으로 동등한 정확도를 낼 수 있을 때
- 응답 지연 시간 요구사항이 1초 미만일 때
- 데이터가 매우 동적이어서 실시간 업데이트가 필수적일 때 (LightRAG 점진적 업데이트나 LazyGraphRAG를 사용하지 않는 한)
- 추출 품질이 낮을 때 (노이즈가 심한 OCR, 튜닝되지 않은 프롬프트 하에서의 고난도 전문 용어 등)
- 코퍼스가 충분히 작아 LLM 컨텍스트 윈도우 안에 모두 들어갈 수 있을 때
의사결정 프레임워크:
IF query == global_sensemaking (themes, summarize corpus):
→ GraphRAG or LazyGraphRAG (70-80% win rate)
ELIF query == multi_hop_entity_linking AND corpus > 1M tokens:
→ LightRAG (dual-level) or HippoRAG (PPR)
ELIF query == local_factoid AND latency < 2s:
→ Vector RAG
ELIF budget == severe:
→ LazyGraphRAG (0.1% indexing) or FastGraphRAG
ELIF data == highly dynamic:
→ LightRAG (incremental updates)
ELSE:
→ Hybrid: Vector for local + Graph for global
실용적인 아키텍처 접근법
GraphRAG는 벡터 RAG를 완전히 대체하는 만능 기술이 아닙니다. 분산된 정보를 종합하거나, 엔티티 간의 관계를 이해하거나, 전체 코퍼스를 거시적으로 요약해야 할 때 탁월한 강점을 발휘하는 상호 보완적 패러다임입니다.
비용 격차는 엄연히 존재하지만 점차 좁혀지고 있습니다. 2024년 당시 100만 토큰당 $50에 달했던 Microsoft GraphRAG의 풀 인덱싱 비용은 도입의 큰 장벽이었습니다. 그러나 LazyGraphRAG는 인덱싱 비용을 벡터 RAG 수준으로 끌어내렸고, LightRAG는 검색 토큰 소모량을 6,000분의 1로 줄였습니다. HippoRAG는 다단계 검색 비용을 10~30배 절감시켰으며, LinearRAG(ICLR 2026)는 인덱싱 비용을 거의 0에 가깝게 낮추었습니다.
2026년 현재 대다수 기업에 가장 적합한 아키텍처는 하이브리드(Hybrid) 구조입니다: 낮은 지연 시간이 요구되는 로컬 조회에는 벡터 RAG를 적용하고, 비용에 민감한 그래프 추론에는 LightRAG나 LazyGraphRAG를 활용하며, 사전 인덱싱 투자를 정당화할 만큼 전체론적 의미 파악의 포괄성이 중요한 영역에는 DRIFT 및 동적 커뮤니티 선택을 갖춘 풀 Microsoft GraphRAG를 도입하는 것입니다.
그래프는 검색 방식 그 자체가 아닙니다. 그래프는 검색을 지능적으로 만들어 주는 구조(structure)입니다. 목적에 맞게 아키텍처를 설계하시기 바랍니다.
Sources: Microsoft Research, arXiv (2404.16130, 2410.05779, 2405.14831), Neo4j Developer Blog, Weaviate, GraphRAG-Bench (ICLR 2026), LearnOpenCV, GitHub (HKUDS/LightRAG, neal-wu/from-rag-to-llm)
Saram Consulting