展示 HN: Graft – Claude Code 的钩子将 grep 令牌减少 42%
为 Claude Code、Cursor、Codex、Gemini 及每个编码代理加速:更快、更便宜,同时对特定于您的代码库的上下文进行理解。便宜最多可达 4 倍,速度快 3 倍,且正确性更好或没有损失。指标:冷 Claude Code,Claude Code 与 graft,工具调用减少基准 +46% 令牌节省基准 +42% 时间节省基准 +60% 正确性 54% 66% (+12 点)效率是162次受控基准测试(相同代理,相同文件工具,仅上下文不同)。正确性通过 SWE-bench 验证,由官方工具评分 —— graft 解决了 66% 测试实例,而冷 Claude Code 的结果为 54%。效率方法 ↓ · SWE-bench ↓ · 每个库的数字 ↓ 内容快速入门 问题 Graft 的作用 基准 SWE-bench 验证 图表是如何构建的 支持的语言 节点中的内容 哪里运行 代理集成 - MCP 服务器 · Claude Code (深度集成) CLI 搜索和定位 ( graft grep / graft map ) 单一代码库和多代码库文件夹 可视化 ( graft viz ) 在您受欢迎的代码库上测试 开发许可证 快速入门 npm install -g @nanonets/graft # 安装 CLI, 一旦 graft init # 构建图并将其连接到 Claude Code 这就是整个设置。 graft init 会询问要连接的编码代理,构建 graft/ 文件,状态行被放入 .claude/,因此从下一个会话开始,Graft 就会在 Claude Code 中运行:它将匹配的节点拉入每个提示, 并在每次循环后在后台重新构建图表。没有守护进程,没有重新索引需要记住,默认情况下也无需运行或维护——图表只是文件。直到您选择,什么都不会被写入。运行 graft init --dry-run 查看它首先会触碰的每个文件,或运行 graft init --agents claude 跳过提示,仅连接 Claude Code。 graft build 会自动将 graft/ 添加到 .gitignore —— 图表是一个本地、可以再生的缓存(像 node_modules),而不是您要提交的东西。您分享的是连接初始化放入 .claude/ 中;每个团队成员运行 graft build 生成自己的图: git add .claude && git commit -m "连接 graft" 不想全局安装? npx @nanonets/graft init 的工作方式相同。 问题 每个任务,您的编码代理都是盲目开始的。在更改内容之前,它会重新探索代码库:grep 一个术语,打开一个文件,跟随一个导入,退出,再试一次。它正在重建一小时前映射的代码库的图景,并将其丢弃。这样的重新发现耗费了大部分运行的工具调用、令牌和延迟,这是纯粹的开销:重复。每个任务再次从零开始支付探索成本。被丢弃。代理所理解的内容随会话的结束而消亡。未共享。下一个团队成员和他们的代理也是从头开始。人类一次性了解代码库。代理则每次都要重新入门。 Graft 所做的 Graft 建立这种理解,并将其写入您的代码库,保存为链接的 markdown 文件夹,每个节点对应系统、API 或概念。真正的解释,而不是符号的列表。每个节点用简单的英语说明系统的一部分做什么以及它如何连接到其他部分,方式就像高级工程师的解释。这是代理实际需要的部分,以跳过探索。它不是函数名的转储。一个真实的图表,您可以阅读。没有嵌入,没有相似搜索,没有索引需要保持温暖。图表是一组链接的文件,您的代理以与读取代码库中的任何其他文件完全相同的方式打开、grep 和跟随。集成到 git 中。图表仅是 graft/ 中的文件。提交它,任何克隆该代码库的人都有它。没有数据库,没有服务器,没有设置。Git 负责同步,过期的图表在审查中显示为差异,而不会在某个外部存储中腐烂。差异与代码共存。当更改移动位置时,您可以在同一拉取请求中的图表差异中看到它,正好在导致更改的代码旁边。您的提供者,您的密钥,您的模型。摘要由您选择的任何提供者编写——OpenAI、Anthropic(原生)、OpenRouter、Fireworks、Groq、本地模型的 LiteLLM 代理——在您自己的密钥下。结构代码图( graft build ,graft check )是确定性的 tree-sitter,根本不调用模型。基准读取图表的代理应该更便宜、更快,而不会错误地获得更多答案。这是整个声明,因此我们进行了测量,而不是声称。工具运行了三种相同 Claude Sonnet 5 代理的变体,使用相同的文件工具:冷(从零开始探索)、Graft(用前推的 graft ask --source 包),和 pull(graft_find_code/graft_file_api 工具,没有注入——上下文仅在请求时支付)。Opus 4.8 评审者使用必要关键词的层次进行正确性评分,因此回答速度快但错误不能通过快来获胜。成本是缓存意识的:读取约 0.1×,写入 1.25×,这是代理实际运行的计费模型。162 次运行,两个代码库(graft 本身和一个真实的 Node/Express 身份验证服务),每个任务分为单文件和多文件问题。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡