삼태연구소
SAMTAELABS삼태연구소
트렌드2026년 5월 18일·7분 읽기

AI 에이전트 토큰 사용량 98% 줄이는 코드 검색 도구 'Semble' 실전 분석 (github.com)

AI 에이전트코드 검색SembleMCP토큰 최적화Claude CodeCursorLLM 비용 절감개발자 도구코드 임베딩
AI 에이전트 토큰 사용량 98% 줄이는 코드 검색 도구 'Semble' 실전 분석
목차(4)

한줄 요약

GPU·API 키 없이 CPU만으로 토큰 98% 절감, AI 에이전트용 코드 검색 도구 Semble 등장.

무엇이 달라지나?

Semble은 AI 에이전트가 코드베이스를 탐색하는 방식 자체를 바꾸는 코드 검색 라이브러리다. 기존 방식의 문제는 명확하다. Claude Code, Cursor, Codex 같은 코딩 에이전트들은 코드를 찾을 때 주로 grep으로 키워드를 검색한 뒤 해당 파일 전체를 읽어 들이는 패턴을 반복한다. 파일 하나가 수백, 수천 줄이라면 정작 필요한 코드 10줄을 찾기 위해 나머지 900줄을 모두 컨텍스트 창에 밀어 넣는 셈이다.

Semble은 이 구조를 정면으로 공략한다. 자연어 쿼리(예: "인증 로직은 어디에 있나?")를 입력하면 관련 코드 청크만 정확히 추출해 돌려준다. 결과적으로 grep+read 방식 대비 토큰 사용량이 평균 98% 줄어든다. 수치로 보면 더 직관적이다. 동일한 85% 리콜을 달성하는 데 grep+read는 100k 토큰 컨텍스트 창이 필요하지만, Semble은 2k 토큰만으로 94% 리콜을 달성한다.

속도 측면에서도 기존 코드 특화 트랜스포머 모델과 비교가 된다. 벤치마크 기준으로 인덱싱 속도는 약 200배 빠르고 쿼리 응답은 약 10배 빠르다. 평균 저장소 인덱싱에 약 250ms, 쿼리 응답에 약 1.5ms가 소요된다. 검색 품질(NDCG@10)은 0.854로, 137M 파라미터짜리 CodeRankEmbed Hybrid(0.862)의 99% 수준을 유지한다. GPU도, 외부 API도, 별도 서버도 필요 없다.

내부 구조를 보면 단순 임베딩 검색이 아니다. 파일을 코드 인식 방식으로 청크 단위로 분할한 뒤, 정적 임베딩 기반 의미 검색(Model2Vec의 potion-code-16M 모델)과 식별자·API명에 강한 BM25 어휘 검색을 병렬로 수행하고, Reciprocal Rank Fusion(RRF)으로 결과를 통합한다. 여기에 심볼 정의 여부 부스팅, 식별자 어간 매칭, 테스트 파일·레거시 코드 하향 랭킹 같은 코드 특화 재랭킹 시그널이 추가로 적용된다. 트랜스포머 포워드 패스가 없기 때문에 이 모든 과정이 CPU에서 밀리초 단위로 끝난다.

실무에서 어떤 의미인가?

토큰 비용은 단순히 API 요금의 문제가 아니다. 컨텍스트 창이 불필요한 코드로 가득 차면 에이전트의 추론 품질 자체가 떨어진다. 관련 없는 코드가 노이즈로 작용해 정작 필요한 로직을 제대로 처리하지 못하는 상황이 생긴다. Semble이 해결하는 건 비용만이 아니라 에이전트의 실질적인 성능이기도 하다.

통합 방식도 실용적이다. MCP 서버로 등록하면 Claude Code, Cursor, Codex, OpenCode 등 MCP 호환 에이전트가 즉시 사용할 수 있다. Claude Code나 Codex CLI의 서브에이전트처럼 MCP를 직접 호출하지 못하는 경우에는 AGENTS.md 또는 CLAUDE.md에 bash 통합 스니펫을 추가하는 방식으로 우회할 수 있다. 로컬 경로뿐 아니라 git URL을 직접 넘기면 원격 저장소도 온디맨드로 클론해서 인덱싱한다.

semble savings 명령어로 누적 토큰 절감량을 확인할 수 있는 점도 인상적이다. 실제 사용 데이터를 기반으로 오늘, 최근 7일, 전체 기간별로 절감된 토큰 수를 시각화해준다. 도입 효과를 수치로 보여줄 수 있다는 건, 팀 내 설득이나 의사결정 과정에서도 유용하다.


Python API도 제공되므로 에이전트 하네스를 직접 구축하거나 커스텀 툴링에 Semble을 내장하는 것도 어렵지 않다. SembleIndex.from_path() 또는 SembleIndex.from_git()으로 인덱스를 생성하고, search()find_related()로 결과를 조회하는 구조다. 라이선스는 MIT이므로 상업적 활용에도 제약이 없다.

도입 전 체크포인트

Semble이 모든 상황에 최적은 아니다. 몇 가지 현실적인 고려 사항이 있다.

의미 검색 vs. 완전 일치 검색: Semble 자체 워크플로우에서도 명시하듯, 정확한 문자열을 빠짐없이 찾아야 할 때는 grep을 병행하는 것이 권장된다. Semble은 "관련 코드 탐색"에 강하지만 "특정 문자열 전수 조회"는 grep이 더 적합하다.

인덱스 갱신 정책: 로컬 경로는 파일 변경을 감지해 자동으로 재인덱싱된다. 반면 MCP 세션 단위로 캐싱되므로, 세션을 넘나드는 사용 패턴에서는 인덱스 상태를 확인할 필요가 있다.

uv 의존성: MCP 방식으로 사용하려면 uv가 사전 설치되어 있어야 한다. pip 방식의 직접 설치도 가능하지만, 팀 환경에서 일관된 설정을 위해 uv 기반 워크플로우를 먼저 정비하는 것이 좋다.

대형 모노레포 적용 시 청크 전략 검토: 평균 저장소 기준 250ms 인덱싱이지만, 수십만 파일 규모의 모노레포에서의 실측치는 별도로 검증해볼 필요가 있다.

자주 묻는 질문

Q.Semble은 어떤 프로그래밍 언어를 지원하나?

벤치마크 기준으로 63개 저장소, 19개 언어에 걸쳐 테스트됐다. 특정 언어에 한정된 파서에 의존하지 않고 코드 인식 청킹과 임베딩 기반 검색을 결합하는 구조이므로, 대부분의 주류 언어에서 동작하는 것으로 보인다. 다만 언어별 세부 성능은 공식 벤치마크 문서에서 확인하는 것이 정확하다.

Q.기존 코딩 에이전트 워크플로우를 크게 바꿔야 하나?

MCP 서버 등록은 한 줄 커맨드로 끝난다. Claude Code, Cursor, Codex 모두 기존 설정 파일에 몇 줄을 추가하는 수준이며, 에이전트가 코드 검색이 필요한 상황에서 자동으로 Semble을 호출하게 된다. 서브에이전트 환경에서는 AGENTS.md에 bash 스니펫을 추가하는 방식으로 통합한다.

Q.클라우드 서비스나 외부 API 없이 완전히 로컬에서만 동작하나?

그렇다. API 키, GPU, 외부 서비스 연동이 전혀 필요 없으며 모든 처리가 로컬 CPU에서 실행된다. 원격 git 저장소를 대상으로 검색할 때는 해당 저장소를 로컬에 클론한 뒤 인덱싱하는 방식이므로, 검색 연산 자체는 항상 로컬에서 이루어진다. 📌 원문: [HackerNews](https://github.com/MinishLab/semble) 🔗 새로운 기술 도입이나 기술 검토가 필요하다면 → [삼태연구소에 문의하기](/contact)

이 기술을 우리 서비스에 도입하려면? 24시간 내 답변드립니다

누적 매출 20억 / 1인 에이전시. 중간 과정 없이 의도 그대로.

관련 아티클

관련 사례

이 글의 키워드와 맞닿은 실제 개발 사례를 함께 보세요.