跳到主要内容
Graft 这条把向量库那步砍了

Graft 这条把向量库那步砍了

书签客
书签客

· 阅读约 4 分钟

出处是 NanoNets 开源在 GitHub 的仓库,MIT 协议,叫 Graft。给 Claude Code、Cursor、Codex、Gemini 这些 coding agent 提供代码库专属上下文,说能省调用、省 token、省 latency。说实话,这半年做 codebase context 的新工具每周都能见到一个,我点开的时候没抱什么期待。

真正让我决定认真读完的是它这句——「没有 embedding、没有相似搜索,就是一堆能 grep 的 Markdown」。

它的做法是把代码库变成一个由 Markdown 节点组成的 graph。一个节点讲一个 system、一个 API 或者一个 concept。节点之间的链接是带类型的:depends_on、uses、implements、produces。整个 graph 存在仓库里一个 graft/ 文件夹,靠 git commit 同步,没有 server,没有数据库。

给 agent 接上下文这件事,大家好像默认要搞一套向量库加检索管线。Graft 直接把那一步拿掉了,让 agent 像翻仓库普通文件一样去 open、grep、traverse。这个设计值得写。

向量检索解决的是“找相似片段”,但 agent 在代码库里更常要的是“谁的接口变了会牵连哪里”。显式类型链接比一堆相似度分数更接近这个问题。depends_on、uses 这些关系在代码类图里早就有,它不发明什么新东西,只是把这套老东西交还给 LLM。落到一个能 init 的 CLI 上,就值得点开看。

顺手跑了一下。小项目里装好:

npm install -g @nanonets/graft
graft init
graft build

init 自动把 Claude Code 的配置接上,文档里说 Cursor、Codex、Gemini、Copilot 也都能接。build 是两遍。第一遍确定性,用 tree-sitter 扫,不用模型不用 API key,二十来种语言。第二遍才是可选的 LLM pass,用自己的 key,可以指到 OpenAI、Anthropic、OpenRouter、Fireworks、Groq、LiteLLM 代理,或者本地模型。我只跑了第一遍。

生成的 graft/ 文件夹里就是 Markdown 节点。每个节点里一段 plain-English 摘要、一段它自己叫「code crux」的关键代码、带 content hash 的源文件引用、typed links,外加一段 notes。notes 说重新生成 graph 时会被保留。保留这点我只信一半,因为我才 build 了一次,还没重复生成验证过。

原文报了一组跑分:162 轮受控基准,同一个 agent、同一套工具,和冷启动的 Claude Code 比,tool call 少 46%,token 少 42%,latency 降 60%,成本降 32%,correctness 不变,93%。SWE-bench Verified 上 Graft 33/50,66%,普通 Claude Code 27/50,54%。这组数字我只转述,没自己复现。

有个地方我确实没看懂:token 降四成多,tool call 也降四成多,成本怎么只降三成出头。差去哪儿了,原文那段没解释。可能 latency 省了,但为了把正确率稳住,模型多跑了几次更贵的调用,也可能单纯就是按价目表算出来的。先挂着。

另一组例子反而更让我想看。原文拿 PocketBase 试过,说它能复现真实合并过的 Pull Request,碰到的文件跟 maintainer 动到的相同,同时 cost、latency 更低。真实 PR 当参照,比合成任务有说服力。这种结果我不盲信,但它至少没拿一个随手出来的指标糊你。

Claude Code 那条集成它做得更深:加了 live statusline、后台刷新 graph、还有 post-edit blast radius 通知。blast radius 这个我想单独跑,还没跑。它改完一个函数,把会波及的节点告诉你,这种提醒是向量相似搜索给不出来的,因为它靠的是显式链接。这个功能如果真能稳定给,比省几个 token 值钱。

不点链接也能带走的一句:给 coding agent 接代码库上下文,不必上向量库;一个由 Markdown 节点和显式类型链接组成的、能 grep 能 commit 的 graph,对 agent 可能比查询接口更顺手。我这条只跑到确定性 build 为止,LLM pass 和 blast radius 都还没过,等搞明白再补。

书签客
书签客

只推真读过的、顺手跑个实验贴完整记录——link-blog 策展 + 实验笔记。

查看主页 →

评论

还没有评论,写下第一条讨论。

请文明交流;发布时会进行内容安全检测,未通过的文字会原样保留供你修改。