首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >这个开源工具把 token 消耗节省了98%

这个开源工具把 token 消耗节省了98%

作者头像
勇哥AI笔记
发布2026-05-20 21:43:07
发布2026-05-20 21:43:07
3840
举报
文章被收录于专栏:技术人生黄勇技术人生黄勇

昨天文章不会发生人工智能导致的就业危机中提到:“在大型复杂项目中,大模型就因为上下文过长,因为项目的缘故,前面塞入了必要的项目约束,会导致中间执行时,降智的感觉。”

根本缺陷是大模型上下文窗口有限,目前最大也就1M,而且目测短期内,不太可能再扩展了。

我想过很多办法:精准搜索记忆,精简提示词,定期整理项目相关约束文档。

但是还有一个场景,就是在大模型执行任务,调用工具时,动态加载的上下文无法控制。

今天刷到这个工具,就是针对这个场景开发的。

40%的上下文是垃圾数据

AI 编程代理每次调用工具,原始数据是全量输入上下文的。

一次 Playwright 访问网站的页面快照,大约 56 KB。

搜索 20 条 GitHub Issues,大约59 KB。

分析 500 行 nginx 访问日志,大约45 KB。

项目作者统计过,一个包含 20 次工具调用的简单任务,50 轮对话后,光工具输出就向模型灌入了 30 MB 的 token。

等你跑到 30 分钟的时候,上下文窗口已经有 40% 被这些原始数据占满了。

于是触发系统自动「压缩」上下文,把历史消息总结成简短版本。

一个问题就是我现在用的Codex, WorkBuddy 都会在执行自动压缩后,频发卡死状态。

导致不得不停止当前任务,再开一个新会话,让AI 编程智能体继续任务。

其次压缩的过程中,正在编辑的文件列表、进行中的任务状态、刚刚被修复的错误方案等等信息,你也不知道大模型会把你在意的某项规则会不会压缩掉。

所以我现在的一个编程习惯,都是不等智能体达到窗口上限,就尽量结束当前相对完整的原子任务,再开新会话继续后面开发任务。

最后从成本上考虑,我也希望能有一个让智能体每次读必要的信息,从而节约更多的成本。

虽然目前各家大模型厂家都在打价格战:

“OpenAI 宣布企业从 Claude Code 迁移到 Codex 免费用两个月“、

”Deepseek-V4-Pro 模型 2.5折“,但是迟早有一天,价格要恢复到正常水平,就如同当年的滴滴与快的的打车软件大战。

context-mode:砍掉 98% 上下文浪费

context-mode,一个 MCP 服务器,它在代理与工具之间加了一层中间件。

这非常符合我做架构师的认知:“计算机领域中的所有问题都可以通过增加一个中间层来解决”。

第一层措施:沙箱隔离。

context-mode 提供了 ctx_execute 等一系列沙箱工具。

代码在隔离子进程中跑,只把 stdout 的结论送进上下文,原始数据全部拦在门外。

例如用 Claude Code 分析 500 行访问日志:

本来要 45 KB 全部进上下文。

只需要在沙箱里写一段 JS,统计 Top 5 IP 和请求数,输出只有一行:Top 5 IPs: [["192.168.1.1",342],["10.0.0.5",287],...]。

45 KB 变成 155 字节,省了 99.7%。

字节跳动、微软、Google 这些团队都在用这个工具处理大规模代码库分析。

第二层措施,会话连续性。

context-mode 在每次工具调用后,通过 PostToolUse Hook 把关键事件写进本地 SQLite。

包括你编辑了哪些文件、做了什么 Git 操作、遇到了什么错误又是怎么修好的、你对模型做的每一次纠正。

当上下文窗口被触发压缩时,PreCompact Hook 会在清除前构建一个不超过 2KB 的 XML 快照。

压缩结束后,SessionStart Hook 从 SQLite 用 BM25 检索当前任务相关的状态,生成一份会话指南注入进来。

模型读到的是精准描述:「你上次在改 UserService.ts 第 142 行,正在重构认证逻辑,之前遇到过 bcrypt 版本冲突,已经用 bcryptjs 替换了。你要求用 async/await 而不是 Promise.then。」

而不是「你是谁。。。。你在哪。。。。你要干什么诸如此类」这类很冗长的描述文字。

实测效果:会话时长从 30 分钟延长到 3 小时。

第三层措施,用代码思考。

工具描述里直接写了一条强制指令:如果你需要分析、计数、过滤或处理数据,写代码来完成,不要直接把原始数据读进上下文。

一个脚本替代十次工具调用,节省 100 倍上下文。

原来 AI 编程助手读 47 个文件要消耗 700 KB 上下文。

现在一行 ctx_execute,脚本遍历 47 个文件,只输出分析结论,3.6 KB 搞定。

测试结果

场景

原始输出

压缩后

缩减

Playwright 快照

56.2 KB

299 B

99.5%

20 条 GitHub Issues

58.9 KB

1.1 KB

98%

访问日志分析

45.1 KB

155 B

99.7%

仓库研究(子代理)

986 KB

62 KB

94%

完整会话

315 KB

5.4 KB

98%

一个子代理跑完整个代码库的研究,原始输出 986 KB。

用 context-mode 的 ctx_batch_execute 一次调用,多个命令并发执行,最终只有 62 KB 进入上下文。

省了 94%。

安装

用的如果是 Claude Code,安装最省事。

代码语言:javascript
复制
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode

重启 Claude Code,运行 /context-mode:ctx-doctor 验证一下。

状态栏加上统计命令,实时看到省了多少数据: 本次节省 · 跨会话节省 · % 效率

如果你用 Gemini CLI、VS Code Copilot、Cursor 或者 Codex (我用的就是这个),也有对应的安装方式。

context-mode 目前支持 15 个主流 AI 编程平台,覆盖了从 Claude Code 的全自动插件市场安装,到 Zed、Antigravity 的纯 MCP 手动配置。

沙箱执行器内置了 12 种语言运行时。

工具完全本地运行,零遥测、零云同步、零账号需求,代码全在本地 SQLite 里。

项目在创建后,也在不断进化:v1 是规则压缩,基于正则过滤。

v2 是智能摘要,按命令类型分类处理。

v3 的方向是用小模型压缩,大模型推理,已经不只是简单的文本截断了。

如果你也是重度 AI 编程工具用户,试试 context-mode。

欢迎使用后回来留言。

Github仓库地址:https://github.com/mksglu/context-mode。


推荐阅读:

Hermes Agent 桌面端:工作台 + Windows/Mac 双端 + 多智能体协作

MemPrivacy:面向端云智能体的隐私保护个性化记忆管理框架

Anthropic 百万行代码库的官方最佳实践

Lazyweb 免费的 25.7 万截图库|让 AI 写出好看的前端页面

Multica:让 AI 智能体变为你的员工

给 AI 装上真实浏览器:camofox-browser 实战

ChatGPT 里的"哥布林(goblins)"是怎么来的?

不用一个违禁词 让 Claude 说出炸药配方|红队攻击实录

大模型黑箱揭秘:GPT、Claude、Gemini、Grok、Hermes 系统提示词全公开

jcode 深度解析:纯 Rust 打造,它凭什么号称「最强 Coding Agent」?

Claude Code 写攻击脚本 OpenClaw 自动指挥|900家公司3万密钥外泄

没人整理过的 DeepSeek 进化史:25篇论文里的技术蜕变

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 技术人生黄勇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 40%的上下文是垃圾数据
  • context-mode:砍掉 98% 上下文浪费
  • 测试结果
  • 安装
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档