省 token 的第一性原理:把「不用推理的活」,从模型手里拿回来
a0_省token总纲/公众号正文.md;正文「复制到公众号」版在 公众号正文_公众号版.html;配图 2 张已 HTML 化重做,上传到公众号素材库后在正文对应位置插入即可。我是行途,一线技术经理,带团队也写代码。过去 8 个月,公司几十个人天天用 coding agent,烧掉了上百亿 token——用久了,「省 token」就成了肌肉记忆:让 AI「少说点」、关掉思考、换个便宜点的模型。
但上个月,我把这 8 个月的账单导出统计,发现一个反直觉到有点讽刺的事实:
AI 说出来的话(输出),只占 token 总量的 0.4%;而它反复重读的「上下文」(缓存读),占了 97.7%。
(注:0.4% 是数 token 个数。按钱算,输出单价贵 5 倍,会占到约 14.6%。我全文按个数说。)
缓存命中率为什么这么高?这个后面单独拆一篇,今天先记住结论:大头在缓存读。
也就是说——你拼命让 AI 少说话,省的是那个只占 0.4% 的小头;真正的大头,97.7%,你压根没碰。
一句话结论(可引用):省 token 的本质 = 把「不用推理的活」(索引、检索、压缩、搬运、客套)从模型手里拿回来,交给确定性的系统;只把「需要推理的活」(理解、设计、生成、判断)留给模型。模型贵在「想」,不贵在「搬」。
一、省 token 先纠正认知:token 到底烧在哪
一个 AI 编程工具,每跑一次,token 的去向只有三个地方:
| 去向 | 是什么 | 占比(数量口径) |
|---|---|---|
| 输入 | 你这次新喂进去的内容 | 1.9% |
| 缓存读 | 对话历史、工具结果、系统提示词这些跨轮次被反复重读的内容 | 97.7% |
| 输出 | AI 生成的话 | 0.4% |
你天天琢磨「怎么让 AI 少说两句」「关掉思考省 token」,全是在那 0.4% 里抠。而 97.7% 的缓存读,是 AI 每次对话都要重新读一遍的「固定上下文」——这些才是账单上的大头。
缓存读便宜(按原价 1/10 计价),但它不免费。它吃掉的是另一件更贵的东西——模型的注意力。上下文越杂,模型越容易在噪音里迷路。
二、省 token 的第一性原理:token 只有两种
- 需要 AI 推理的:理解需求、设计方案、写代码、判断对错。这类活,只有模型能干。
- 不需要 AI 推理的:索引代码、检索文件、压缩命令输出、搬运数据、写客套话。这类活,模型干是浪费。
省 token 的本质,一句话:把「不用推理的活」,从模型手里拿回来,交给确定性的系统(脚本、工具、缓存)。模型贵在「想」,不贵在「搬」。
打个比方:你花高薪请了个架构师,结果天天让他干「把文件从 A 拷到 B」——这不是省钱,这是浪费。
这条思想的关键好处是:它不挑工具。你用 Claude Code、Codex、WorkBuddy、豆包、Cursor,这套「该模型的只模型、该系统的只系统」都成立。同一套 hook,我从 Claude Code 拆下来,装到 Codex 上照用不误。
这不是我拍脑袋:业内也早就这么想
- Rich Sutton《The Bitter Lesson》(2019):强化学习之父、图灵奖得主的核心论断——能随算力扩展的「通用方法」最终胜过人类硬编码的规则。「规则是愿望,钩子是墙」正是这条规律在 token 成本场景的投影。
- Anthropic《Effective Context Engineering for AI Agents》(2025):明确把「Just-in-time 上下文」列为 agent 工程核心策略——别预先塞满,按需动态加载。
- Andrej Karpathy:「Context engineering 是一门为下一步填充恰当时机的恰当信息的艺术与科学。」
三、省 token 的六层:把「不用推理的活」一层层剥离
下面每层我都用一个工具举例(来自 Claude Code 的实测),但这六层本身不是某个工具的配置,是「让模型只干推理」这个思想的六种落法。
四、省 token 的两条底层律(比工具更底层)
律 1:规则是愿望,钩子是墙。实测规则遵从率只有 70%–90%(随任务和表达方式波动)。靠「自觉」省 token 靠不住,真正稳的是钩子(hooks):把约束变成系统级硬墙。我写过 20 多条「请不要 X」的规矩,实测只执行了七到九成——不如直接上一个 hook,比口头叮嘱管用。
律 2:注意力比 token 更贵。一份 128K 上下文塞 70% 噪音,模型表现往往不如精心管理到 32K 的干净上下文。token 省下来是账面的,模型在噪音里迷路才是真亏。
五、收束:省 token 真正的杠杆是思想,不是配置
你换 Claude、换 Codex、换 WorkBuddy、换豆包,界面在变、价格在变、榜单在变。但「把不用推理的活从模型手里拿回来交给系统」这条,从第一天到今天都成立。
配置三个月就过期,这条思想我今天还能拿去改 Codex、改豆包。省钱的不是哪套配置,是你脑子里那条「模型只干推理」。
这个系列我会一周写 1–2 篇。每篇只拆一层,第一篇讲思想,下一篇拆检索层——那是我账单上省得最狠的一块。
下一篇我会拆具体的一层——检索层,讲讲怎么用图查询把「20 次 grep」打到「3 次查询」,那是省 token 最大的一块肥肉。
六层速查表(建议收藏)
| 层 | 动作 | 效果 |
|---|---|---|
| ① 需求层 | Spec 先文档 | 省返工 |
| ② 检索层 | 图查询 | 省 80% |
| ③ 协议层 | 压缩输出 | 压 93.6% |
| ④ 输入压缩层 | 前置过滤 | 省 20-95% |
| ⑤ 散文层 | 别客套 | 六分之一 |
| ⑥ 生成层 | 决策+校验 | YAGNI |
六层落地清单、token 优化踩坑卡、提示词框架模板都整理好了——公众号回复「六层」自取,我把清单发你。
📎 附录 · 六层工具链(GitHub 实时数据,2026-08-28 查证)
| 检索层 · CodeGraph | github.com/colbymchenry/codegraph · ⭐68.4k · MIT · npx @colbymchenry/codegraph |
| 检索层 · CBM | github.com/DeusData/codebase-memory-mcp · ⭐40.9k · MIT |
| 协议层 · RTK | github.com/rtk-ai/rtk · ⭐77.6k · Apache-2.0 · brew install rtk |
| 输入压缩 · Headroom | github.com/headroomlabs-ai/headroom · ⭐67.8k · Apache-2.0 |
| 散文层 · Caveman | github.com/JuliusBrussee/caveman · ⭐101.4k · BSL-1.1 |
| 生成层 · Ponytail | github.com/DietrichGebert/ponytail · ⭐113.8k · MIT |
参考来源:Rich Sutton《The Bitter Lesson》(2019);Anthropic《Effective Context Engineering for AI Agents》(2025);Andrej Karpathy 公开论述;Claude Code 官方文档;团队 2026 年 1–8 月 token 账单统计。