MinishLab/semble
Fast and Accurate Code Search for Agents. Uses 99% fewer tokens than grep+read
解決する課題
Sembleは、AIコーディングエージェントが大規模なコードベースを検索する際に発生する「トークンの肥大化」と非効率性の問題を解決します。grepを実行した後にファイル全体を読み込むといった従来の手法は、膨大なコンテキストウィンドウのトークンを消費し、処理も低速です。Sembleは、クエリへの回答に必要な正確かつ関連性の高いコードスニペットのみを即座に取得する手段を提供し、トークン使用量とレイテンシを大幅に削減します。
仕組み
Sembleは、GPUやAPIキーを必要とせず、完全にCPU上で動作するハイブリッド検索アプローチを採用しています。
- チャンク化 (Chunking):
tree-sitterを使用して、コードの構造を認識した状態でファイルを分割します。 - ハイブリッド検索 (Hybrid Search):意味的類似性(
potion-code-16M-v2モデルによる静的なModel2Vec埋め込みを使用)と、識別子やAPI名に対する語彙マッチング(BM25)を組み合わせます。 - 融合と再ランキング (Fusion and Reranking):Reciprocal Rank Fusion (RRF) を使用して結果を統合し、関数定義を優先し、テストファイルやレガシーなshimなどのノイズを低減するなど、コード固有のシグナルに基づいて再ランキングを行います。
- キャッシュ (Caching):インデックスはローカルにキャッシュされ、ファイルの変更に応じて増分更新されます。
対象ユーザー
AIコーディングエージェント(Claude Code、Cursor、Codexなど)の開発者、およびこれらのツールを使用して、ローカルまたはリモートのリポジトリに対して、より高速で正確、かつトークン効率の高いアクセスを求めるユーザー向けに設計されています。
ハイライト
- 極めて高い効率性:
grep+readアプローチと比較して、トークン使用量を約99%削減します。 - 高性能:CPU上で平均約500msでリポジトリをインデックス化し、約1msでクエリ結果を返します。
- セットアップ不要:APIキー、GPU、外部サービスは一切不要です。
- MCP統合:Model Context Protocol (MCP) サーバーとして動作し、エージェントが検索をネイティブツールとして呼び出すことができます。
- 柔軟な検索:ローカルパス、リモートのgit URL、および複数のリポジトリの同時検索をサポートしています。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト