
GraphRAG 검색 4총사: Local, Global, DRIFT, Basic — 언제 어떤 검색을 써야 하는가
같은 지식 그래프에서도 질문의 성격에 따라 완전히 다른 검색 전략이 필요하다. GraphRAG의 네 가지 검색 모드 — Local, Global, DRIFT, Basic — 가 각각 어떤 문제를 풀기 위해 설계되었는지, 비용은 얼마나 다른지, 실전에서 어떻게 선택하는지를 사례와 함께 풀어본다.

같은 지식 그래프에서도 질문의 성격에 따라 완전히 다른 검색 전략이 필요하다. GraphRAG의 네 가지 검색 모드 — Local, Global, DRIFT, Basic — 가 각각 어떤 문제를 풀기 위해 설계되었는지, 비용은 얼마나 다른지, 실전에서 어떻게 선택하는지를 사례와 함께 풀어본다.
당신 앞에 거대한 도서관이 있다. 수만 권의 책이 꼼꼼히 분류되어 있고, 책 사이의 연관 관계까지 정리된 색인이 있다. GraphRAG가 만든 이 도서관에서 질문에 답하려면 어떻게 검색해야 할까?
질문의 성격에 따라 최적의 전략이 완전히 달라진다:
Microsoft의 GraphRAG는 이 네 가지 상황에 각각 최적화된 검색 모드를 제공한다: Local, Global, DRIFT, Basic. 이 글에서는 각 모드가 왜 필요한지, 어떻게 작동하는지, 비용은 얼마나 다른지, 그리고 실전에서 어떻게 고르는지를 사례와 함께 살펴본다.
| 모드 | 쿼리당 토큰 | 비용 (GPT-4o) | 지연 시간 | LLM 호출 |
|---|---|---|---|---|
| Basic | ~$0.01 | <5초 | 1회 | |
| Local | ~11,500 | ~$0.06 | ~10초 | 1회 |
| DRIFT | 반복적 다수 | |||
| Global | ~150,000 | ~$0.80 | ~12회 병렬 | |
| Global (동적 선택) | ~35,000 | ~$0.18 | 가변적 |
비용 차이가 80배에 달한다. Basic의 0.80까지. 이것이 "어떤 모드를 쓰느냐"가 중요한 이유다.
"Next.js에서
useActionState훅의 임포트 경로는?" "우리 회사 연락처 이메일 주소가 뭐야?" "이 API의 응답 형식은 JSON인가 XML인가?"
이 질문들의 공통점: 정답이 특정 텍스트 청크 하나에 들어 있다. 개체 간 관계를 추적하거나, 여러 문서를 종합할 필요가 없다.
Basic Search는 표준 벡터 RAG와 동일하다. 질문의 임베딩과 텍스트 청크의 임베딩을 비교하여 가장 유사한 상위 k개 청크를 가져와 LLM에 전달한다.
지식 그래프를 전혀 사용하지 않는다. 커뮤니티 요약도, 개체 관계도 참조하지 않는다.
"그래프를 안 쓸 거면 GraphRAG를 왜 쓰나?"라고 생각할 수 있다. Basic Search의 존재 이유는 두 가지다:
1. 성능 기준선(baseline): 그래프 기반 검색이 실제로 도움이 되는지 비교 측정할 기준점이 필요하다. 모든 질문에 Local이나 Global을 쓸 필요는 없다.
2. 비용 효율적 라우팅: 실전에서는 단순 질문과 복잡한 질문이 섞여 들어온다. 단순 질문은 Basic으로 처리하고, 복잡한 질문만 그래프 기반 모드로 보내면 전체 비용을 크게 줄일 수 있다.
사내 기술 문서 챗봇에 들어오는 질문의 70%는 "이 함수의 파라미터는?", "이 설정 파일 경로는?" 같은 단순 조회다. 이런 질문에 Global Search(0.01)로 충분하다.
"카모마일의 약효 성분과 부작용은?" "삼성전자의 최근 반도체 투자 현황은?" "이 프로젝트에서 Clerk 미들웨어는 어떻게 설정되어 있어?"
이 질문들의 공통점: 특정 개체(entity)가 질문에 명시되어 있다. 그 개체와 직접 관련된 정보를 깊이 있게 찾아야 한다.
Local Search는 질문에서 관련 개체를 찾고, 그래프를 따라 이웃을 탐색하며 5가지 정보 스트림을 수집한다.
핵심은 개체를 진입점으로 그래프를 탐색한다는 점이다. 벡터 유사도만으로는 놓칠 수 있는 관계 정보(관계, 속성, 커뮤니티 맥락)까지 수집한다.
질문: "아스피린의 약물 상호작용과 금기사항은?"
쿼리당 ~11,500 토큰, ~$0.06. Basic 대비 6배 비싸지만, 개체 관련 질문에서는 훨씬 포괄적인 답변을 생성한다. 대부분의 개체 중심 질문에서 가성비가 가장 좋은 모드다.
"이 문서들의 핵심 주제 5가지를 정리해줘" "지난 분기 고객 불만의 주요 패턴은?" "이 허브 노트북에 언급된 허브들의 가장 중요한 효능은?"
이 질문들의 공통점: 특정 개체가 아니라 전체 데이터셋을 조망해야 답할 수 있다. 이것이 기본 RAG가 구조적으로 풀 수 없는 문제이며, GraphRAG가 존재하는 핵심 이유다.
"핵심 주제 5가지"를 벡터 검색으로 찾으려면? 질문과 가장 유사한 5개 청크를 가져온다. 하지만 이 5개 청크가 전체의 0.1%도 안 된다. 0.1% 샘플로 전체의 핵심 주제를 파악하는 것은 불가능하다.
이 문제는 NLP에서 Query-Focused Summarization(QFS) — 질문에 초점을 맞춘 요약 — 이라고 불린다. 검색(retrieval)이 아니라 요약(summarization) 문제다. 근본적으로 다른 접근이 필요하다.
Global Search는 커뮤니티 요약이라는 GraphRAG의 독자적 자산을 활용한다. Leiden 알고리즘으로 탐지된 커뮤니티에 대해 사전 생성된 요약 보고서들을 map-reduce 방식으로 처리한다.
커뮤니티 계층 레벨 선택이 중요하다:
논문에 따르면 최상위(C0) 요약만으로도 전체 텍스트 요약 대비 97% 이상 토큰을 절약하면서 포괄성 72% 승률을 유지한다.
기존 Global Search의 가장 큰 문제는 모든 커뮤니티 요약을 처리한다는 것이었다. 1,500개 커뮤니티가 있으면 대부분이 질문과 무관해도 모두 처리해야 했다.
**동적 커뮤니티 선택(Dynamic Community Selection)**은 저비용 모델(GPT-4o-mini)로 각 보고서의 관련성을 먼저 평가하고, 관련 없는 보고서와 그 하위 커뮤니티 전체를 가지치기한다.
결과: 77% 비용 절감, 품질은 통계적으로 동등.
질문: "최근 6개월 고객 불만 5,000건에서 반복되는 패턴 상위 5개는?"
"상위 공급업체들의 납품 성과를 비교하면?" "이 프로젝트의 인증 시스템과 결제 시스템은 어떻게 연결되어 있고, 보안 이슈는?" "카모마일과 라벤더의 약효를 비교하고, 함께 사용할 때의 시너지 효과는?"
이 질문들의 공통점: 여러 개체를 비교·분석하면서 넓은 맥락도 필요하다. Local은 한 개체에 집중하느라 비교가 약하고, Global은 전체를 보느라 개별 디테일이 약하다.
| 검색 모드 | 강점 | 약점 |
|---|---|---|
| Local | 개체별 깊은 디테일 | 좁은 시야, 비교 어려움 |
| Global | 넓은 시야, 패턴 파악 | 비싸고, 개별 디테일 부족 |
| DRIFT | 깊이와 넓이의 균형 | Local보다 비싸고, Global보다 전체 조망은 약함 |
DRIFT는 "Dynamic Reasoning and Inference with Flexible Traversal"의 약자로, 2024년 10월 Microsoft Research가 발표했다.
핵심 메커니즘: Phase A에서 **Hypothetical Document Embeddings(HyDE)**를 사용한다. 질문에 대한 "가상의 답변"을 먼저 생성하고, 그 답변을 임베딩하여 커뮤니티 보고서를 검색한다. 이렇게 하면 질문과 보고서의 형태적 차이(의문문 vs 서술문)를 극복하여 더 관련 높은 보고서를 찾을 수 있다.
Phase B의 "후속 질문 → 검색 → 새로운 후속 질문" 루프가 DRIFT의 핵심이다. 비유하자면:
이 과정에서 최초 질문에서는 보이지 않았던 연결이 드러난다.
5,000개 이상의 AP 뉴스 기사에서 50개 로컬 질문으로 테스트한 결과:
질문: "A사, B사, C사의 AI 전략을 비교하고, 각사의 강점과 약점을 분석해줘"
| 시나리오 | 질문 예시 | 추천 모드 | 이유 |
|---|---|---|---|
| 기술 문서 조회 | "이 API의 인증 헤더 형식은?" | Basic | 단순 사실, 그래프 불필요 |
| 인물/제품 상세 | "Clerk의 미들웨어 설정 방법은?" | Local | 특정 개체 중심 |
| 보고서 요약 | "올해 주요 프로젝트 성과를 정리해줘" | Global | 전체 조망 필요 |
| 비교 분석 | "A팀과 B팀의 분기 성과를 비교해줘" | DRIFT | 복수 개체 + 넓은 맥락 |
| 원인 추적 | "시스템 장애의 근본 원인 분석" | DRIFT | 여러 컴포넌트 연쇄 추적 |
| 트렌드 파악 | "고객 피드백의 최근 변화 트렌드" | Global | 시계열적 전체 패턴 |
실전에서 가장 효과적인 접근은 모드 라우팅이다. 들어오는 질문을 분류하여 적절한 모드로 보내는 것이다.
경량 LLM(GPT-4o-mini)이 질문을 분석하여 4가지 모드 중 최적의 것을 선택한다. 분류 비용은 미미하지만, 불필요한 Global Search를 피하는 것만으로 전체 비용을 크게 줄일 수 있다.
예를 들어, 질문의 70%가 Basic/Local로 해결 가능하다면:
77% 비용 절감.
데이터셋: 약초에 관한 노트북 (논문의 실제 예시) 질문: "이 노트북에 언급된 허브들의 가장 중요한 효능은?"
Basic Search의 답변: "카모마일은 소화를 돕고, 라벤더는 불안을 줄이는 데 사용됩니다..." → 질문과 가장 유사한 2~3개 청크에서 추출. 일부 허브만 언급.
Local Search의 답변: "카모마일"을 시드 개체로 찾아 상세 정보를 수집. "카모마일은 항염증, 소화 촉진, 수면 보조 효과가 있으며..." → 카모마일 중심의 깊은 답변이지만 다른 허브는 부족.
Global Search의 답변: 모든 허브 관련 커뮤니티 요약을 종합. "이 노트북에서 가장 중요한 효능은 1) 항염증(카모마일, 생강, 강황), 2) 항불안(라벤더, 발레리안), 3) 면역 강화(에키네시아, 엘더베리)..." → 전체를 관통하는 주제별 정리.
DRIFT Search의 답변: 커뮤니티 보고서에서 주요 효능 카테고리를 파악한 후, 각 카테고리별로 로컬 검색을 수행. "항염증 효과에서 카모마일은 아줄렌 성분으로, 강황은 커큐민으로... 특히 카모마일과 강황의 조합 시 시너지 효과가..." → 넓은 시야 + 개별 디테일 + 교차 분석.
현재는 사용자가 모드를 수동으로 선택하거나, 간단한 규칙 기반 분류기를 만들어야 한다. 하지만 Adaptive RAG의 아이디어 — 질문 복잡도에 따라 검색 전략을 자동 선택 — 가 GraphRAG에도 적용되는 것은 시간 문제다.
이상적인 시스템: 사용자는 그냥 질문만 하고, 시스템이 자동으로 "이건 Basic으로 충분하네", "이건 DRIFT가 필요하겠다"를 판단한다.
동적 커뮤니티 선택이 Global Search의 비용을 77% 줄인 것처럼, 각 모드의 비용 최적화가 계속되고 있다. KET-RAG는 인덱싱 비용 자체를 줄이고, LightRAG는 커뮤니티 없이 유사한 기능을 제공한다.
2026년의 핵심 트렌드: **"같은 품질을 더 적은 비용으로"**가 아니라 "같은 비용으로 더 정밀한 모드 선택을".
현재의 네 모드는 독립적으로 실행된다. 하지만 미래에는 하나의 질문에 여러 모드를 결합하는 접근이 가능해질 수 있다. 예를 들어, "A사의 AI 전략이 업계 전체 트렌드에서 어떤 위치인가?"라는 질문에:
이것은 Agentic RAG의 영역이며, GraphRAG의 검색 모드가 에이전트의 **도구(tool)**로 활용되는 방향이다.
GraphRAG의 네 가지 검색 모드를 한 문장씩 정리하면:
핵심 교훈: 모든 질문에 같은 검색 전략을 적용하는 것은 비용 낭비이거나 품질 손해다. 질문의 성격을 파악하고 적절한 모드를 선택하는 것만으로도 비용을 77% 줄이거나 답변 품질을 크게 높일 수 있다.
가장 비싼 모드가 항상 최선은 아니다. "API 엔드포인트 URL이 뭐야?"에 Global Search를 쓰면 $0.80을 낭비하면서 오히려 더 장황한 답변을 받을 뿐이다. 적재적소가 답이다.
참고 논문 및 자료