AI 에이전트 코드 검색 도구 Semble, 토큰 98% 절감 달성

문제: AI 에이전트는 코드를 찾을 때 토큰을 너무 많이 쓴다

Claude Code, Cursor 같은 AI 코딩 에이전트가 대형 코드베이스에서 정보를 찾을 때 흔히 쓰는 방법은 grep과 파일 전체 읽기다. 이 접근법은 단순하지만 치명적인 단점이 있다. 100k 컨텍스트를 전부 써야 85% 리콜에 겨우 도달한다. Semble은 이 문제를 정면 돌파한 오픈소스 라이브러리다.

작동 방식

Semble은 2단계 검색 파이프라인으로 구성된다.

1단계 — 초기 검색: tree-sitter로 코드를 구조 단위로 분할하고, Model2Vec 시맨틱 임베딩과 BM25 어휘 매칭을 결합해 후보 스니펫을 선별한다.

2단계 — 코드 특화 리랭킹: 정의 부스트, 식별자 어간 매칭, 파일 응집도, 테스트·레거시 코드 노이즈 패널티를 적용해 최종 순위를 결정한다.

모든 처리는 CPU에서 실행된다. 외부 API, GPU, 인증 키가 필요 없다.

성능 수치

토큰 효율: 2k 토큰으로 94% 리콜 — grep+read는 100k 써야 85% 달성

NDCG@10: 0.854 (137M 파라미터 CodeRankEmbed 모델의 99% 품질)

인덱싱 속도: 코드 특화 변환기 모델 대비 약 200배 빠름 (~200ms)

쿼리 속도: 변환기 대비 약 10배 빠름 (~1.5ms)

Claude Code 통합

MCP 서버 방식으로 한 줄이면 설치된다.

claude mcp add semble -s user -- uvx --from "semble[mcp]" semble

Cursor, Codex, OpenCode도 동일한 uvx 구조를 지원한다. 셸 기반 접근이 필요하다면 AGENTS.md에 semble search와 semble find-related 명령을 문서화하는 방법도 있다.

왜 주목받나

AI 에이전트의 코드 탐색 효율은 비용·속도·컨텍스트 한계 세 가지에 동시에 영향을 준다. Semble은 외부 의존성 없이 로컬에서 완전히 동작하면서 transformer 수준의 품질을 제공한다는 점에서, 실제 에이전트 워크플로에 바로 적용 가능한 실용적 해법으로 빠르게 자리잡고 있다.