MinishLab/semble

Fast and Accurate Code Search for Agents. Uses 99% fewer tokens than grep+read

해결하는 문제

Semble은 AI 코딩 에이전트가 대규모 코드베이스를 검색할 때 발생하는 '토큰 비대화'와 비효율성 문제를 해결합니다. grep을 실행한 후 전체 파일을 읽는 기존 방식은 방대한 컨텍스트 윈도우 토큰을 소비하며 속도가 느립니다. Semble은 에이전트가 쿼리에 답하는 데 필요한 정확하고 관련성 높은 코드 스니펫만 즉시 검색할 수 있는 방법을 제공하여 토큰 사용량과 지연 시간을 크게 줄여줍니다.

작동 원리

Semble은 GPU나 API 키 없이 완전히 CPU에서 실행되는 하이브리드 검색 방식을 사용합니다:

  1. 청킹 (Chunking): tree-sitter를 사용하여 파일을 코드 인식 단위로 분할합니다.
  2. 하이브리드 검색 (Hybrid Search): 의미론적 유사성(potion-code-16M-v2 모델을 통한 정적 Model2Vec 임베딩 사용)과 식별자 및 API 이름에 대한 어휘적 매칭(BM25)을 결합합니다.
  3. 융합 및 재순위 지정 (Fusion and Reranking): Reciprocal Rank Fusion (RRF)을 사용하여 결과를 병합한 다음, 함수 정의에 가중치를 부여하고 테스트 파일이나 레거시 shim과 같은 노이즈를 페널티 처리하는 등 코드별 신호를 기반으로 재순위를 지정합니다.
  4. 캐싱 (Caching): 인덱스는 로컬에 캐시되며 파일 변경 사항에 따라 증분 업데이트됩니다.

대상 사용자

AI 코딩 에이전트(Claude Code, Cursor, Codex 등) 개발자와, 이러한 도구를 사용하여 로컬 또는 원격 저장소에 대해 더 빠르고 정확하며 토큰 효율적인 액세스를 원하는 사용자를 위해 설계되었습니다.

주요 특징

  • 극도의 효율성: grep+read 방식 대비 토큰 사용량을 약 99% 절감합니다.
  • 고성능: CPU에서 평균 약 500ms 내에 저장소를 인덱싱하고 약 1ms 내에 쿼리 결과를 반환합니다.
  • 제로 설정: API 키, GPU 또는 외부 서비스가 필요하지 않습니다.
  • MCP 통합: Model Context Protocol (MCP) 서버로 작동하여 에이전트가 검색을 네이티브 도구로 호출할 수 있습니다.
  • 유연한 검색: 로컬 경로, 원격 git URL 및 여러 저장소의 동시 검색을 지원합니다.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트