coredot.today
GraphRAG 검색 4총사: Local, Global, DRIFT, Basic — 언제 어떤 검색을 써야 하는가
블로그로 돌아가기
GraphRAGLocal SearchGlobal SearchDRIFT Search검색 전략

GraphRAG 검색 4총사: Local, Global, DRIFT, Basic — 언제 어떤 검색을 써야 하는가

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

코어닷투데이2026-03-0835

들어가며: 같은 도서관에서 네 가지 방법으로 찾는다

당신 앞에 거대한 도서관이 있다. 수만 권의 책이 꼼꼼히 분류되어 있고, 책 사이의 연관 관계까지 정리된 색인이 있다. GraphRAG가 만든 이 도서관에서 질문에 답하려면 어떻게 검색해야 할까?

질문의 성격에 따라 최적의 전략이 완전히 달라진다:

  • "카모마일의 약효 성분은?" → 카모마일 항목을 찾아서 인접 항목을 살펴보면 된다
  • "이 도서관 전체의 핵심 주제 5가지는?" → 모든 서가를 한 바퀴 돌아야 한다
  • "상위 공급업체들의 납품 성과를 비교해줘" → 여러 항목을 넘나들며 비교해야 한다
  • "API 엔드포인트 URL이 뭐야?" → 그냥 목차에서 찾으면 된다

Microsoft의 GraphRAG는 이 네 가지 상황에 각각 최적화된 검색 모드를 제공한다: Local, Global, DRIFT, Basic. 이 글에서는 각 모드가 왜 필요한지, 어떻게 작동하는지, 비용은 얼마나 다른지, 그리고 실전에서 어떻게 고르는지를 사례와 함께 살펴본다.


전체 그림: 네 가지 모드 한눈에

GraphRAG 검색 4총사
Basic Search 벡터 유사도로 청크 검색. 그래프 불사용. 가장 저렴
Local Search 특정 개체에서 출발해 이웃 탐색. 개체 중심 질문에 최적
Global Search 커뮤니티 요약을 map-reduce 처리. 전체 조망 질문에 최적
DRIFT Search 커뮤니티 + 로컬의 하이브리드. 복합 질문에 최적
모드쿼리당 토큰비용 (GPT-4o)지연 시간LLM 호출
Basic2,0003,000~$0.01<5초1회
Local~11,500~$0.06~10초1회
DRIFT30,00060,000$0.150.301520초반복적 다수
Global~150,000~$0.802024초~12회 병렬
Global (동적 선택)~35,000~$0.181520초가변적

비용 차이가 80배에 달한다. Basic의 0.01에서Global0.01에서 Global의 0.80까지. 이것이 "어떤 모드를 쓰느냐"가 중요한 이유다.


1. Basic Search: "그래프 없이도 되는 질문"

이런 질문에 적합하다

"Next.js에서 useActionState 훅의 임포트 경로는?" "우리 회사 연락처 이메일 주소가 뭐야?" "이 API의 응답 형식은 JSON인가 XML인가?"

이 질문들의 공통점: 정답이 특정 텍스트 청크 하나에 들어 있다. 개체 간 관계를 추적하거나, 여러 문서를 종합할 필요가 없다.

작동 방식

Basic Search는 표준 벡터 RAG와 동일하다. 질문의 임베딩과 텍스트 청크의 임베딩을 비교하여 가장 유사한 상위 k개 청크를 가져와 LLM에 전달한다.

질문 임베딩 유사도 검색 상위 k개 청크 LLM 답변 생성

지식 그래프를 전혀 사용하지 않는다. 커뮤니티 요약도, 개체 관계도 참조하지 않는다.

왜 존재하는가

"그래프를 안 쓸 거면 GraphRAG를 왜 쓰나?"라고 생각할 수 있다. Basic Search의 존재 이유는 두 가지다:

1. 성능 기준선(baseline): 그래프 기반 검색이 실제로 도움이 되는지 비교 측정할 기준점이 필요하다. 모든 질문에 Local이나 Global을 쓸 필요는 없다.

2. 비용 효율적 라우팅: 실전에서는 단순 질문과 복잡한 질문이 섞여 들어온다. 단순 질문은 Basic으로 처리하고, 복잡한 질문만 그래프 기반 모드로 보내면 전체 비용을 크게 줄일 수 있다.

사례: 기술 문서 챗봇

사내 기술 문서 챗봇에 들어오는 질문의 70%는 "이 함수의 파라미터는?", "이 설정 파일 경로는?" 같은 단순 조회다. 이런 질문에 Global Search(0.80)를쓰는것은낭비다.BasicSearch(0.80)를 쓰는 것은 낭비다. Basic Search(0.01)로 충분하다.


2. Local Search: "이 개체에 대해 자세히 알려줘"

이런 질문에 적합하다

"카모마일의 약효 성분과 부작용은?" "삼성전자의 최근 반도체 투자 현황은?" "이 프로젝트에서 Clerk 미들웨어는 어떻게 설정되어 있어?"

이 질문들의 공통점: 특정 개체(entity)가 질문에 명시되어 있다. 그 개체와 직접 관련된 정보를 깊이 있게 찾아야 한다.

작동 방식

Local Search는 질문에서 관련 개체를 찾고, 그래프를 따라 이웃을 탐색하며 5가지 정보 스트림을 수집한다.

LOCAL SEARCH — 5가지 정보 수집개체 중심
SEED질문 임베딩과 개체 설명 임베딩을 비교해 시드 개체 선택
수집 1시드 개체 자체의 설명 정보
수집 2연결된 개체들과 관계 정보
수집 3개체의 속성/부가 정보(covariates)
수집 4개체가 속한 커뮤니티의 요약 보고서
수집 5관련 원본 텍스트 청크
GENERATE수집된 정보를 컨텍스트 윈도우에 맞춰 정렬 → LLM 답변 생성

핵심은 개체를 진입점으로 그래프를 탐색한다는 점이다. 벡터 유사도만으로는 놓칠 수 있는 관계 정보(관계, 속성, 커뮤니티 맥락)까지 수집한다.

사례: 의약품 정보 검색

질문: "아스피린의 약물 상호작용과 금기사항은?"

  • Basic Search: "아스피린"이 언급된 텍스트 청크만 가져온다. 상호작용 정보가 다른 약물 항목에 흩어져 있으면 놓친다.
  • Local Search: "아스피린" 개체에서 출발 → "와파린"(상호작용), "위궤양"(금기), "혈소판 응집"(기전) 등 연결된 개체와 관계를 따라가며 구조화된 정보를 수집한다.

비용과 성능

쿼리당 ~11,500 토큰, ~$0.06. Basic 대비 6배 비싸지만, 개체 관련 질문에서는 훨씬 포괄적인 답변을 생성한다. 대부분의 개체 중심 질문에서 가성비가 가장 좋은 모드다.


3. Global Search: "전체 그림을 보여줘"

이런 질문에 적합하다

"이 문서들의 핵심 주제 5가지를 정리해줘" "지난 분기 고객 불만의 주요 패턴은?" "이 허브 노트북에 언급된 허브들의 가장 중요한 효능은?"

이 질문들의 공통점: 특정 개체가 아니라 전체 데이터셋을 조망해야 답할 수 있다. 이것이 기본 RAG가 구조적으로 풀 수 없는 문제이며, GraphRAG가 존재하는 핵심 이유다.

왜 벡터 검색으로는 안 되는가

"핵심 주제 5가지"를 벡터 검색으로 찾으려면? 질문과 가장 유사한 5개 청크를 가져온다. 하지만 이 5개 청크가 전체의 0.1%도 안 된다. 0.1% 샘플로 전체의 핵심 주제를 파악하는 것은 불가능하다.

이 문제는 NLP에서 Query-Focused Summarization(QFS) — 질문에 초점을 맞춘 요약 — 이라고 불린다. 검색(retrieval)이 아니라 요약(summarization) 문제다. 근본적으로 다른 접근이 필요하다.

작동 방식: Map-Reduce

Global Search는 커뮤니티 요약이라는 GraphRAG의 독자적 자산을 활용한다. Leiden 알고리즘으로 탐지된 커뮤니티에 대해 사전 생성된 요약 보고서들을 map-reduce 방식으로 처리한다.

GLOBAL SEARCH — MAP-REDUCE전체 조망
PREPARE선택된 계층의 커뮤니티 요약들을 무작위 섞어 토큰 크기별 청크로 분할
MAP각 청크를 LLM이 병렬 처리 → 중간 답변 생성 + 0~100점 유용성 점수 부여
FILTER0점 응답 제거, 나머지를 점수 내림차순 정렬
REDUCE상위 중간 답변을 토큰 한도까지 결합 → 최종 종합 답변 생성

커뮤니티 계층 레벨 선택이 중요하다:

  • 하위 레벨(C2, C3): 세밀한 커뮤니티. 더 상세하지만 비용 높음
  • 상위 레벨(C0, C1): 넓은 커뮤니티. 더 추상적이지만 비용 낮음

논문에 따르면 최상위(C0) 요약만으로도 전체 텍스트 요약 대비 97% 이상 토큰을 절약하면서 포괄성 72% 승률을 유지한다.

2024년 11월 핵심 업데이트: 동적 커뮤니티 선택

기존 Global Search의 가장 큰 문제는 모든 커뮤니티 요약을 처리한다는 것이었다. 1,500개 커뮤니티가 있으면 대부분이 질문과 무관해도 모두 처리해야 했다.

**동적 커뮤니티 선택(Dynamic Community Selection)**은 저비용 모델(GPT-4o-mini)로 각 보고서의 관련성을 먼저 평가하고, 관련 없는 보고서와 그 하위 커뮤니티 전체를 가지치기한다.

결과: 77% 비용 절감, 품질은 통계적으로 동등.

Global Search 비용 변화
기존 Global ~$0.80/쿼리 모든 커뮤니티 처리 (~1,500개)
동적 선택 Global ~$0.18/쿼리 관련 커뮤니티만 처리 (~470개) — 77%↓

사례: 고객 불만 패턴 분석

질문: "최근 6개월 고객 불만 5,000건에서 반복되는 패턴 상위 5개는?"

  • Basic/Local Search: 질문과 가장 유사한 5건만 가져온다. 전체 패턴? 보이지 않는다.
  • Global Search: 고객 불만 데이터에서 추출된 커뮤니티(예: "배송 지연 관련", "결제 오류 관련", "품질 불만 관련")의 요약을 종합하여 전체를 관통하는 패턴을 도출한다.

4. DRIFT Search: "넓게 보면서도 깊게 파고들기"

이런 질문에 적합하다

"상위 공급업체들의 납품 성과를 비교하면?" "이 프로젝트의 인증 시스템과 결제 시스템은 어떻게 연결되어 있고, 보안 이슈는?" "카모마일과 라벤더의 약효를 비교하고, 함께 사용할 때의 시너지 효과는?"

이 질문들의 공통점: 여러 개체를 비교·분석하면서 넓은 맥락도 필요하다. Local은 한 개체에 집중하느라 비교가 약하고, Global은 전체를 보느라 개별 디테일이 약하다.

DRIFT가 해결하는 공백

검색 모드강점약점
Local개체별 깊은 디테일좁은 시야, 비교 어려움
Global넓은 시야, 패턴 파악비싸고, 개별 디테일 부족
DRIFT깊이와 넓이의 균형Local보다 비싸고, Global보다 전체 조망은 약함

DRIFT는 "Dynamic Reasoning and Inference with Flexible Traversal"의 약자로, 2024년 10월 Microsoft Research가 발표했다.

작동 방식: 세 단계의 나선형 탐색

DRIFT SEARCH — 나선형 탐색3 Phase
PHASE A — Primer질문과 가장 관련 높은 커뮤니티 보고서 K개를 벡터 검색 → 초기 답변 + 후속 질문 목록 생성
PHASE B — Follow-Up (2회 반복)각 후속 질문을 Local Search 변형으로 실행 → 중간 답변 + 새로운 후속 질문 생성. 답변이 더 깊어지는 나선형 구조
PHASE C — Output모든 중간 답변을 관련도순으로 계층화 → 최종 종합 답변 생성

핵심 메커니즘: Phase A에서 **Hypothetical Document Embeddings(HyDE)**를 사용한다. 질문에 대한 "가상의 답변"을 먼저 생성하고, 그 답변을 임베딩하여 커뮤니티 보고서를 검색한다. 이렇게 하면 질문과 보고서의 형태적 차이(의문문 vs 서술문)를 극복하여 더 관련 높은 보고서를 찾을 수 있다.

나선형 탐색의 위력

Phase B의 "후속 질문 → 검색 → 새로운 후속 질문" 루프가 DRIFT의 핵심이다. 비유하자면:

  1. Phase A: 산꼭대기에서 전체 지형을 조망한다 (커뮤니티 보고서)
  2. Phase B (1차): 흥미로운 지점으로 내려가서 자세히 본다 (로컬 검색)
  3. Phase B (2차): 1차에서 발견한 새로운 단서를 따라 더 깊이 파고든다

이 과정에서 최초 질문에서는 보이지 않았던 연결이 드러난다.

벤치마크: Local Search를 압도

5,000개 이상의 AP 뉴스 기사에서 50개 로컬 질문으로 테스트한 결과:

DRIFT vs Local Search 승률 (%)
포괄성
78%
다양성
81%

사례: 경쟁사 비교 분석

질문: "A사, B사, C사의 AI 전략을 비교하고, 각사의 강점과 약점을 분석해줘"

  • Local Search: A사를 검색하면 A사 중심의 답변만 나온다. B사, C사 정보는 별도로 검색해야 한다.
  • Global Search: 전체 산업 트렌드는 잘 보여주지만, 각 회사의 구체적 전략 디테일이 부족하다.
  • DRIFT Search: Phase A에서 산업 전체의 AI 트렌드를 파악하고, Phase B에서 A사/B사/C사 각각에 대해 로컬 검색을 실행하여 넓은 맥락과 깊은 디테일을 모두 수집한다.

5. 어떤 질문에 어떤 모드를?

질문 유형별 결정 가이드

검색 모드 결정 플로우
신호 1정답이 특정 문장 하나에 있는가? → Basic Search
신호 2질문에 특정 이름(사람, 조직, 제품 등)이 있는가? → Local Search
신호 3질문에 "전체", "주요", "패턴", "요약" 같은 집계 키워드가 있는가? → Global Search
신호 4여러 개체의 비교·분석이 필요한가? 또는 질문 의도가 불명확한가? → DRIFT Search

실전 시나리오별 추천

시나리오질문 예시추천 모드이유
기술 문서 조회"이 API의 인증 헤더 형식은?"Basic단순 사실, 그래프 불필요
인물/제품 상세"Clerk의 미들웨어 설정 방법은?"Local특정 개체 중심
보고서 요약"올해 주요 프로젝트 성과를 정리해줘"Global전체 조망 필요
비교 분석"A팀과 B팀의 분기 성과를 비교해줘"DRIFT복수 개체 + 넓은 맥락
원인 추적"시스템 장애의 근본 원인 분석"DRIFT여러 컴포넌트 연쇄 추적
트렌드 파악"고객 피드백의 최근 변화 트렌드"Global시계열적 전체 패턴

비용 최적화 전략: 라우팅

실전에서 가장 효과적인 접근은 모드 라우팅이다. 들어오는 질문을 분류하여 적절한 모드로 보내는 것이다.

질문 입력 질문 분류기 (경량 LLM) 적절한 모드 실행

경량 LLM(GPT-4o-mini)이 질문을 분석하여 4가지 모드 중 최적의 것을 선택한다. 분류 비용은 미미하지만, 불필요한 Global Search를 피하는 것만으로 전체 비용을 크게 줄일 수 있다.

예를 들어, 질문의 70%가 Basic/Local로 해결 가능하다면:

  • 라우팅 없이 모두 Global: 100쿼리 × 0.80=0.80 = **80**
  • 라우팅 적용: 70쿼리 × 0.04(Basic/Local평균)+30쿼리×0.04(Basic/Local 평균) + 30쿼리 × 0.50(Global/DRIFT 평균) = $17.80

77% 비용 절감.


6. 네 가지 모드의 심화 비교

같은 질문, 네 가지 답변

데이터셋: 약초에 관한 노트북 (논문의 실제 예시) 질문: "이 노트북에 언급된 허브들의 가장 중요한 효능은?"

Basic Search의 답변: "카모마일은 소화를 돕고, 라벤더는 불안을 줄이는 데 사용됩니다..." → 질문과 가장 유사한 2~3개 청크에서 추출. 일부 허브만 언급.

Local Search의 답변: "카모마일"을 시드 개체로 찾아 상세 정보를 수집. "카모마일은 항염증, 소화 촉진, 수면 보조 효과가 있으며..." → 카모마일 중심의 깊은 답변이지만 다른 허브는 부족.

Global Search의 답변: 모든 허브 관련 커뮤니티 요약을 종합. "이 노트북에서 가장 중요한 효능은 1) 항염증(카모마일, 생강, 강황), 2) 항불안(라벤더, 발레리안), 3) 면역 강화(에키네시아, 엘더베리)..." → 전체를 관통하는 주제별 정리.

DRIFT Search의 답변: 커뮤니티 보고서에서 주요 효능 카테고리를 파악한 후, 각 카테고리별로 로컬 검색을 수행. "항염증 효과에서 카모마일은 아줄렌 성분으로, 강황은 커큐민으로... 특히 카모마일과 강황의 조합 시 시너지 효과가..." → 넓은 시야 + 개별 디테일 + 교차 분석.

정보의 깊이 vs 넓이

검색 모드별 특성 (상대적)
깊이 = 개별 개체에 대한 상세도, 넓이 = 데이터셋 커버리지
Basic 깊이
낮음
Basic 넓이
매우 낮음
Local 깊이
매우 높음
Local 넓이
낮음
Global 깊이
중간
Global 넓이
매우 높음
DRIFT 깊이
높음
DRIFT 넓이
높음

7. 2026년의 관점: 검색 모드는 어떻게 진화하는가

자동 라우팅의 부상

현재는 사용자가 모드를 수동으로 선택하거나, 간단한 규칙 기반 분류기를 만들어야 한다. 하지만 Adaptive RAG의 아이디어 — 질문 복잡도에 따라 검색 전략을 자동 선택 — 가 GraphRAG에도 적용되는 것은 시간 문제다.

이상적인 시스템: 사용자는 그냥 질문만 하고, 시스템이 자동으로 "이건 Basic으로 충분하네", "이건 DRIFT가 필요하겠다"를 판단한다.

비용 절감의 가속

동적 커뮤니티 선택이 Global Search의 비용을 77% 줄인 것처럼, 각 모드의 비용 최적화가 계속되고 있다. KET-RAG는 인덱싱 비용 자체를 줄이고, LightRAG는 커뮤니티 없이 유사한 기능을 제공한다.

2026년의 핵심 트렌드: **"같은 품질을 더 적은 비용으로"**가 아니라 "같은 비용으로 더 정밀한 모드 선택을".

모드 조합의 가능성

현재의 네 모드는 독립적으로 실행된다. 하지만 미래에는 하나의 질문에 여러 모드를 결합하는 접근이 가능해질 수 있다. 예를 들어, "A사의 AI 전략이 업계 전체 트렌드에서 어떤 위치인가?"라는 질문에:

  1. Local Search로 A사의 구체적 전략을 파악하고
  2. Global Search로 업계 전체 트렌드를 요약하고
  3. 두 결과를 결합하여 "위치"를 분석

이것은 Agentic RAG의 영역이며, GraphRAG의 검색 모드가 에이전트의 **도구(tool)**로 활용되는 방향이다.


마치며: 모드 선택이 답변 품질을 결정한다

GraphRAG의 네 가지 검색 모드를 한 문장씩 정리하면:

  • Basic: 그래프가 필요 없는 단순 질문에. $0.01.
  • Local: 특정 개체를 깊이 파고들 때. $0.06.
  • Global: 전체를 조망해야 할 때. $0.18 (동적 선택 적용 시).
  • DRIFT: 넓이와 깊이가 동시에 필요할 때. $0.15~0.30.

핵심 교훈: 모든 질문에 같은 검색 전략을 적용하는 것은 비용 낭비이거나 품질 손해다. 질문의 성격을 파악하고 적절한 모드를 선택하는 것만으로도 비용을 77% 줄이거나 답변 품질을 크게 높일 수 있다.

가장 비싼 모드가 항상 최선은 아니다. "API 엔드포인트 URL이 뭐야?"에 Global Search를 쓰면 $0.80을 낭비하면서 오히려 더 장황한 답변을 받을 뿐이다. 적재적소가 답이다.


참고 논문 및 자료