AI 编程 Token 烧钱太快?这 5 个开源工具帮你砍掉 80%

你有没有算过,每天用 Claude Code 写代码,到底有多少 Token 是白白烧掉的?

一位开发者做了统计:30 分钟的 Claude Code 编程 session,光是 Shell 命令输出,就消耗了约 11.8 万 Token。而这 11.8 万里面,有 89% 根本不需要进入 AI 的上下文。

也就是说,你在为 AI 阅读 cargo test 的 262 条通过测试记录付钱,而 AI 真正需要的,只是「哪几个失败了」。

这不是个例。这是所有 AI 编程工具用户的共同痛点,只是大多数人没意识到。

今天介绍 5 个专门解决这个问题的开源工具,从 5 个不同维度,帮你把 Token 消耗系统性地降下来。


项目地址: github.com/rtk-ai/rtk[1]

RTK,全名 Rust Token Killer,是一个用 Rust 写的 CLI 代理。它的工作原理极其简单:在命令输出进入 AI 上下文之前,先过滤一遍

你运行 git status,AI 实际收到的是 RTK 压缩后的版本。你运行 cargo test,AI 看到的不是 262 行通过记录,而是一行「PASSED: 262/262」,外加所有失败项的详细信息。

实测数据来自 2900 多条真实开发命令:

|
命令
|
Token 节省率
|
| --- | --- |
| cargo test |
91.8%
|
| git status |
80.8%
|
| find |
78.3%
|
| grep |
49.5%
|
|
综合平均
| 89% |

一个 10 人开发团队,按这个比例估算,每月可以少烧约 $1,750 的 API 费用。

安装一行命令搞定,支持 Claude Code、Cursor、Gemini CLI、Codex、Windsurf、Cline 等所有主流 AI 编程工具:

brew install rtk
rtk init -g   # Claude Code / Copilot 默认配置

安装后,RTK 会在 Claude Code 里注入一个 PreToolUse Hook,自动把 git status 改写成 rtk git status你什么都不用改,照常用就行。

🪨 原则:错误信息、测试失败、diff 内容完整保留,只压缩 AI 不需要的噪音。


第二层:封锁工具输出洪水 — Context Mode

项目地址: github.com/mksglu/context-mode[2]

RTK 解决的是终端命令的噪音,Context Mode 解决的是 MCP 工具调用的输出洪水

场景感受一下:你让 AI 用 Playwright 截一个页面快照,原始输出 56 KB;你让它拉 20 条 GitHub Issue,原始输出 59 KB;你让它读一段访问日志,45 KB

30 分钟后,你的上下文窗口有 40% 被这些原始数据占满了。当 AI 开始压缩对话以腾出空间,它会「忘」掉正在编辑哪个文件、当前任务进行到哪一步。

Context Mode 是一个 MCP 服务器,用四种策略解决这个问题:

1. 沙箱化工具输出 — 315 KB 的原始数据不进主上下文,压缩成 5.4 KB 的摘要,减少 98%

2. Session 连续性追踪 — 所有文件编辑、Git 操作、任务状态、报错记录都写入 SQLite。对话被压缩时,不是把数据堆回上下文,而是通过 BM25 全文检索按需召回。

3. 输出 Token 压缩 — AI 自身的回复也被约束,减少废话和客套语,输出 Token 降低 65-75%。

安装也很简单:

claude mcp add context-mode -- npx -y context-mode

第三层:给 AI 一张项目地图 — Graphify

项目地址: github.com/safishamsi/graphify[3]

前两个工具是「减少噪音进入上下文」,Graphify 解决的是另一个问题:AI 理解你的项目,根本不需要把整个代码库塞进上下文

传统做法是让 AI 用 grep、glob 一个文件一个文件地翻。52 个文件的项目,每次提问可能要读十几个文件,消耗大量 Token,还经常找不到关键信息。

Graphify 的做法是:一次性把项目转成知识图谱,之后每次查询只需要走图,不用重读文件

在助手里输入 /graphify,它会:

  • • 用 tree-sitter 做 AST 静态分析,提取代码结构(本地处理,无网络请求)

  • • 用 LLM 提取文档、PDF、图片、视频里的语义信息

  • • 构建一张包含函数调用关系、架构决策、模块依赖的知识图谱

输出三个文件:

graphify-out/
├── graph.html        # 可交互的图谱可视化
├── GRAPH_REPORT.md   # 关键概念、隐藏关联、建议问题
└── graph.json        # 完整图数据,可随时查询

实测数据:52 个文件(代码+文档+图片)的项目,每次查询 Token 消耗减少 71 倍以上

支持 35 种编程语言,以及 PDF、Markdown、图片、视频(Whisper 转录)、甚至 Google Docs。

pip install graphifyy
graphify install

第四层:让 AI 少废话 — Caveman

项目地址: github.com/JuliusBrussee/caveman[4]

前三个工具都在管「输入 Token」。Caveman 专治「输出 Token 过多」。

Claude 默认回复风格极其啰嗦。解释一个 React 重渲染 bug,它能写 5 行:

「您的 React 组件重新渲染的原因很可能是因为您在每个渲染周期都创建了一个新的对象引用。当您将内联对象作为 prop 传递时,React 的浅比较每次都会将其视为不同的对象,从而触发重新渲染。我建议使用 useMemo 来记忆该对象。」

Caveman 装上去之后,同样的答案变成:

「每次渲染新建对象引用。内联对象 prop = 新引用 = 触发重渲染。useMemo 包裹。」

技术内容完全保留,废话全部干掉。

基于真实 Claude API 的测试,10 个典型编程任务,平均输出 Token 减少 65%,最高减少 87%

有趣的是,2026 年一篇论文发现:约束大模型给出简短回答,在某些基准测试上准确率反而提升了 26 分。话少不等于质量差。

curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash

安装后输入 /caveman 激活,支持 lite / full / ultra 三档压缩强度。代码块、命令、URL、文件路径等技术内容完全不受影响,只压缩自然语言废话。


第五层:跨 Session 记忆复用 — memsearch

项目地址: github.com/zilliztech/memsearch[5]

前四个工具解决的是单次 session 内的 Token 浪费。memsearch 解决的是:每次开新 session,为什么要把上次说过的话重新说一遍

你上次跟 AI 说「我们的部署用 Kubernetes 三副本,Redis 做 session 存储,JWT 有效期 24 小时」。新 session 开始,AI 什么都不记得,你只能再说一遍。

memsearch 的机制是:每次对话结束,用轻量 LLM(Haiku 级别)自动总结要点,写入本地 Markdown 文件,再用 Milvus 向量数据库建索引。下次开 session,它会自动检索相关记忆注入上下文。

关键设计:记忆召回在隔离的子上下文里完成,只有最终摘要返回主对话。中间的检索过程不污染主上下文,不消耗额外 Token。

存储格式是纯 Markdown,人类可读、可编辑、可 git 管理。不是黑盒,你随时知道 AI「记住」了什么。

# 在 Claude Code 中:
/plugin marketplace add zilliztech/memsearch
/plugin install memsearch

支持 Claude Code、Codex、OpenClaw、OpenCode,跨平台共享同一份记忆库。


怎么组合使用?

这 5 个工具分工明确,互不冲突:

|
工具
|
解决什么
|
节省来源
|
| --- | --- | --- |
| RTK |
终端命令输出噪音
|
输入 Token ↓ 89%
|
| Context Mode |
MCP 工具原始数据
|
输入 Token ↓ 98%
|
| Graphify |
项目理解重复读文件
|
查询 Token ↓ 71x
|
| Caveman |
AI 自身回复啰嗦
|
输出 Token ↓ 65%
|
| memsearch |
跨 Session 重复交代背景
|
历史 Token 复用
|

建议的安装顺序:

第一步,先装 RTK + Context Mode + Caveman,这三个立竿见影,装上就能感受到 session 变长、回复变快。

第二步,再装 Graphify,在复杂项目上效果最明显。第一次构建图谱需要一点时间,之后每次查询都能显著减少 AI 翻文件的动作。

第三步,装 memsearch,做长期积累。项目进行越久,积累的记忆越有价值,重复交代背景的成本越低。


Token 不是浪费在推理上的,浪费在噪音里的。每一个 cargo test 的 262 条通过记录,每一个 Playwright 快照的 56 KB 原始数据,每一句「好的,我很乐意帮助您」,都是可以不进上下文的。

这 5 个工具,把这些该省的地方都省掉了。

引用链接

[1] github.com/rtk-ai/rtk: https://github.com/rtk-ai/rtk[2] github.com/mksglu/context-mode: https://github.com/mksglu/context-mode[3] github.com/safishamsi/graphify: https://github.com/safishamsi/graphify[4] github.com/JuliusBrussee/caveman: https://github.com/JuliusBrussee/caveman[5] github.com/zilliztech/memsearch: https://github.com/zilliztech/memsearch

posted @ 2026-05-13 16:08  雨梦山人  阅读(725)  评论(0)    收藏  举报