Graft Skill:给 Claude Code 装上持久化代码库记忆层
NanoNets/Graft 是 2026 年 7 月新晋 GitHub trending 的”代码库知识外挂”项目——它把 codebase 自动构建成一张可读的 Markdown 知识图谱,让 Claude Code、Cursor、Codex、Gemini 等任何 coding agent 在每次新会话里都能跳过重新探索的坑。实测数据:相对 Cold Claude Code,工具调用省 +46%、token 省 +42%、时间省 +60%;SWE-bench Verified 准确率从 65% 拉到 75%(+10 个百分点)。它解决的不是”agent 会不会写代码”,而是”agent 能不能不再花 80% 的时间在 grep 上”。
功能与原则
核心能力:把”agent 每次重新理解 codebase”这件事做一次、存下来、跨会话复用。
具体三件事:
- 构建知识图谱:
graft build扫描代码库,自动产出graft/目录——一个由 Markdown 节点组成的链接图,每个节点对应一个系统、API 或概念,写的是”资深工程师怎么向新人解释这块”,不是冷冰冰的符号列表。 - 无缝接入 agent:通过
graft init自动往.claude/、Cursor 配置等里写 statusline 与 hooks,从此 agent 每次会话会自动拉取相关节点注入上下文;图谱在后台持续重建,不需要 daemon。 - 可视化 + 命令行检索:
graft viz出一张可看的图;graft grep/graft map让你像 grep 文件一样在图谱里定位关心的概念。
设计原则:图谱就是一组 Markdown 文件,不是 embeddings、不是向量库、不是常驻 index 服务。它跟 .gitignore 的 graft/ 一样是可重新生成的本地缓存(团队成员各自 build 一次即可),共享的是 init 写下的 wiring(.claude/),git 负责同步。这种”agent 能读懂、人也能读懂、不需要数据库”的极简路线,让它跟传统 RAG 类代码库检索拉开了本质差距。
认可度
- GitHub Stars:1,454(截至 2026-08-09,来自仓库页面 aria-label 精确读取)
- 创建时间:2026-07-03(不到 40 天的新仓库)
- 最后活跃:2026-08-07(持续迭代中)
- Trending 经历:在 GitHub search
created:2026-07-01..2026-08-09+stars:>100排序中稳居前列;OpenSSF Scorecard 已收录(见 README 徽章) - npm 下载量:5,347 次/月(@nanonets/graft,截至 2026-08-06,来源 npm registry)
- 官方背书:NanoNets 官方出品(graft.nanonets.ai + 官方 Discord),已被 SWE-bench Verified 官方评估体系验证
链接
- GitHub:https://github.com/NanoNets/Graft
- 官网:https://graft.nanonets.ai
- npm:https://www.npmjs.com/package/@nanonets/graft
- Discord:https://discord.gg/zxmKweAA29
原作者
- 组织:NanoNets
- 一句话简介:硅谷 AI 公司,专注把企业级 AI 能力产品化;Graft 是其面向”AI 编码 agent 上下文工程”的最新开源项目,被定位为”给 coding agent 用的持久化记忆层”。
介绍
Graft 的切入点是一个观察:人类入职一个 codebase 只需一次,agent 却每次都得重新入职。
每个 coding agent 拿到任务时,第一件事都是 grep 一个术语、打开文件、追一个 import、回退、再试——它在重新构建一小时前画过但已扔掉的代码库心智地图。这种”重新探索”消耗了大部分运行里的 tool calls、token 和延迟,并且:
- 重复发生——每个任务都从零开始付探索成本;
- 被丢弃——agent 推出来的结论随会话消亡;
- 无法共享——下一个队友的 agent 也得从零开始。
Graft 的解法是”一次理解,永久复用“。graft build 把代码库扫描成 graft/ 目录——一组相互链接的 Markdown 文件,每个节点都是一段”资深工程师视角”的解释,描述某个系统/概念是什么、跟其他部分怎么连。这正是 agent 在动手前真正需要的那部分信息,让它跳过探索阶段。
更妙的是它”就是文件“。不是 embeddings、不是相似度搜索、不是需要保温的向量索引。agent 读取这张图谱的方式,跟它读 repo 里任何其他文件一模一样——open、grep、follow link。这意味着:
- 图谱天然适合 git 协作(commit 它,clone 仓库的人就有图),stale 状态也只是 git diff;
- 人类工程师也能读懂、可以 review、可以质疑;
- 没有数据库、没有服务器、没有部署成本。
接入 Claude Code 的流程极简:npm install -g @nanonets/graft && graft init,选好 agent(默认会问),图谱自动生成,hooks / statusline 自动写好,下一次会话就开始享受 graft 红利。
特点
- 零部署:图谱就是本地 Markdown 文件,靠 git 共享;不需要 embeddings 服务、不需要向量数据库、不需要常驻 daemon。
- 广覆盖:同一张图谱适配 Claude Code、Cursor、Codex、Gemini 等任意 coding agent;README 演示了 Claude Code 的 deep integration(含 statusline 与 hooks)。
- 数据驱动:实测对照 Cold Claude Code,工具调用省 +46%、token 省 +42%、时间省 +60%;单任务最大节省”4× 便宜 / 3× 快”;SWE-bench Verified 准确率 +10 个百分点。
- 可读可审:图谱里每个节点都是”自然语言解释 + 链接”,不是符号列表;人类工程师也能 review、能质疑,避免”AI 黑盒”。
- 可重生成:
graft/进.gitignore(自动加),图谱当成本地缓存用;构建命令是幂等的,迭代无负担。
使用方法
最简安装(两行命令):
npm install -g @nanonets/graft # 装 CLI,只一次
graft init # 构建图谱 + 接入你的 coding agent
graft init 会询问要把图谱接给哪些 agent,然后扫描代码库、生成 graft/,并在 .claude/(或其他 agent 配置目录)写好 statusline + hooks。
Dry-run 模式(先看再装):
graft init --dry-run # 只展示会改哪些文件,不动手
graft init --agents claude # 跳过提问,只接 Claude Code
其他常用命令:
graft grep "<关键词>" # 在图谱里 grep 概念
graft map # 列出图谱当前节点 / 入口
graft viz # 起一个本地可视化页面
不用全局装也行:npx @nanonets/graft init 等价于上面两条命令。
团队协作:把 init 写入的 .claude/(wiring 配置)commit 进仓库,每个队友各自跑一次 graft build 生成自己的本地图谱——这跟 package.json + node_modules 的协作模式一致。
使用场景与人群
典型场景:
- 中大型 codebase 的 agent 协作:用 Claude Code / Cursor 维护一个几十万行代码仓库,每次开工不再付”重新探索”的 60% 时间成本。
- 多人 agent 团队的上下文一致性:团队成员 A 跑通了的 codebase 理解,团队成员 B 的 agent 也直接复用。
- 新员工 + 新 agent 同时入职:新员工读
graft/理解系统,新 agent 在同一个图谱里找方向。 - Token 成本敏感场景:对 Claude / OpenAI 计费的 token 总量敏感的项目,Graft 的 -42% token 是直接的省钱指标。
目标人群:
- 用 Claude Code / Cursor / Codex 做主力开发工具的全栈工程师
- 维护中大型代码库、技术债务复杂、需要”上下文外挂”的团队
- 对 SWE-bench 类基准敏感、追求 agent accuracy 的 AI 工程师
- 想把”AI 编程”从 demo 升级到生产环境基础设施的工程化导向团队
输入与输出案例
案例 1:基线提升(agent 角度)
Input:
让 Claude Code 在一个真实开源项目(如 PocketBase / ollama / Excalidraw)里完成一个中等复杂度的功能改动。
Output(无 Graft vs 有 Graft):
| 指标 | Cold Claude Code | Claude Code + Graft |
|---|---|---|
| Tool calls | 基准 | -46% |
| Tokens | 基准 | -42% |
| 耗时 | 基准 | -60% |
| 正确率(SWE-bench Verified) | 65% | 75%(+10 pts) |
案例 2:可视化理解(人 + agent 角度)
Input:
graft build在你的仓库跑完,graft viz起一个本地页。
Output:浏览器里呈现 codebase 的节点图——每个节点是一段”系统是怎么连的”自然语言解释,节点之间用 markdown 链接表达调用关系、模块边界、概念层级。人类工程师点开任一节点读到的是”这个 API 是干嘛的、跟谁连、踩过什么坑”;agent 拿到的是”下次动手时不用再 grep 的那部分上下文”。
备注:性能数据来自 162 次控制变量基准(同 agent、同文件工具、只换上下文);SWE-bench 数字由官方 harness 给出;”4× 便宜 / 3× 快”是真实 repo 扫描(PocketBase、ollama、Excalidraw)单任务最大节省值。GitHub 与 npm 数据均截至 2026-08-09。
评论区
登录后可评论。