给Claude Code装代码图谱,工具调用少47%

一句话摘要:给 Claude Code 接一张本地代码地图,工具调用最多降 47%、Token 降 32%,AI 不再反复翻读源码。

先甩结论,懒人直接看这张表。

你的诉求 推荐工具 关键理由
想要最硬的量化证据 sense(luuuc) 公开 A/B 基准,工具调用 -47%、Token -32% sense README bench
想要零维护、自动同步 codegraph(colbymchenry) 改文件自动更新图谱,索引永不过期 codegraph README
想要全家桶 + CI 评审 CodeGraph(codegraph-ai) 45 个 MCP 工具,PR 自动出分析评论 codegraph-ai/CodeGraph README

提醒一句,GitHub 上有两个重名的仓库,一个是 colbymchenry/codegraph(6.4 万 stars),一个是 codegraph-ai/CodeGraph(51 stars),下文会严格区分,别装错。

你让 Claude Code 改个 bug,它读了 30 个文件还没找对地方

你让 Claude Code 改一个 bug,它读了 30 个文件还没找对地方。这是我和身边不少后端兄弟最近的真实体感,不是段子。

根子不在模型笨。LLM 是个无状态的概率模型,它手里只有你塞进上下文的那堆文本,没有关于你代码库的「地图」。每次新会话,它都像第一次进这个仓库,要从零推导谁调用了谁、改这一行会波及哪些测试。一码一浮生那篇拆解说得很直白,AI 笨,是它在用最原始的方式理解代码,每次都从零开始推导 一码一浮生拆解

人类看代码不是这样。你在这个项目待了半年,脑子里天然有一张心智地图,知道模块边界在哪、改下单逻辑要先看支付回调。AI 没有这张图,所以它只能用最贵的办法补齐认知,也就是不停地 ReadGrepGlob,把文件一个个翻出来读。这也是为什么同一个重构任务,你本人十分钟能定位,Claude Code 要绕半天。

这就是为什么 token 会爆炸,为什么改个小 bug 能刷出几十次工具调用。代价不只是钱,还有上下文被无关文件撑满之后带来的幻觉,它会编造一个根本不存在的依赖关系,因为你给它的线索越多越乱。

说白了,缺的不是一个更聪明的模型,而是一层持久化的代码结构认知。

代码图谱凭什么让 AI 不再从零推导

代码图谱的核心思路只有一句话,把「理解」这件事前置到索引阶段。平时没人问的时候,它先把代码库嚼碎存成一张结构化的关系网,等 Agent 需要时直接来查,而不是让 Agent 现场重新推理。

完整数据流是这样的,源码先经过 tree-sitter 解析,抽出符号和它们之间的关系,调用者、被调用者、继承链、测试归属,再把这些关系落成图谱,配合 bi-encoder + cross-encoder 的语义 embedding,最后通过 MCP 协议暴露给 Claude Code、Cursor 这些 Agent。

关键在于,图谱是确定性的结构查询,不是概率猜测。Agent 问「谁调用了 place_order」,图谱直接返回精确调用列表,而不是靠 LLM 凭记忆「觉得很像」。清醒结界那篇说得对,代码图谱本质是为 AI 编程代理搭建持久化代码地图,让 AI 专注理解业务需求 清醒结界拆解。前端大白话把这件事叫减法革命,代码图谱让代理学会偷懒 前端大白话拆解

正例很清楚,查调用关系、影响面、死代码,图谱秒回且准确。反例也得说,纯靠图谱不能替代语义搜索,比如「这个项目里处理超时重试的惯例是什么」这种模糊意图,还得靠 embedding 语义检索补位。所以主流工具都是图谱加向量双管齐下,不是二选一。

三个能直接接 Claude Code 的开源工具

能直接给 Claude Code 接上的开源代码图谱,2026 年集中冒出来一批,方向出奇一致,把代码理解前置成一张可查询的地图。我把最值得认真看的三個摆在一起对比,先说结论,三者都 100% 本地运行、不把你的源码传到云端,差异只在形态和激进程度。

colbymchenry/codegraph(6.4 万 stars,gh api 2026-08-05)是个 Rust 写的预索引知识图谱,100% 本地、连 Node.js 都不需要,定位是 pre-indexed code knowledge graph,文件变了自动同步,你基本不用管它。它支持 30+ 种语言,涵盖 TypeScript、Python、Go、Rust、Java、C#、C、C++、Ruby 等主流货 codegraph README

luuuc/sense(25 stars,gh api 2026-08-05)是极简派 MCP server,Go 写的单二进制,无 SaaS、无 API key,主打零配置接入,后文量化核心证据就来自它。它只暴露 4 个 MCP 工具,少而精。

codegraph-ai/CodeGraph(51 stars,gh api 2026-08-05)是全家桶派,C 语言写,光 MCP 工具就 45 个(README 写 45、描述里写 42,文中统一说 40+ 个),还带 VS Code 扩展和持久记忆层,野心是把 Agent 的整个代码认知都接管。

形态上,codegraph 走「自动同步的持久地图」路线,sense 走「一个 MCP 二进制极简接入」路线,CodeGraph 走「工具多到用不完的全家桶加 CI」路线。后面两节分别展开实测,先讲量化最硬的那个。

为什么是 2026 年这个节点。上半年 GitNexus 那类把理解前置的思路被反复验证,前端大白话直接称之为 AI 编程的减法革命,让代理学会偷懒 前端大白话拆解。三个工具几乎同时冒头,说明行业共识正在形成,不是某个作者的个人玩具。提醒一句,GitHub 上两个重名仓库一定要分清,colbymchenry/codegraph 是 6.4 万 stars 的本地图谱,codegraph-ai/CodeGraph 是 51 stars 的全家桶,装错就白忙活。

重点实测,sense 凭什么敢把 A/B 基准晒出来

我重点测的是 sense,因为它敢给一份跨 7 个真实仓库的标准 A/B 基准,这是本文量化收益最硬的证据。基准环境是 Claude Code Opus 4.6,仓库覆盖 Discourse、Flask、Next.js、Axum、Gin、Javalin 和一个私有电商项目,规模和语言都够分散,不是拿玩具 demo 糊弄 sense README bench

结果摆出来,工具调用每任务从 19 次降到 10 次,降 47%。Token 每任务从 228K 降到 156K,降 32%。成本每任务从 0.42降到0.42 降到 0.42降到0.31,降 26%。会话时长从 91s 压到 73s,降 19%。更关键的是质量没掉,每 100K token 得分从 0.19 升到 0.30,涨 64%,每分钟得分从 0.28 升到 0.38,涨 37%。同正确性下,工作量大幅下降,这才是减法革命的真义。

sense 只暴露 4 个 MCP 工具,分工很清晰,sense_graph 查符号关系和调用链、死代码,sense_search 用 bi-encoder 加 cross-encoder 混合语义搜索,sense_blast 算影响面和风险分,sense_conventions 从源码检测项目规范,官方称这是别人都做不好的点 sense README。这 4 个工具正好对应 Agent 改代码时最频繁的四类诉求,查关系、搜语义、估影响、守规范。

sense 自身的查询性能也不拉胯。它自己的仓库 382 个文件、4032 个符号,图查询延迟 p50 0.2ms、p95 3ms,影响面分析 p50 0.1ms、p95 10ms,冷启动 48ms,全量扫描 4.9s,增量 2.3s sense README

正例是这份基准够实在,覆盖了不同语言、不同规模的生产级仓库。反例也得讲,sense 只有 25 个 stars,生态还很小,语言支持是 13 种双 tier,比另外两个少,而且本地索引要占磁盘。它适合想要零配置快速验证收益的人,不适合非要全家桶的团队。

这里的得分是官方定义的任务完成质量除以消耗 token 与时间的综合指标,涨 64% 意味着同样的钱办了更多正确的事,不是单纯跑得快。对后端来说,这条比「快了几秒」更有说服力,因为省下的 token 直接等于账单上的数字。

另外两个,自动同步派 codegraph 与全家桶 CodeGraph

codegraph(colbymchenry)的卖点是「你什么都不用管」。进项目跑一句 codegraph init,它生成 .codegraph/ 并构建完整图谱,之后自动监听文件变更,索引永不过期 codegraph README。安装走 curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh,或者 npm i -g @colbymchenry/codegraph,卸载一句 codegraph uninstall 即可 codegraph README。它支持 30+ 种语言,适合丢下一个大仓库就再也不想管索引的人。官方主张就是 fewer tokens、fewer tool calls,它没有公开标准 A/B 基准,你可以用后文的自测办法量自己的仓库。

CodeGraph(codegraph-ai)是工具狂魔路线。45 个 MCP 工具,37 种语言走 tree-sitter,还配 VS Code 扩展和持久记忆层。它有个实用招数,加 --graph-only 标志能跳过 embedding,索引快 10 到 50 倍、不需要 API key,特别适合 CI 或一次性查询 codegraph-ai/CodeGraph README。接入是把下面这段写进 ~/.claude.json

json 复制代码
{"mcpServers":{"codegraph":{"command":"/path/to/codegraph-server","args":["--mcp"]}}}

更妙的是它的 GitHub Action,每个 PR 自动出一段代码图谱分析评论,列影响面、测试缺口、过时文档、建议评审人,底层用 codegraph_pr_context 工具加 --graph-only 实现。它还有个 codegraph-rules-for-agents 仓库,预置规则教 Agent 优先用 codegraph_* 工具而非裸 grep

正例,CodeGraph 的 PR 评审自动化对团队效率提升明显,全家桶一次到位。反例,45 个工具的复杂度不是谁都吃得消,小团队容易陷在配置里。CodeGraph 的持久记忆层值得单说,它把跨会话的代码认知存下来,Agent 第二次进项目不用重新建图,这点对长期维护的大仓库很实用。codegraph 的 auto-sync 也是同理,文件一改图谱跟着变,你永远查的是最新状态,不用手动重建。

顺手提一嘴备选,onixhdz/cartograph(11 stars,Go)做知识图谱加依赖追踪加影响度量,OlsonSoftware/ministr(3 stars,Rust)做 AST 级语义搜索,wenext-limited/grapha(0 stars,Rust)做编译器级理解 gh api 2026-08-05。它们还嫩,但方向一致。

动手接入,5 分钟给 Claude Code 装上 sense

本文环境,macOS 或 Linux,已装 Go 1.21+,或者你嫌配 Go 麻烦直接用官方 install.sh

第一步,安装。

bash 复制代码
curl -fsSL https://luuuc.github.io/sense/install.sh | sh

或者用 Go 直接装。

bash 复制代码
go install github.com/luuuc/sense/cmd/sense@latest

✅ 验证,终端敲 sense --version,能打印版本号就说明二进制进了 PATH,这一步卡住后面全白搭。

第二步,扫描你的项目。

bash 复制代码
cd your-project
sense scan

这一步用 tree-sitter 解析源码、跑 ONNX embedding,把索引写进本地 .sense/ 目录,后续是增量更新,不会每次全量重来 sense README。✅ 验证,目录里出现 .sense/ 且终端打印解析进度、无报错即成功。

第三步,接入 Claude Code。

bash 复制代码
sense setup

它会自动探测 Claude Code、Cursor、Codex CLI、OpenCode,把路由写进 .mcp.jsonCLAUDE.md,并挂上生命周期 hooks 和 skills sense README。✅ 验证,项目根目录多出 .mcp.json,且 CLAUDE.md 里多了 sense 的路由指引,说明 Claude Code 重启后就能看到那 4 个 MCP 工具。

接好之后你让 Claude Code 查「改 place_order 会影响哪些测试」,它会通过 sense_blast 直接拿到影响面清单,而不是满仓库翻。顺手说,sense_conventions 还能从你的代码里反推出项目规范,帮 Agent 少犯风格错误。

接好之后想确认生效,可以开个新会话让 Claude Code 列一下可用工具,看到 sense_graphsense_searchsense_blastsense_conventions 四个就说明通了。第一次查建议从 sense_graph 入手,比如问「User 类被哪些地方继承」,图谱会直接甩调用链,比 grep 出来的散装结果清爽太多。后续每天进项目跑一次 sense scan 做增量更新即可,2.3s 搞定,不必全量重来 sense README

常见报错。 一是 sense: command not found,多半是安装路径没进 PATH,把 $GOPATH/bin 加到 .zshrc 再 source 即可。二是 go install 报版本不匹配,Go 低于 1.21 会失败,升级 Go 后重试。如果之前装过旧版本,先 sense uninstall 清干净再装,避免 .sense/ 残留旧索引导致查询结果串味。

量化收益怎么来的,以及你怎么自己复测

前面 sense 的 A/B 是现成证据,直接引用。但 codegraph 和 CodeGraph 没有公开基准,你得自己量,方法不复杂。先定一组固定任务,比如「找出调用 X 的所有地方」「改 Y 会影响哪些测试」,再对比接图谱前后的回答正确性和引用文件数,数字才有可比性。

工具调用数,Claude Code 里用 /status 看,或者观察工具调用日志,也可以上 codeburn 这类监控 31 个 AI 编程工具 token 和成本的小工具。Token 数用 /cost 命令,或者同样用 codeburn。命中率靠那组固定任务对比前后来评,别只看绝对值。

测的时候有个坑要说,别只看数字下降就开心。要确认正确性没掉,sense 的基准之所以可信,是因为它明说了同正确性下工作量下降。你自测时如果调用数降了但答案开始出错,那是 Agent 偷懒过头了,得调 MCP 工具的提示词或索引范围。我建议每次改动后跑同一组固定任务做回归,把「调用数、Token、正确率」三栏一起记,趋势才看得清。

举个具体的,固定任务可以设成「找出调用 send_email 的所有函数」和「删除 legacy_auth 会破坏哪些测试」,接图谱前后各跑一遍,记录 Agent 引用的文件数和答案正确率。如果接了之后引用文件数从 22 降到 5、正确率不变,那 -77% 的检索噪声就是实打实的收益,不是 benchmark 里的漂亮数字。

局限、边界与选型建议

先把丑话说前头,本地毫秒级查询是真,但索引也要付出代价。sense 自己 382 个文件全量扫描要 4.9s,索引大概占 100 到 200MB 磁盘 sense README。codegraph 支持 30+ 种语言,索引体积只会更大。语义搜索依赖 embedding 质量,cross-encoder 翻车的时候检索结果会跑偏,这时候图谱的结构化关系能兜一部分底,但模糊意图还是可能失准。

选型我给三条判断。第一,小项目值不值得上。值得,但收益随代码量增大才显著,小项目先上 sense 这种零配置的最划算,别一上来就折腾全家桶。第二,要零维护选 codegraph,改文件自动同步、索引永不过期,你基本忘了它存在就行。第三,要团队级 CI 评审选 CodeGraph,PR 自动出分析评论这一招对评审效率提升明显,前提是团队愿意接受 45 个工具的复杂度。

隐私这块可以放心,三个主推工具全 100% 本地、无 API key,源码不出本机 gh api 2026-08-05。如果你的合规要求是数据绝不能出内网,本地工具天然比云端 MCP 更稳,这也是我更推荐本地方案而非 SaaS 图谱的原因。

正例,本地方案零外发、索引一次长期受益。反例,云端 MCP 省去本地算力,但源码要出网,金融、政务类项目基本一票否决。按你的合规边界选,别盲目追新。

还有个细节,本地索引是增量更新,但大仓库首次全量扫描的 4.9s 只是 sense 自身 382 文件的水准,几万文件的项目首扫会按语言规模增长,建议在空闲时跑一次,别卡在改 bug 的正中间。索引体积同理,代码量越大占得越多,上之前先盘一下磁盘余量。

常见问题

代码图谱和 RAG、向量检索有什么区别?

RAG 是语义块检索,给一段相似文本让你猜。代码图谱是结构化的关系网,调用者、被调用者、继承、影响面都是确定边。实际工具一般两者并用,图谱管结构、向量管模糊语义,不是替代关系。

接了图谱,Claude Code 会变慢吗?

不会,查询是毫秒级。sense 图查询 p50 0.2ms、p95 3ms,影响面 p50 0.1ms,冷启动 48ms sense README。Agent 少翻几十个文件省下的时间,远大于查一次图谱的耗时。

大仓库索引要多久、占多少磁盘和内存?

以 sense 自身 382 文件为例,全量扫描 4.9s、增量 2.3s,索引约 100 到 200MB sense README。codegraph 支持 30+ 种语言,规模更大的仓库索引体积相应更大,但都是本地一次性构建、之后增量更新。

本地工具和云端 MCP,数据隐私怎么选?

三个主推工具均 100% 本地、无 API key,源码不出本机 gh api 2026-08-05。涉及内网合规的场景,本地方案天然优于任何云端 MCP。

我的小项目值得上吗?

值得,但收益随代码量增大而显著。小项目先上 sense 这种零配置 MCP,跑通看到调用数和 Token 下降后,再决定要不要换全家桶。

我的判断

代码图谱不是又一个花活,它是 AI 编程正在发生的减法革命。让 Agent 从「每次从零推导」变成「读一张持久地图」,token、工具调用、幻觉率一起往下掉,这个账任何被 Claude Code 折磨过的后端都算得过来。我判断 2026 年给编程 Agent 配本地代码地图会从可选项变成标配,就像当年 linter 从奢侈品变必装。

如果你也被 Claude Code 的 token 爆炸和反复翻源码搞烦了,这篇可以直接甩给那个正在做选型的同事。下一篇我打算实测把 sense 接进 GitHub Action,让每个 PR 自动出影响面分析评论,感兴趣的话点个星标,更新了你第一时间收到。

相关推荐
ddshub_cc2 小时前
Claude Fable 5.1 Prompt Engineering:长程任务与编程 Agent 怎么写提示
ai·prompt·api·ai编程·claude·claude code·fable 5.1
陈大鱼头12 小时前
天才陨落了!三大 AI 集体不可用!
gpt·claude·grok
ClouGence18 小时前
AI 定时任务火了?写日报、看新闻、做计划、盯价格,它都能自动跑
chatgpt·aigc·claude
ServBay19 小时前
Claude Fable 5.1正式上线:Claude 最强,还降价?
aigc·ai编程·claude
plainGeekDev19 小时前
软件工程术语库·系统与工程化篇
aigc·ai编程·claude
roamingcode20 小时前
4.5 小时,从一句话需求到可安装的 Chrome 插件:一次 AI 结对开发的完整复盘
前端·人工智能·chrome·claude·codex
deepseek231 天前
Claude Fable 5.1 深度拆解:推理强度、缓存降价,Agent 工作流成本如何省 45%
大模型·claude·ai agent
Flynt2 天前
browser-use团队新作:让编程Agent帮你剪视频,核心设计思路有点意思
开源·agent·claude
ServBay2 天前
Claude 账号可能被盗刷,而你毫无察觉
api·ai编程·claude