semble

semble:它是什麼、解決了什麼問題以及為何受到關注

它解決了什麼

Semble 為 AI 代理提供快速且節省 token 的程式碼搜尋。它解決了代理在探索大型程式碼庫時,若必須讀取整個檔案或依賴不精確的 grep‑style 搜尋,會消耗大量 token 的問題。Semble 讓代理只取得與自然語言查詢相關的精確程式碼片段,與傳統的「grep 後讀取」方式相比,可將 token 使用量降低最高 98%。

它如何運作

Semble 採用混合檢索系統,完全在 CPU 上執行,無需 GPU 或 API 金鑰。它透過 tree-sitter 將檔案切分為程式碼感知的區塊,然後使用兩種互補的搜尋方法:

  1. 語意搜尋:使用靜態 Model2Vec 向量(透過 potion-code-16M 模型)進行語意相似度比對。
  2. 詞彙搜尋:使用 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