[2026-06-05] GraphRAG 베스트프랙티스 리서치 → Maester 적용 권고 (Graphiti 템플릿)

report sent · 9분 읽기 · 4178자

작성자 claude-code 시각 2026-06-05 19:06 KST 프로젝트 maester 수신 jadong
📥 MD 📥 PDF

온톨로지 GraphRAG 베스트프랙티스 → Maester 적용 권고 (2026-06-05)

deep-research 하니스: 104 에이전트 / 6.6M 토큰 / ~47분. 5개 검색앵글 중 3개 성공, 2개 스톨(OpenRouter 가격 앵글 포함). 아래는 3표 적대검증 통과(2/3 반증 시 폐기)한 12개 high-confidence 발견.

BLUF

1. 트렌딩 레포 카탈로그 (별점·날짜 GitHub API 실측)

레포 최신 라이선스 신규성 Maester 적합도
Graphiti (getzep) ~27k v0.29.1 (5/21), push 6/4 Apache-2.0 bi-temporal + 하이브리드검색 + typed-search + graph rerankers, Neo4j 네이티브 1순위 템플릿
LightRAG (HKUDS) ~36.2k v1.5.0 (6/3) MIT dual-level(그래프+벡터) 검색, Neo4j 백엔드 지원 가장 drop-in 포팅
cognee (topoteretes) ~17.7k v1.1.2 (5/30), push 6/5 Apache-2.0 ECL 파이프라인 + OPTIONAL RDF/OWL 온톨로지 그라운딩 스키마 구축 레퍼런스
TrustGraph ~2.1k v2.5 (5/28), push 6/1 Apache-2.0 명시적 "OntologyRAG" + OWL/Turtle 온톨로지 에디터 스키마 가이드 추출 데모
OntoKG (논문) arXiv 2604.02618 4/3 제출 intrinsic-relational routing (속성→노드속성 vs 순회엣지 분류) 노드속성 vs 엣지 결정

참고(성숙하나 recency 실패):

2. 수렴된 베스트프랙티스 패턴

  1. bi-temporal "invalidate-don't-delete" — 엣지에 4타임스탬프(valid_at/invalid_at[이벤트시점] + created_at/expired_at[적재시점]). 모순 시 옛 엣지 invalidate(삭제X, 감사추적 보존). → Maester가 이미 함.
  2. 하이브리드 검색 3종 융합 — 벡터 KNN + BM25 풀텍스트 + 그래프 BFS를 한 엔진에서. Neo4j Lucene으로 셋 다 호스팅 가능.
  3. typed-search 분해 — edge/fact 필드(정밀 쿼리매칭) vs node/name 필드(엔티티 정보) vs community 요약(넓은 맥락)을 분기 쿼리.
  4. graph-aware reranking — node-distance(중심 엔티티 편향) + mention-frequency 리랭커(+RRF/MMR/cross-encoder). → Maester edge-ranking/MSS가 이미 이 패턴(검증됨).
  5. ontology/schema-guided 추출 — OWL/Turtle 어휘에 추출을 그라운딩 + intrinsic vs relational 속성 라우팅.
  6. provenance — entity↔source-chunk 양방향 링크(=EXTRACTED_FROM).
  7. ⚠️ PITFALL (ICLR-2026 피어리뷰 벤치) — 그래프 구조가 만능 아님: 단순/특정문서 검색은 vanilla 벡터RAG가 더 나음, 그래프는 multi-hop/집계/temporal에서만 이김. → 벡터RAG fast-path 유지 + 그래프 선택 적용.

3. Maester 적용 권고 + 마이그레이션 (증분·저위험)

핵심: 이미 temporal·reranking은 했다. 채울 4개:

  1. 엣지 fact-level 임베딩 + 벡터/BM25 인덱스 추가 — Neo4j vector/Lucene 인덱스. recall이 하이브리드(벡터+BM25+그래프)로 격상.
  2. typed-search 분해maester_recall에 edge-fact / node-name(MaesterConcept·Document) / community 3경로 분기.
  3. bi-temporal 정식화 — 엣지에 valid_at/invalid_at 명시(현재 SUPERSEDED_BY/dormant를 시간윈도로 승격) → point-in-time 재구성.
  4. OWL/YAML 스키마로 추출 그라운딩 — 4노드타입(ActionItem/Document/Project/Concept) + intrinsic(노드속성) vs relational(엣지) 라우팅을 v5.1 추출게이트 위에 얹기.

가드레일: 단순쿼리는 벡터 fast-path, 그래프는 multi-hop/temporal에만(ICLR 반증 반영). 순서(각 단계 독립 배포): (a) 벡터+BM25 인덱스 → (b) 엣지 임베딩 백필 → (c) typed-search recall → (d) OWL 스키마 그라운딩.

4. OpenRouter 모델 일원화 — ⚠️ 미완 (정직)

검색 5앵글 중 2개 스톨 → OpenRouter 단계별 모델·2026중반 가격에 대한 검증된 결과 0. 추측 시 환각(가짜 가격/모델) 위험이라 여기선 비움. 별도 집중 미니리서치 권장(추출 LLM / 임베딩 / 리랭커 각각 + 가격/컨텍스트/지연).

출처 (주요)