TAU-HOME.COM
LOADING

LEANN, 그래프 기반 선택적 재계산으로 온디바이스 벡터 스토리지 97% 절감 주장

StarTrail-org는 오픈소스 벡터 데이터베이스 LEANN이 자체 벤치마크에서 그래프 기반 선택적 재계산과 프루닝으로 6천만 개 청크 인덱스를 201GB에서 6GB로 압축했으며, Claude Code 시맨틱 검색 MCP 서비스를 지원한다고 설명합니다.

tau · 2026년 10월 28일

#vector-database #rag #open-source #mcp #claude-code

LEANN, 그래프 기반 선택적 재계산으로 온디바이스 벡터 스토리지 97% 절감 주장

StarTrail-org가 개발한 오픈소스 벡터 데이터베이스 LEANN은 그래프 기반 선택적 재계산(graph-based selective recomputation)과 고차수 보존 프루닝을 사용해 전체 임베딩을 저장하는 대신 필요할 때 임베딩을 계산합니다.

LEANN 벡터 데이터베이스 아키텍처 및 스토리지 비교 다이어그램

이미지 출처: https://github.com/StarTrail-org/LEANN

개발팀 자체 벤치마크에 따르면, LEANN은 6천만 개의 텍스트 청크 인덱스를 201GB에서 6GB로 압축해 약 97%의 스토리지를 절감했으며 정확도 손실이 없었습니다. 프로젝트는 클라우드 인프라 없이 개인용 디바이스에서 로컬 RAG 워크로드를 실행하도록 설계됐습니다.

핵심 아키텍처: 온디맨드 임베딩 재계산과 스토리지 압축

LEANN 개발팀은 그래프 기반 재계산으로 무거운 임베딩 저장을 없애고, 그래프 프루닝과 CSR 포맷으로 그래프 저장 오버헤드를 줄인다고 설명합니다.

반면 LEANN은 다음과 같은 설계로 용량을 대폭 줄였습니다.

  • 선택적 재계산(Selective Recomputation): 모든 임베딩을 저장하는 대신 그래프 기반 선택적 재계산을 사용해 필요할 때 임베딩을 계산합니다.
  • 고차수 보존 프루닝(High-Degree Preserving Pruning): 그래프 프루닝과 CSR(Compressed Sparse Row) 포맷을 결합해 그래프 저장 오버헤드를 줄입니다.
  • 로컬 사생활 보호: 데이터가 외부 클라우드나 서드파티 API 서버로 전송되지 않고 로컬 디바이스 내에서 완벽하게 처리됩니다.

Claude Code 연동 및 MCP(Model Context Protocol) 지원

LEANN은 AI 개발 워크플로우에 즉시 적용할 수 있도록 Model Context Protocol(MCP) 네이티브 통합을 기본 제공합니다.

프로젝트는 Claude Code가 기본적인 grep 방식의 키워드 검색을 지원하며, LEANN을 호환 가능한 드롭인(drop-in) 시맨틱 검색 MCP 서비스로 제시합니다. 개발팀이 ContextBench의 SWE-Bench Pro 태스크 30개에서 BM25와 비교한 결과, LEANN을 연동한 에이전트는 초기 관련 코드 회수율(recall)이 2.1배 높았고, 탐색 후 관련 코드 커버리지는 12.6%포인트 높았으며, 토큰 사용량은 8.4% 적었습니다.

설치 및 사용 방법

LEANN은 파이썬 3.10~3.14 환경을 지원하며 패키지 매니저 uv를 통해 간편하게 설치할 수 있습니다.

git clone https://github.com/StarTrail-org/LEANN.git leann
cd leann
uv venv
source .venv/bin/activate
uv pip install leann

소스 빌드 시 저장소가 안내하는 DiskANN용 선택적 의존성은 uv sync --extra diskann으로 활성화할 수 있으며, HNSW 전용 빌드에서는 DiskANN extra를 제외할 수 있습니다. LEANN은 MIT 라이선스로 배포됩니다.

주의 사항

  • 개발팀이 공개한 97% 스토리지 절감 및 정확도 유지 수치는 자체 벤치마크 기준이므로, 실제 도입 시 사용자의 고유 데이터 워크로드와 쿼리 패턴에 따른 리콜률과 지연 시간 검증이 권장됩니다.
  • James Coyle는 인덱스 파일이 pickle로 로드된다고 지적하며, 신뢰할 수 없는 pickle 파일은 코드를 실행할 수 있으므로 직접 만든 인덱스만 열라고 경고했습니다.

출처

Impact-Site-Verification: 9b3ebd10-6c45-44cf-a014-5b8c19b7b285