用 codegraph 把 token 消耗砍掉 50% 过去我们开发主要使用 Claude Code 按量付费。随着团队里 AI 编程使用越来越频繁token 消耗开始变成一个需要认真关注的问题。为了控制成本我们在几个月前切换到了阿里云 token plan。刚开始我们并没有特别关注每个人的消耗差异都是团队统一使用整体看账单只知道 token 在快速增长。这个月为了更准确地了解实际使用情况同时也想验证 codegraph 是否真的能够降低代码探索成本我们给每个人分配了独立席位开始观察不同使用习惯下的 token 消耗。结果出现了一个有意思的现象企业微信截图_1783580804459315 天后5 个席位里已经有 1 个额度耗尽需要额外充值另外两个也接近耗尽。而唯一一个坚持每个新项目执行codegraph init -i的人恰好是目前消耗最低的那个。这不是一次严格控制变量的实验。大家负责的任务不同项目复杂度也不同不能简单地说所有差异都来自 codegraph。但这个结果足够引起我们的注意为什么同样使用 Claude Code有的人 token 很快耗尽而有的人可以节省一半以上进一步分析后我们发现真正消耗大量 token 的地方并不是模型本身而是 Claude Code 默认的代码探索方式。这篇文章记录我们的一次实际测试一个本地代码索引工具为什么可能让 Claude Code 的 token 消耗降低 50% 以上。烧 token 的真正原因不是模型是 Read很多人以为 token 贵是因为模型升级、上下文变长。这只是表层原因。真正吞掉 token 的是 Claude Code 的默认探索模式Grep Read 循环。举个真实的例子。我问 Claude Code「pendingUrlNav 的 resolve 流程涉及哪些模块怎么从 web 端调到 daemon 的」如果不干预Claude Code 会这么干grep “pendingUrlNav” —— 命中 KnowledgeBasePage.tsxRead KnowledgeBasePage.tsx —— 整个文件 800 行读进来grep “resolveCanonicalPath” —— 命中 knowledge.tsRead knowledge.ts —— 又是 500 行grep “resolve” in routes/ —— 命中 knowledge.ts:185再 Read 一次 routes 文件附近几行每一次 Read 整文件都把大量无关代码塞进上下文。KnowledgeBasePage.tsx 里只有 resolveUrlFileNavigation 和那个 useEffect 跟我的问题有关但 Claude Code 读进来的是整个组件——包括 import 列表、样式、其他十几个 hook、其他几十个 handler。问题不在于读得多问题在于读了不该读的。一个 800 行的文件里跟问题相关的可能只有 30 行。但 Read 工具没有只读相关部分的能力——它只能整文件进。codegraph 是什么把代码变成可查询的结构我不想花篇幅讲它的实现tree-sitter 解析 AST → SQLite 存节点和边 → MCP server 提供查询接口。从用户视角看它就做了一件事把代码从一堆文本文件变成一个可以按符号、按调用关系查询的数据库。装好之后Claude Code 多了一组 codegraph_* 工具。同样的那个问题用 codegraph 走一遍问题 工具 一次调用拿到什么「pendingUrlNav 在哪定义」 codegraph_search 文件路径 行号 签名「这个流程涉及哪些模块」 codegraph_context 入口符号 相关符号 关键源码片段「几个相关函数的源码」 codegraph_explore 多个文件的相关符号片段不是整文件「A 怎么调到 B」 codegraph_trace 完整调用链含动态分发跳板关键差别在 codegraph_explore它返回的是符号级的源码片段不是文件级。一个 800 行的文件如果跟你的问题有关的只有 resolveUrlFileNavigation 那 12 行它就只返回那 12 行。三步装好 codegraph安装 CLI不需要预装 Node.js一行命令拿下对应平台的二进制macOS / Linuxcurl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | shWindows (PowerShell)irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex如果你已经装了 Node也可以走 npm任意版本通用npx colbymchenry/codegraph2. 接入你的 agent新开一个终端跑安装器把 codegraph 接到你常用的 AI 编程工具上codegraph install这一步会自动检测并配置 Claude Code、Cursor、Codex CLI、opencode、Hermes Agent、Gemini CLI、Antigravity IDE、Kiro 等主流 agent——把 CodeGraph MCP server 写进各自的配置。两个容易踩的坑第 1 步装 CLI 不会自动接入 agent。必须跑一次 codegraph installagent 才知道 codegraph 存在。codegraph install 只接线不索引代码。每个项目的图谱构建是下一步单独做的事。3. 给每个项目初始化cd your-projectcodegraph init这一步才真正把当前项目解析成符号图谱。每个项目都要单独 init 一次之后文件改动会通过 watcher 增量同步不用重复 init。实测同一个问题两条路径我在项目200 个 TypeScript 文件上跑了同一个问题分两次会话指标 Grep/Read 路径 codegraph 路径Input token 69.4k 23.2kCache read 423.6k 194.2k工具调用次数 6-8 次 5 次单会话成本 $0.60 $0.27节省 — 66% input / 55% 成本需要诚实说明codegraph 路径其实走了一次弯路——codegraph_context 用自然语言提问时它把 “resolve” 匹配到了不相关的 agent binary 解析函数agent 不得不补一次 codegraph_search 才找到正确符号。即便如此token 消耗仍然只有 Grep/Read 路径的三分之一。这背后的账很好算一次错的 codegraph 查询代价是几千 token返回几个不相关符号的签名一次错的 Grep 代价是几百 token匹配行但为了补救这次 Grep 而触发的整文件 Read代价是几万 token。整文件 Read 才是真正的 token 黑洞。团队 5 席位的对比回到开头的账单。按 1398 元/席、25 万 credits/席算5 个席位总共投入近 7000 元、125 万 credits。如果全团队都按 codegraph 路径走按 50% 节省算每月能省下相当于 2.5 个席位的额度——也就是近 3500 元、62.5 万 credits。ROI 显而易见。这不是用了新工具提高了效率那种难以量化的收益是直接从账单里能看到的数字。怎么养成习惯讲真codegraph 不是装上就自动省 token 的。Claude Code 默认还是优先用 Grep/Read需要在项目的 CLAUDE.md 里写死规则强制使用。我自己项目里的 CLAUDE.md 有这么一段CodeGraph问题工具“X 在哪定义”codegraph_search“什么调用 Y”codegraph_callers“X 怎么到达 Y”codegraph_trace“这个任务需要哪些上下文”codegraph_context更重要的是写反模式——告诉 Claude Code 不要做什么不要 codegraph_search codegraph_node 链式调用用 codegraph_context 一次搞定不要循环 codegraph_node 查多个符号用 codegraph_explore 一次拿完不要用 grep 验证 codegraph 的结果AST 解析已经权威grep 反而更慢更不准不要把探索委派给 sub-agentsub-agent 重复 codegraph 已做的工作这些规则的存在本身就说明不写死Claude Code 会按默认 Grep/Read 模式跑token 照样烧。边界什么时候 codegraph 不省实事求是地讲几个不适用场景项目太小50 个文件——Grep 就够了codegraph 的索引 overhead 反而拖慢查字符串内容log 文本、注释、配置值——codegraph 是 AST 索引不索引字符串内容这种场景必须用 Grep代码刚改完还没重新索引——codegraph 有 ~1 秒的索引延迟刚改的代码要等同步或者直接 Read非主语言的大段配置/资源文件——YAML、JSON、Markdown 这些 codegraph 不解析我的经验是这些场景加起来大概占 20% 的探索需求。剩下 80% 的代码理解类问题codegraph 都能省。写在最后AI 编程工具的 token 经济学目前被严重低估了。大家关注模型能力、上下文窗口、agent 框架但很少有人认真谈每一次工具调用的 token 成本。AI 编程进入第二阶段以后真正昂贵的已经不是模型而是上下文。当 Agent 一次次 Read 整个仓库时我们买单的其实不是 Claude而是低效的代码探索方式。codegraph 的价值不是让模型更聪明而是让模型少走弯路。今天节省的是 token未来节省的会是每一个 Agent 在大型代码库里的搜索成本。