semble
semble:它是什麼、解決了什麼問題以及為何受到關注
它解決了什麼
Semble 為 AI 代理提供快速且節省 token 的程式碼搜尋。它解決了代理在探索大型程式碼庫時,若必須讀取整個檔案或依賴不精確的 grep‑style 搜尋,會消耗大量 token 的問題。Semble 讓代理只取得與自然語言查詢相關的精確程式碼片段,與傳統的「grep 後讀取」方式相比,可將 token 使用量降低最高 98%。
它如何運作
Semble 採用混合檢索系統,完全在 CPU 上執行,無需 GPU 或 API 金鑰。它透過 tree-sitter 將檔案切分為程式碼感知的區塊,然後使用兩種互補的搜尋方法:
- 語意搜尋:使用靜態
Model2Vec向量(透過potion-code-16M模型)進行語意相似度比對。 - 詞彙搜尋:使用
BM25針對識別字與 API 名稱進行精確匹配。
這些結果會以 Reciprocal Rank Fusion (RRF) 方式融合,之後再由一組程式碼感知的排序訊號進行精煉,例如提升定義的排名、降低引用的排名,並懲罰噪音(如測試檔案或舊版 shim)。
目標對象
開發或使用 AI 程式碼代理的開發者(例如 Claude Code、Cursor、Codex 或 OpenCode),希望為其代理提供即時、低成本的本地或遠端倉庫存取。
重點特色
- 極速:在 CPU 上約 250 ms 完成倉庫索引,查詢回應約 1.5 ms。
- Token 效率:僅回傳相關區塊,顯著減少代理的上下文窗口負載。
- 零設定:不需要 API 金鑰、GPU 或外部服務。
- MCP 伺服器支援:作為 Model Context Protocol (MCP) 伺服器整合,讓代理可將搜尋視為原生工具呼叫。
- 彈性索引:支援本機路徑與 git URL,並會根據檔案變更自動失效快取。
Sources
- undefinedMinishLab/semble