coredot.today
GraphRAG 완전 가이드: 문서를 그래프로 바꾸면 AI가 보지 못하던 것을 본다
블로그로 돌아가기
GraphRAG지식 그래프RAG커뮤니티 탐지멀티홉 추론

GraphRAG 완전 가이드: 문서를 그래프로 바꾸면 AI가 보지 못하던 것을 본다

기본 RAG가 놓치는 '전체 그림'을 어떻게 볼 것인가. Microsoft Research의 GraphRAG 논문을 중심으로, 지식 그래프가 왜 필요한지부터 실전 비용 분석, 선택 가이드까지 — 논문과 실무 사례로 풀어본다.

코어닷투데이2026-03-0640

들어가며: "이 문서들의 핵심 주제가 뭐야?"

당신은 AI 기반 문서 분석 시스템을 만들고 있다. 벡터 검색 기반의 RAG를 구축했고, "재택근무 정책이 뭐야?" 같은 구체적 질문에는 잘 답한다. 팀은 만족스럽다.

그러다 경영진이 이런 질문을 던진다:

"지난 분기 고객 불만 데이터 5000건에서 반복되는 패턴이 뭐야?"

시스템이 멈칫한다. 벡터 검색은 5000건 중 질문과 가장 유사한 5건을 가져올 뿐이다. 5000건 전체를 관통하는 패턴? 그건 볼 수 없다.

비슷한 질문들:

  • "100개 공급업체의 리스크 요인을 종합하면?"
  • "이 법률 문서들 간에 상충되는 조항이 있나?"
  • "지난 1년간의 회의록에서 핵심 의사결정 흐름을 추적해줘"

이 질문들의 공통점은 명확하다. 개별 문서가 아니라 문서 간의 관계전체를 관통하는 구조를 파악해야 답할 수 있다.

2024년 4월, Microsoft Research가 정확히 이 문제를 해결하기 위해 발표한 것이 GraphRAG다.


1. 기본 RAG는 왜 "전체 그림"을 못 보는가

구조적 한계: 나무만 보고 숲을 못 본다

기본 RAG의 작동 원리를 떠올려보자. 문서를 수백~수천 개의 청크로 쪼개고, 각 청크를 벡터로 변환한 뒤, 질문과 가장 유사한 상위 k개를 가져와 LLM에 전달한다.

이 구조에는 근본적인 맹점이 있다:

1. 개별 청크는 서로를 모른다. 청크 A에 "삼성전자가 NVIDIA와 HBM 공급 계약을 체결했다"가 있고, 청크 B에 "NVIDIA가 현대자동차와 자율주행 칩 공급 협약을 맺었다"가 있다면 — 인간은 이 둘을 보고 "삼성전자 → NVIDIA → 현대자동차"라는 간접적 연결을 파악한다. 하지만 벡터 검색은 이 두 청크를 독립적으로 취급한다. 연결은 보이지 않는다.

2. 상위 k개는 전체의 극히 일부다. 5000개 청크에서 top-5를 가져오면 전체의 0.1%다. "전체 패턴"을 0.1%의 샘플로 파악하는 것은 불가능에 가깝다.

3. 글로벌 질문에 로컬 검색을 적용한다. "이 데이터셋의 핵심 주제는?"은 전체를 조망하는 글로벌 질문이다. 하지만 벡터 검색은 질문과 가장 가까운 개별 청크를 찾는 로컬 검색이다. 도구와 문제가 맞지 않는다.

실험적 증거: Diffbot/FalkorDB 벤치마크

Diffbot과 FalkorDB의 벤치마크는 이 한계를 정량적으로 보여준다:

검색 정확도 비교
스키마 바운드 쿼리 (KPI, 재무 예측 등) — 개체 수 5개 초과 시
LLM 단독
16.7%
Vector RAG
0%
GraphRAG
56.2%

개체(entity) 수가 5개를 넘어가는 복잡한 쿼리에서 벡터 RAG의 정확도는 **0%**로 떨어졌다. 관계를 추적할 수 없기 때문이다. 반면 GraphRAG는 56.2%를 유지했다 — LLM 단독(16.7%) 대비 3.4배.


2. GraphRAG의 핵심 아이디어

논문 소개

"From Local to Global: A Graph RAG Approach to Query-Focused Summarization" 저자: Darren Edge, Ha Trinh, Newman Cheng 등 (Microsoft Research) 발표: arXiv:2404.16130 (2024년 4월, 2025년 2월 개정)

논문의 핵심 아이디어는 한 문장으로 요약된다:

*"문서를 벡터가 아니라 **지식 그래프(knowledge graph)*로 변환하고, 그래프의 커뮤니티 구조를 활용하여 로컬 질문과 글로벌 질문 모두에 답하자."

비유하자면 이렇다. 기본 RAG가 도서관에서 "이 질문과 관련된 페이지를 찾아줘"라고 하는 것이라면, GraphRAG는 먼저 도서관의 모든 책을 읽고, 인물·사건·장소 간의 관계도를 그리고, 주제별로 분류한 뒤에 질문에 답하는 것이다.

왜 "그래프"인가

지식 그래프는 정보를 **노드(개체)**와 **엣지(관계)**로 표현한다.

지식 그래프 예시 — 반도체 공급망
노드 (개체)
삼성전자, NVIDIA, TSMC, 현대자동차, HBM3E, A100, 자율주행칩
엣지 (관계)
삼성전자 —공급→ NVIDIA (HBM3E)
NVIDIA —협력→ 현대자동차 (자율주행칩)
TSMC —위탁생산→ NVIDIA (A100)
삼성전자 —경쟁→ TSMC (파운드리)

이 구조에서는 "삼성전자와 현대자동차의 간접적 관계는?"이라는 질문에 그래프를 따라 삼성전자 → NVIDIA → 현대자동차 경로를 추적하여 답할 수 있다. 벡터 검색으로는 이 경로가 보이지 않는다.


3. GraphRAG는 어떻게 작동하는가

GraphRAG의 작동은 크게 두 단계로 나뉜다: **인덱싱(indexing)**과 쿼리(query).

3.1 인덱싱 파이프라인: 문서에서 그래프까지

원본 문서 텍스트 분할 개체·관계 추출 그래프 구축 커뮤니티 탐지 커뮤니티 요약

① 텍스트 분할

문서를 600토큰 단위의 TextUnit으로 나눈다(100토큰 오버랩). 논문에 따르면 GPT-4는 600토큰 청크에서 2400토큰 청크 대비 거의 2배 많은 개체를 추출했다. 작은 청크가 추출 품질에 유리한 것이다.

② 개체·관계 추출 (LLM 기반)

각 TextUnit에서 LLM이 개체(이름, 유형, 설명)와 관계를 추출한다.

개체·관계 추출 예시
입력 텍스트
"삼성전자는 2025년 NVIDIA에 HBM3E 메모리를 독점 공급하는 계약을 체결했다. 이 계약은 SK하이닉스와의 경쟁에서 중요한 전환점으로 평가된다."
추출된 개체
삼성전자 (기업) — 반도체 제조 대기업
NVIDIA (기업) — GPU 및 AI 칩 설계 기업
HBM3E (기술) — 고대역폭 메모리 제품
SK하이닉스 (기업) — 삼성전자의 HBM 시장 경쟁사
추출된 관계
삼성전자 —독점공급(HBM3E)→ NVIDIA
삼성전자 —경쟁→ SK하이닉스

여기서 핵심 기법이 **글리닝(gleaning)**이다. LLM은 한 번의 추출로 모든 개체를 잡아내지 못한다. 그래서 추출 후 "빠뜨린 개체가 있는가?"라고 LLM에게 자기 점검을 시킨다. 이때 logit bias 100을 적용해 yes/no 중 하나를 강제로 선택하게 하고, "No"이면 "많은 개체가 누락되었습니다(MANY entities were missed)"라는 강한 프롬프트로 추가 추출을 유도한다. 논문에 따르면 두 번째 패스에서 20~40% 더 많은 개체를 발견한다.

③ 그래프 구축

추출된 개체는 노드가 되고, 관계는 엣지가 된다. 같은 이름의 개체가 여러 TextUnit에서 등장하면 하나의 노드로 병합하고, 설명은 누적한다. 관계가 여러 번 언급되면 엣지의 가중치가 올라간다.

논문의 실험 데이터에서 팟캐스트 트랜스크립트(~100만 토큰)는 8,564개 노드와 20,691개 엣지의 그래프로 변환되었다.

④ 커뮤니티 탐지: Leiden 알고리즘

그래프가 만들어지면, 밀접하게 연결된 노드들을 그룹으로 묶는다. 이것이 **커뮤니티 탐지(community detection)**이며, GraphRAG는 Leiden 알고리즘을 사용한다.

Leiden 알고리즘이 하는 일을 직관적으로 설명하면: 파티에서 사람들이 자연스럽게 대화 그룹을 형성하는 것과 같다. 서로 많이 연결된(=대화가 많은) 사람들이 하나의 그룹이 된다.

Leiden 알고리즘의 3단계
① 로컬 이동 각 노드가 이웃 커뮤니티 중 모듈러리티를 최대화하는 곳으로 이동
② 정제 커뮤니티 내부 연결이 약한 부분을 분리 — Louvain 대비 핵심 개선점
③ 집계 커뮤니티를 하나의 노드로 압축, 상위 레벨에서 반복

이 과정이 재귀적으로 반복되어 계층 구조가 만들어진다:

  • Level 0 (최하위): 세밀한 커뮤니티. 예) "삼성전자-NVIDIA-HBM3E 공급 관계"
  • Level 1: 중간 커뮤니티. 예) "반도체 공급망 전체"
  • Level 2 (최상위): 큰 주제. 예) "글로벌 기술 산업 동향"

왜 Louvain이 아니라 Leiden인가? Louvain 알고리즘은 내부적으로 연결되지 않은 노드들이 같은 커뮤니티에 포함되는 문제가 있다. Leiden의 정제 단계가 이를 해결하여, 모든 커뮤니티가 실제로 잘 연결되어 있음을 보장한다.

⑤ 커뮤니티 요약

각 커뮤니티에 대해 LLM이 구조화된 요약 보고서를 생성한다. 보고서에는 제목, 핵심 요약, 영향도 등급(110), 510개의 핵심 발견사항이 포함된다. 이 요약들이 쿼리 시 핵심 자료가 된다.

3.2 쿼리: 세 가지 검색 모드

GraphRAG는 질문의 성격에 따라 세 가지 검색 모드를 제공한다.

GraphRAG의 3가지 검색 모드
로컬 검색 특정 개체에 대한 질문. 그래프를 따라 이웃 탐색
글로벌 검색 전체 조망 질문. 커뮤니티 요약을 map-reduce 처리
DRIFT 검색 하이브리드. 로컬 + 글로벌 결합

글로벌 검색 (Global Search)

"이 데이터셋의 핵심 주제는?" 같은 전체 조망 질문에 사용된다.

GLOBAL SEARCH — MAP-REDUCE2단계
MAP커뮤니티 요약들을 청크로 나눠 각각 LLM이 중간 답변 생성 (0~100점 평가)
FILTER0점 응답 제거, 나머지를 점수 내림차순 정렬
REDUCE상위 중간 답변들을 토큰 한도까지 결합, 최종 답변 생성

2025년에 추가된 **동적 커뮤니티 선택(Dynamic Community Selection)**이 핵심 개선점이다. 기존에는 특정 레벨의 모든 커뮤니티 보고서(예: Level 1의 ~1,500개)를 처리했다. 개선된 방식에서는 저렴한 모델(GPT-4o-mini)로 각 보고서의 관련성을 먼저 평가하고, 관련 없는 보고서와 그 하위 커뮤니티 전체를 가지치기한다. 결과: 평균 77% 비용 절감, 품질은 통계적으로 동등.

로컬 검색 (Local Search)

"카모마일의 약효 성분은?" 같은 특정 개체 관련 질문에 사용된다.

  1. 질문에서 관련 개체를 임베딩으로 찾음
  2. 해당 개체를 진입점으로 그래프를 탐색 — 이웃 개체, 관계, 커뮤니티 보고서, 원본 TextUnit을 수집
  3. 수집된 정보를 관련도 순으로 정렬, 토큰 한도 내에서 LLM에 전달

DRIFT 검색 (Dynamic Reasoning and Inference with Flexible Traversal)

2024년 10월에 추가된 하이브리드 모드. 로컬 질문이지만 더 넓은 맥락이 필요할 때 사용한다.

DRIFT SEARCH — 3단계 탐색반복적 확장
PRIMER질문과 가장 관련 높은 커뮤니티 보고서로 초기 답변 + 후속 질문 생성
FOLLOW-UP후속 질문을 로컬 검색으로 실행, 중간 답변 + 새 후속 질문 생성 (2회 반복)
OUTPUT모든 중간 답변을 관련도순으로 계층화하여 최종 답변 합성

5,000개 이상의 AP 뉴스 기사로 테스트한 결과, DRIFT 검색은 로컬 검색 대비 포괄성에서 78%, 다양성에서 81% 승률을 기록했다.


4. 실전 성능: 무엇이 좋아지는가

논문의 벤치마크 결과

팟캐스트 트랜스크립트(~100만 토큰)와 뉴스 기사(~170만 토큰) 데이터셋에서의 결과:

GraphRAG vs 기본 RAG 승률
LLM-as-judge 평가, 높을수록 GraphRAG 우세
포괄성
72~83%
다양성
62~82%
토큰 효율
97%↓

마지막 항목이 특히 인상적이다. 최상위 수준(C0) GraphRAG는 나이브 텍스트 요약 대비 97% 이상 적은 토큰으로도 72% 승률을 유지했다.

독립 벤치마크: GraphRAG vs RAG 체계적 비교 (arXiv:2502.11371)

2025년 발표된 체계적 비교 연구는 더 균형 잡힌 그림을 보여준다:

질문 유형RAG 우세GraphRAG 우세
단일 사실 질문64.78% F163.01%
세부 정보 질문55.28%46.88%
멀티홉 추론67.02%70.27%
비교 질문56.31%60.16%
시간적 추론25.73%49.06%

핵심 발견: 둘은 "어느 쪽이 더 낫다"가 아니라 **"상호 보완적"**이다. 두 접근법을 통합한 결과 멀티홉 질문에서 6.4% 추가 향상을 달성했다.


5. 실제 적용 사례

사례 1: NASA — 인재 지식 그래프

NASA는 Memgraph를 활용해 People Knowledge Graph를 구축했다. 직원, 프로젝트, 부서, 전문 분야 간의 관계를 그래프로 표현하여 "이 프로젝트에 필요한 우주 방사선 전문가가 누구인가?"를 멀티홉으로 추적한다.

기존 벡터 검색 시스템은 이력서의 키워드만 매칭했다. GraphRAG는 실제 프로젝트 참여 여부를 관계 추적으로 검증하여, 신규 인력 온보딩과 내부 전문가 발굴 속도를 크게 개선했다.

사례 2: Cedars-Sinai — 알츠하이머 연구

Cedars-Sinai 의료센터는 20개 이상의 생의학 데이터 소스를 통합한 160만 개 엣지의 지식 그래프를 구축했다. 이를 기반으로 한 KRAGEN 시스템은 멀티홉 의료 추론에서 94.2% 정확도를 달성했다 — ChatGPT 단독 사용 시 49.9%와 비교된다.

특히, 유전자-약물 상호작용 분석을 통해 알츠하이머 치료에 테마제팜(Temazepam)과 이부프로펜(Ibuprofen)의 새로운 가능성을 발견했다. 이것은 개별 논문 검색으로는 보이지 않는, 문서 간 관계를 가로지르는 추론의 결과다.

사례 3: Precina Health — 당뇨 관리

Precina Health의 P3C(Provider-Patient CoPilot)은 진료 기록, 사회적 데이터, 행동 데이터를 지식 그래프로 연결했다. 결과: 월간 HbA1c(당화혈색소) 1% 감소 — 표준 치료 대비 12배 빠른 개선 속도.

기본 RAG는 다층적 인과관계(임상 → 사회 → 행동 데이터)를 추적할 수 없었으나, 지식 그래프 기반 시스템은 환자별로 이 관계를 추적하여 개인화된 치료 전략을 제시할 수 있었다.

사례 4: 금융 서비스 (비공개)

한 금융 기관의 프로덕션 배포 사례에서 복잡한 멀티홉 질문에 대한 정확도가 **43% → 91%**로 향상되었고, 쿼리 비용은 97% 감소, 2개월간 환각(hallucination) 건수 0건을 기록했다.


6. 비용: GraphRAG의 가장 큰 현실적 장벽

인덱싱 비용 분석

GraphRAG의 가장 큰 단점은 인덱싱 비용이다. 모든 TextUnit에 LLM을 호출하여 개체와 관계를 추출하기 때문이다.

Microsoft의 공식 비용 가이드(2025)에서 제시하는 단어당 비용:

모델단어당 비용~100만 단어 인덱싱
GPT-4-Turbo$0.0000765~$76
GPT-4o$0.0000380~$38
GPT-4o-mini$0.0000113~$11

커뮤니티 보고에 따르면, 1000페이지 PDF를 GPT-4-Turbo로 인덱싱한 사용자가 120을지출한반면,DeepSeek으로 100만단어를인덱싱한사용자는120**을 지출한 반면, DeepSeek으로 ~100만 단어를 인덱싱한 사용자는 **8.20에 처리했다.

비용 구조 분해

GraphRAG 비용 분포
개체 추출
~75%
커뮤니티 요약
~25%
임베딩
<1%

쿼리 비용

검색 모드평균 토큰 사용GPT-4o 기준 비용
로컬 검색~11,500 토큰$0.010.05
글로벌 검색~150,000 토큰~$0.80
글로벌 (동적 선택)~35,000 토큰~$0.18

비용 절감 전략

GraphRAG를 비용 효율적으로 운영하는 실전 전략:

1. 모델 선택: GPT-4o-mini는 GPT-4-Turbo 대비 55배 저렴하면서, 600토큰 청크 기준으로 유사한 품질을 보인다. 프로덕션 인덱싱에 가장 현실적인 선택.

2. 동적 커뮤니티 선택 활성화: 글로벌 검색 비용을 77% 절감.

3. 사전 비용 추정: Microsoft의 공식 도구에서 --estimate-cost 플래그로 전체 인덱싱 전에 비용을 미리 확인 가능.

4. 경량 대안 고려: NLP 기반 추출을 사용하는 FastGraphRAG는 LLM 호출 없이 그래프를 구축하여 인덱싱 비용을 거의 0으로 줄이지만, 추출 품질이 떨어질 수 있다. LazyGraphRAG는 전체 GraphRAG 대비 인덱싱 비용 0.1%, 글로벌 검색 비용 700배 절감을 주장한다.


7. 한계: GraphRAG가 적합하지 않은 경우

기본 RAG가 더 나은 상황

모든 문제에 GraphRAG가 정답은 아니다. 독립 벤치마크와 실무 경험이 보여주는 한계:

1. 단순 사실 질문: "API 엔드포인트 URL이 뭐야?" 같은 단일 사실 검색에서는 벡터 RAG가 더 정확하고 빠르다. 그래프 구축의 오버헤드가 이점을 초과한다.

2. 자기 완결적 콘텐츠: FAQ, 레시피, 독립적 매뉴얼 항목 등 개체 간 관계가 희박한 콘텐츠에서는 그래프 구조의 이점이 거의 없다.

3. 답할 수 없는 질문(Null Query): GraphRAG(글로벌)는 답이 없는 질문에서 13.95% 정확도를 보였다 — 답을 "만들어내는" 환각 경향이 있다. 존재하지 않는 패턴을 합성해버리는 것이다.

4. 소규모 모델 사용 시: 그래프에서 검색된 컨텍스트는 길이가 길어질 수 있다. 8B 파라미터급 소규모 모델에서는 이 긴 입력이 오히려 환각을 증가시키는 경우가 보고되었다.

5. 저지연 필수 환경: 로컬 검색은 100~500ms, 글로벌 검색은 그 이상 소요된다. 실시간 챗봇에는 벡터 검색(~50ms)이 유리하다.

인덱싱 품질의 한계

그래프 구축 시 놓치는 개체도 상당하다. KG 기반 방법의 개체 커버리지는 65.8% — 필요한 개체의 34.2%를 놓친다. 모델 품질에 따른 차이도 있다: GPT-4o 구축 시 75.08% 정확도 vs GPT-4o-mini 시 71.17% (4%p 차이).


8. 구현 옵션: 어떤 도구를 선택할 것인가

주요 구현체 비교

구현체핵심 특징인덱싱 비용최적 사용 사례
Microsoft GraphRAG전체 파이프라인, 자동 튜닝, DRIFT 검색높음리서치, 종합 분석
LlamaIndex PropertyGraphIndex유연한 모델 백엔드, 로컬 LLM 지원중간LlamaIndex 생태계 사용자
Neo4j + GraphRAG프로덕션급 그래프 DB, Cypher 쿼리, 시각화중간엔터프라이즈, 기존 Neo4j 사용자
LightRAG쿼리당 토큰 6000배↓, ~80ms 지연낮음비용/지연 민감 환경
nano-graphrag경량 오픈소스, 커뮤니티 활발낮~중간빠른 프로토타이핑

Microsoft GraphRAG 자동 튜닝

graphrag prompt-tune 명령으로 데이터의 1%를 샘플링하여 도메인별 추출 프롬프트를 자동 생성할 수 있다. 테스트에서 자동 튜닝된 프롬프트는 기본 프롬프트 대비 2.7배 많은 개체(4,896 vs 1,796)와 2.9배 많은 관계(8,210 vs 2,851)를 추출했다. 새로운 도메인에 적용할 때 반드시 실행해야 하는 첫 번째 단계다.

도메인별 개체 유형 설계

기본 개체 유형은 (조직, 지역, 인물)이다. 도메인에 따라 추가하면 추출 품질이 크게 향상된다:

도메인추가 개체 유형
법률계약, 조항, 당사자, 판례
기술컴포넌트, API, 버전, 라이브러리
의료질병, 약물, 유전자, 임상시험
금융종목, 지표, 규제, 거래

9. 선택 가이드: 당신의 상황에서는?

의사결정 플로우

GraphRAG 도입 의사결정
질문 1문서 간 관계 추적이나 전체 패턴 파악이 핵심인가? → No면 Advanced RAG로 충분
질문 2개체(사람, 조직, 제품 등) 간 연결이 많은 데이터인가? → No면 RAPTOR(계층적 요약)가 더 적합
질문 3인덱싱 비용(~100만 단어당 $11~76)을 감당할 수 있는가? → No면 LightRAG 또는 LazyGraphRAG
결론모두 Yes → GraphRAG 도입. 글로벌 질문 위주면 Dynamic Community Selection 활성화

시나리오별 추천

시나리오추천이유
법률 문서 간 상충 분석GraphRAG (로컬+글로벌)조항-판례 관계 추적이 핵심
공급망 리스크 종합 평가GraphRAG (글로벌)수백 공급업체 간 연결 패턴 파악
사내 문서 Q&A 챗봇Advanced RAG단순 질문이 대부분, 저지연 필요
의료 연구 문헌 분석GraphRAG + Neo4j유전자-약물-질병 다단계 추론
고객 불만 패턴 분석GraphRAG (글로벌)수천 건에서 반복 패턴 추출
기술 문서 검색Advanced RAG + 하이브리드 검색특정 함수/API 이름 정확 매칭
전사 지식 관리 플랫폼GraphRAG + Advanced RAG 조합글로벌 질문은 GraphRAG, 단순 검색은 벡터

점진적 도입 전략

한 번에 전체 GraphRAG를 구축하는 것보다 단계적으로 접근하는 것이 현실적이다:

Phase 1: 기본 RAG로 시작 (1주) 하이브리드 검색 + 리랭킹으로 기본 시스템 구축. 대부분의 질문이 이 수준에서 해결되는지 확인.

Phase 2: 병목 식별 (2~3주) "어떤 질문에서 성능이 떨어지는가?"를 체계적으로 측정. 멀티홉, 종합 분석, 관계 추적 질문이 실패한다면 GraphRAG 후보.

Phase 3: 소규모 GraphRAG 파일럿 (2~4주) 전체 코퍼스가 아니라 가장 관계가 복잡한 하위 데이터셋에만 GraphRAG를 적용. --estimate-cost로 비용 사전 확인. GPT-4o-mini + 자동 튜닝으로 비용 최적화.

Phase 4: 하이브리드 프로덕션 (지속적) 단순 질문은 벡터 RAG, 복잡한 질문은 GraphRAG로 라우팅하는 Adaptive 구조 구축.


10. 실전 팁 모음

청크 크기

600토큰이 논문에서 검증된 최적값이다. 이보다 작으면(50~100토큰) 개체 간 공존 관계가 더 잘 포착되지만 LLM 호출 수가 급증한다. 이보다 크면(2400토큰) 추출이 부정확해진다. 600토큰 + 글리닝 1회가 비용 대비 품질의 최적 조합이다.

그래프 시각화

그래프를 시각적으로 확인하면 추출 품질과 커뮤니티 구조를 직관적으로 파악할 수 있다.

  • Gephi: Microsoft 공식 권장. settings.yaml에서 snapshots: graphml: true로 설정하면 .graphml 파일을 직접 로드. OpenORD → ForceAtlas2 레이아웃 조합 권장
  • Neo4j Bloom: Cypher 없이 텍스트 기반 탐색 가능, 인터랙티브 시각화
  • SemSpect: 대규모 그래프(수십만 노드)의 전체 구조를 시각적으로 집계해서 보여줌

평가 방법

  • 검색 지표: Recall@k, Precision@k, 개체 경로 정확도(멀티홉 정답률)
  • 답변 품질: LLM-as-judge(Microsoft 방식) — 포괄성, 다양성, 실행가능성
  • A/B 테스트: 동일 질문에 대해 GraphRAG vs 벡터 RAG 답변을 블라인드 비교

마치며: 그래프는 AI에게 "숲"을 보는 눈을 준다

GraphRAG의 핵심 가치를 한 문장으로 정리하면:

기본 RAG가 AI에게 "관련 페이지를 찾는 눈"을 줬다면, GraphRAG는 "문서 간 관계를 따라 전체 그림을 보는 눈"을 준다.

하지만 이 글에서 반복적으로 강조한 것처럼, GraphRAG가 항상 답은 아니다. 단순 사실 검색에서는 벡터 RAG가 더 정확하고 빠르다. 인덱싱 비용은 여전히 상당하다. 답할 수 없는 질문에서 환각 경향이 있다.

**핵심은 "어떤 질문을 풀려는가"**다. 개별 문서 안에서 답을 찾는 문제라면 벡터 RAG로 충분하다. 하지만 문서 사이에서 답을 찾아야 한다면 — 관계를 추적하고, 패턴을 종합하고, 전체를 조망해야 한다면 — GraphRAG는 현재 가장 강력한 도구다.


참고 논문 및 자료

  • Edge, D., et al. (2024). "From Local to Global: A Graph RAG Approach to Query-Focused Summarization." arXiv:2404.16130.
  • Feng, J., et al. (2025). "GraphRAG vs. RAG: A Systematic Evaluation." arXiv:2502.11371.
  • Peng, B., et al. (2024). "Graph Retrieval-Augmented Generation: A Survey." ACM TOIS.
  • He, X., et al. (2024). "G-Retriever: Retrieval-Augmented Generation for Textual Graph Understanding." NeurIPS 2024.
  • Soman, K., et al. (2024). "Biomedical Knowledge Graph-Optimized Prompt Generation for LLMs (KG-RAG)." Bioinformatics.
  • Mavromatis, C. & Karypis, G. (2024). "GNN-RAG: Graph Neural Retrieval for LLM Reasoning." ACL Findings 2025.
  • Microsoft Research Blog. (2025). "GraphRAG: Improving Global Search via Dynamic Community Selection."
  • Microsoft Research Blog. (2024). "Introducing DRIFT Search."
  • Microsoft Research Blog. (2024). "GraphRAG Auto-Tuning Provides Rapid Adaptation to New Domains."
  • Microsoft Tech Community. (2025). "GraphRAG Costs Explained: What You Need to Know."