Semble

2周前发布 13 0 0

Semble是一款专为 AI 编码 Agent 打造的极速精准代码搜索库。它能让你的 Agent 用自然语言查询代码库,瞬间返回最相关代码片段。

收录时间:
2026-06-25

一、Semble 是什么?

Semble 是由 MinishLab 推出的开源代码搜索库,专为AI编程智能体(Agent)设计。它的核心使命很简单:让 AI 在理解陌生代码库时,更快、更准、更省
传统方式下,AI 助手探索代码库的典型流程是:grep 搜索关键词 → 找到匹配文件 → 读取整个文件 → 在大量无关代码中筛选。这个过程不仅慢,而且极其消耗 Token——对于按 Token 计费的 API 来说,成本很高。
Semble 的解法:用自然语言直接搜索,只返回最相关的代码片段。
Semble 网站截图

Semble 网站截图


二、核心数据:快、准、省

Semble 的性能数据非常亮眼:
指标 表现
索引速度 平均代码库 ~250ms 完成索引
查询速度 单次查询 ~1.5ms
索引加速 比代码专用 Transformer 快 ~200倍
查询加速 比代码专用 Transformer 快 ~10倍
检索质量 NDCG@10 达到 0.854,达到专业模型的 99%
Token 节省 比 grep+read 方式节省 ~98%
所有运算都在 CPU 上完成,不需要 API Key、GPU 或任何外部服务。

三、技术原理:为什么它能这么快又这么准?

Semble 的检索系统是一套精心设计的混合检索 + 智能重排架构:

1. 代码感知分块(Code-aware Chunking)

Tree-sitter 解析代码结构,按语义边界(函数、类、模块)切分,而不是粗暴地按行数切。

2. 双路检索融合

  • 语义检索:基于静态 Model2Vec 嵌入模型(potion-code-16M),理解自然语言查询的语义
  • 词汇检索:BM25 匹配标识符和 API 名称
两者通过 Reciprocal Rank Fusion (RRF) 融合,兼顾”意思相近”和”名字匹配”。

3. 代码感知重排信号

融合后还有一套精妙的重排逻辑:
  • 自适应权重:查询像 Foo::bar 这种符号时,自动提高词汇检索权重;自然语言查询则保持平衡
  • 定义提升:包含查询符号定义的代码块(如 classdeffunc)排名高于仅引用它的块
  • 标识符词干匹配:查询 parse config 会自动匹配 parseConfigConfigParserconfig_parser
  • 文件连贯性:同一文件中多个片段匹配时,整体提升该文件排名
  • 噪声惩罚:测试文件、兼容层代码、示例代码、类型声明文件自动降权
关键设计:嵌入模型是静态的,查询时不需要 Transformer 前向传播——这就是为什么它能在 CPU 上毫秒级响应。

四、三种使用方式:MCP、CLI、Python 库

1. MCP Server(推荐)

与 Claude Code、Cursor、Codex、OpenCode、VS Code 等任何 MCP 兼容的 Agent 集成。Agent 可以直接调用 searchfind_related 两个工具。

2. CLI 工具

# 搜索本地仓库
semble search "authentication flow" ./my-project

# 搜索远程仓库(自动克隆)
semble search "save model to disk" https://github.com/MinishLab/model2vec

# 查找相关代码
semble find-related src/auth.py 42 ./my-project

# 查看累计节省的 Token
semble savings

3. Python 库

Python
from semble import SembleIndex

index = SembleIndex.from_path("./my-project")
results = index.search("save model to disk", top_k=3)

五、安装体验:一键接入你的 Agent

v tool install semble
semble install
semble install 会自动检测已安装的编程 Agent(Claude Code、Codex、OpenCode 等),并提供三种集成选项:
  • MCP Server:Agent 直接调用 Semble 作为工具
  • Instructions:在 AGENTS.md / CLAUDE.md 中添加 CLI 使用指南
  • Sub-agent:安装专用的 semble-search 子智能体
卸载同样简单:semble uninstall

六、Token 节省效果:真实数据说话

Semble 内置了 savings 命令,展示累计节省的 Token:
plain

Total saved:  ~714.2M tokens  (94%)
Total calls:  14.3k
Efficiency:   ███████████████████████░  94%
节省计算方式:(完整文件字符数 - 返回片段字符数) / 4。这是一个保守估计——因为基准线是读取整个匹配文件,而这正是大多数编程 Agent 探索陌生代码时的默认行为。

七、适用场景

  • 大型代码库探索:AI Agent 需要快速理解百万行级项目
  • 按 Token 计费的 API 用户:Claude、GPT-4 等模型的上下文窗口很贵
  • 本地/离线环境:没有 GPU、没有 API Key、没有网络也能跑
  • 多语言项目:支持 19 种编程语言
  • 代码审查工具:需要精准定位相关代码片段

八、最后

Semble 的价值不在于”又一个代码搜索工具”,而在于它重新定义了 AI Agent 与代码库的交互方式
从”读完整个文件再筛选”到”直接给你最相关的片段”,这不仅是效率的提升,更是认知范式的转变——AI 不再需要像人类一样”翻书找答案”,而是像拥有超能力的图书管理员,瞬间定位到你需要的那一页。

数据统计

相关导航

暂无评论

none
暂无评论...