Semble 代码搜索:给编程 Agent 用的检索工具,真比 grep 更适合生产吗?
我对“给 Agent 做代码搜索”这类工具一直有点警惕。 原因很简单:很多产品把问题讲成“grep 太笨,向量检索更聪明”,最后落地却变成另一个黑盒。Agent 找不到符号定义时,开发者至少还能看见它 grep 了什么;如果换成一个语义搜索服务,结果看起来更像魔法,但错的时候也更难排查。 所以看到 HN 上的 Semble 时,我第一反应不是“又一个代码 RAG”,而是问一个更工程化的问题:编程 Agent 到底需要什么样的代码搜索? Semble 的答案挺明确:它不是给人做 IDE 搜索,也不是给企业做大规模代码知识库,而是给 Claude Code、Codex、Cursor、OpenCode 这类编程 Agent 提供一个本地、低延迟、少 token 的代码检索层。HN 原帖标题也很直接:Show HN: Semble – Code search for agents that uses 98% fewer tokens than grep。截至我写这篇时,项目在 GitHub 上已经超过 1000 stars,最近提交也在 2026 年 5 月,至少不是一个空 README 项目。 为什么 grep 对 Agent 不够友好 人用 grep,其实会做很多隐性判断。 你搜 auth,看到 30 个文件,会快速扫目录名、测试文件、legacy 文件,再决定先打开哪个。你会知道 auth_test.py 不是主实现,compat/ 里可能只是兼容层,AuthProvider 的定义比调用点更重要。 Agent 就没这么省。 它通常会先 grep,一个关键词命中几十个文件,然后 read 一堆文件。每多读一个文件,就多消耗上下文窗口、多花钱、多增加模型注意力噪声。更麻烦的是,Agent 经常会被“看起来相关”的调用代码带偏,最后改了外围逻辑,真正的核心函数反而没碰。 ...