一文搞懂Token经济学:同样额度多干3倍活,只需理解消耗机制

📅 2026/7/24 23:00:06
一文搞懂Token经济学:同样额度多干3倍活,只需理解消耗机制
一文搞懂Token经济学同样额度多干3倍活只需理解消耗机制01 你的一句话背后一次 API 调用到底发了什么1.1 Token 不是字数Token 是模型处理文本的最小单元。不同模型的 tokenizer 略有差异以 Claude / GPT 系列为例的粗略换算语言换算关系说明英文1 token ≈ 4 个字符 ≈ 0.75 个单词hello 1 tokenimplementation 1 token中文1 个汉字 ≈ 1~2 tokens常用字约 1 token生僻字/组合约 2 tokens代码差异较大关键词/变量名/符号各占 1 token长变量名可能拆成多个一段 200 行的 Python 脚本大约 2,000~4,000 tokens一段 1000 字的中文约 1,200~1,800 tokens。1.2 一次调用的完整结构每当你在 AI 编程工具里敲一句话、或 AI 调用一个工具后准备回复都是一次完整的 API 调用。每次调用发送的内容结构如下关键认知你打的那句话③通常只占总输入的 1%~5%。真正的大头是 ① 和 ②。02 缓存机制为什么长对话反而比新窗口便宜 5 倍2.1 没有缓存会怎样——O(N²) 的恐怖增长如果每次 API 调用都要从头全价计算所有输入 Token成本会是这样假设System Prompt 15k每轮新增 2k你的话 AI 回复 工具结果每一轮都把之前的所有内容重发一遍重复付费。这就是为什么早期 API 用户感觉聊几轮就烧光了。2.2 KV 缓存的原理大模型用 Transformer 注意力机制处理文本其中历史 Token 的 Key 和 Value 张量算完就不变了。把它们存起来下次直接读取不用重算。这就是 KV Cache。2.3 三档价格写入、命中、全价以 Claude 为例Token 有三档价格Token 类型价格倍率触发条件缓存写入(cache write)基础价 ×1.25首次出现的前缀写入缓存缓存命中(cache read)基础价 ×0.1前缀匹配成功直接读取全价输入(uncached)基础价 × 1.0新增的、不在缓存中的部分具体到各模型的实际价格每百万 token美元模型基础输入缓存写入缓存读取输出Claude Opus 4$5$6.25$0.50$25Claude Sonnet 4$3$3.75$0.30$15Claude Haiku 4.5$1$1.25$0.10$5缓存读取只要基础输入价的 1/10。 对 Opus 来说缓存命中的输入价格0.5/M甚至比 Haiku 的基础输入价1/M还便宜。注意Claude Code 订阅产品Pro/Max与直接调用 API 的缓存机制有所不同。Claude Code 在产品层面为订阅用户实现了扩展缓存有效期源码中为 1 小时这是产品侧的优化不等同于 API 的付费选项。2.4 有缓存后同样 10 轮省 76%Turn 1: [System 15k: 写入×1.25] [新增 2k: 全价] 无缓存 有缓存越长的对话缓存覆盖率越高每轮边际成本越低。 这就是为什么一个 Session 持续对话远比频繁开新 Session划算。2.5 缓存只能从头匹配——中间断了全废缓存只能从头开始匹配。想象你的 Prompt 是一条链[System 指令] → [工具定义] → [Rules/Memory] → [msg1] → [msg2] → [msg3]如果链条中间任何一环变了该环及之后的所有内容全部失效最省只追加新消息2.6 缓存有效期与保活API 层面直接调用 Anthropic API默认 5 分钟过期付费选项可延长至 1 小时。Claude Code 产品层面源码逻辑claude.ts:408-413普通用户5 分钟Pro/Max 订阅且未超额延长至 1 小时刷新机制每次缓存命中都会重置过期计时。所以只要在过期前发一次匹配前缀的请求缓存就能无限续命。实操影响午饭 1.5 小时回来 → 缓存过期 → 冷启动。可以设置定时脚本每 55 分钟发一句简单的话如ok来保活。03 四类配置的加载机制与成本控制System Prompt 是每轮必带的固定税但不是所有配置都会常驻在 System Prompt 里。AI 编程工具提供了四类可配置项它们的复杂度递增、加载策略各异。理解它们的区别既是控制成本的关键也决定了你应该把什么内容放在哪一层。3.1 全景从全量常驻到完全按需复杂度 ↑ 加载粒度 ↑ 单次成本 ↑3.2 第一层Memory——全量注入最简单也最粗暴Memory 的机制是所有记忆条目全量拼接后注入 System Prompt没有检索、没有筛选。你有 20 条 Memory 记录直接 Token 成本很低几百 tokens但有两个隐性影响位置效应Memory 在 System Prompt 中改动任意一条都会打断缓存链噪声效应无关的 Memory 占据模型的注意力权重可能干扰输出质量什么时候用 Memory一句话能说清的偏好或约定比如SQL 中不等于用 、字符串格式化用 .format()。不要把复杂的规范或工作流放在 Memory 里。3.3 第二层Rules——高频常驻低频触发Rules.mdc 文件比 Memory 更结构化支持三种加载模式模式加载时机Token 影响常驻always每轮都在 System Prompt 中固定增加系统税但缓存后 ×0.1触发式requested/autoAI 根据用户消息的关键词/语义判断是否加载不触发时 0 成本触发时动态注入手动manual用户显式 或调用时才加载完全按需实际案例code-style-guide.mdc → always → 每轮常驻 ~2k tokens高频几乎每个任务都用什么时候用 Rules需要几百到几千字描述的编码规范、格式约束、特定场景模板。高频规则设为常驻低频规则设为触发式。和 Memory 的区别在于Rules 可以按需加载Memory 只能全量常驻。3.4 第三层Skills——加载前零开销加载后回不去Skills 是最重的配置单元通常包含SKILL.md技能指令文档可达 5k-15k tokensreferences/参考文档scripts/可执行脚本阶段是否在上下文Token 消耗未加载仅 description 在可用列表中~50 tokens/skill极低用户触发或 AI 判断需要 →use_skillSKILL.md 全文注入到对话一次性 5k-15k加载后的后续轮次留在对话历史中缓存命中 ×0.1关键区别Skills 不进 System Prompt而是作为一条消息注入对话历史。所以加载前零开销加载后首轮全价后续缓存不会影响 System Prompt 的缓存链但一旦加载就无法卸载5k-15k tokens 永久留在历史中什么时候用 Skills需要完整工作流的复杂任务比如数仓开发全流程建表→改表→取数→审查。和 Rules 的区别在于Skills 承载的是带脚本、带参考文档的完整工作流而非单条规范。3.5 第四层MCP 工具——Schema 常驻结果永久留存MCPModel Context Protocol工具是外部能力的接入点比如浏览器控制、数据库查询、部署服务等。它的成本有两部分工具定义JSON Schema每个工具的 Schema 约 200-500 tokens常驻在 System Prompt 中。10 个闲置工具 2k-5k tokens 的固定税工具调用结果每次调用的返回结果永久留在对话历史中工具操作典型返回大小后续每轮重发成本缓存 ×0.1读一个 200 行文件3k-5k tokens300-500 等价/轮搜索代码10 条结果2k-4k tokens200-400 等价/轮执行命令长输出1k-10k tokens100-1,000 等价/轮单看 ×0.1 不多但工具调用频繁时会快速累积。一个复杂任务调用 20 次工具历史里就积累了 40k-100k 的工具结果。什么时候该关注 MCP 成本当你发现 Session 后期每轮都变慢、变贵时大概率是工具调用结果把对话历史撑大了。解决方案见第五章。3.6 选择指南什么内容放在哪一层内容类型推荐层级原因变量命名用 snake_caseMemory一句话偏好全量常驻成本低代码格式规范缩进、命名、注释规则Rules常驻几千字的结构化规范高频使用特定场景的代码生成模板Rules触发式低频场景不需要每轮都带完整开发流程需求分析→编码→测试→部署Skills完整工作流 参考文档 脚本浏览器自动化、数据库查询MCP 工具需要外部能力3.7 缓存链全貌断在哪里后面全废把配置项按它们在 Prompt 中的实际排列顺序画出来缓存链条断在哪里后面全废缓存是前缀匹配——断在越前面后面废掉的越多。04 Sub-Agent不省钱但能防膨胀4.1 什么是 Sub-Agent复杂任务中主 Agent 可能启动独立的子 Agent 来完成特定工作如 code-explorer 搜索代码、reviewer 审查代码。4.2 Sub-Agent 无法复用主 Agent 的缓存Sub-Agent 几乎不能复用主 Agent 的缓存。 原因工具集不同 → 工具 Schema 不同 → 缓存前缀不同消息历史独立 → 对话内容完全不同可能用不同模型 → KV 张量不互通主 Agent (Turn 8, 上下文 40k):4.3 什么时候值得用 Sub-Agent场景推荐方式原因简单的文件搜索/读取主 Agent 直接做缓存好边际成本低大范围代码探索20 文件Sub-Agent避免大量工具结果污染主上下文代码审查Sub-Agent需要独立视角且审查结果不应膨胀主上下文需要用更便宜模型的任务Sub-Agent子任务用 Sonnet/Haiku省模型费用Sub-Agent 的核心价值不是省 Token而是防止主上下文被工具结果无限膨胀。05 化策略配置侧 对话侧前面四章讲的是钱花在哪这一章讲怎么少花。分两个维度配置侧Session 开始前做好和对话侧Session 进行中注意。5.1 配置侧Session 开始前配好中途别动核心原则配置类改动会打断缓存链所以在 Session 开始前一次性配好工作过程中不要改。Rules策略做法节省效果精减常驻 Rules只把高频规则设为alwaysApply: true低频规则用触发式每条规则省 1k-3k tokens/轮系统税合并同类规则把 5 个小规则合并成 1 个大规则减少元数据开销减少 Rules 描述注入量精炼规则内容去掉冗余示例保留核心约束每条省 30-50%善用触发式关键词在description里写精准的触发关键词避免误触发减少不必要的注入所有 5 条规则都 alwaysApply: trueSkills策略做法节省效果不要预加载让 AI 根据任务自动判断是否需要加载避免 5k-15k 的无效注入精简 SKILL.md把参考文档放references/而非写进主文件加载时只注入核心指令写好 description精确的 description 让 AI 更准确地判断何时加载减少误加载Memory策略做法节省效果定期清理删除过时或冗余的条目减少噪声 token合并同类记忆多条相似偏好合并为一条减少条目数写法精炼每条控制在 1-2 句话总量控制在 500 tokens 以内MCP 工具策略做法节省效果禁用闲置工具每个 Schema 约 200-500 tokens10 个闲置 2k-5k 浪费减少 Schema 大小按项目配置不同项目用不同的工具配置而非全局开启减少 Schema 大小项目文档CODEBUDDY.md策略做法节省效果精炼内容控制在 2k-5k tokens用指针引用其他文档减少系统税用引用代替内联详见 .codebuddy/skills/xxx/SKILL.md 而非复制进来文档瘦身量化效果优化前所有 Rules 常驻 10 个 MCP 30 条 Memory 大 CODEBUDDY.md5.2 对话侧Session 进行中的行为习惯保护缓存最重要#原则说明1一个 Session 干到底新 Session 冷启动全价~15-25k老 Session 继续只付增量省 5 倍2别频繁切模型Opus → Sonnet → Opus 两次冷启动3超过一小时没说话缓存已过期缓存有有效期超时就过期。持续工作时保持对话活跃即可减少无效 Token#原则说明4一次说清需求建一张日表字段有 A/B/C分区 ds 比分 3 轮说省 60% 轮次5先描述再贴代码第 15 行 join 条件写反了 比直接贴 500 行代码高效6别反复问要不要继续每轮对话都有成本AI 能自主完成的就让它做完7复杂任务写 plan 文件多 Session 任务把方案写到文件里下次直接读取跨 Session 省 80%附1Token 流向全景图你打的一句话 (50 tokens, 1%)记住这三个数字System Prompt 是固定税~12-25k tokens但缓存后只要 ~1.2-2.5k 等价配置侧优化可压低基数对话历史是累积税线性增长但缓存后只付 1/10你打的字是零头真正的成本在你看不见的地方附2常见误区纠正误区真相我就打了一行字怎么这么贵你的一行字只占 1%其余 99% 是系统指令和对话历史长对话越来越贵应该经常开新窗口恰好相反——长对话缓存命中率高×0.1新窗口才是最贵的操作全价冷启动Sub-Agent 能省 TokenSub-Agent 每次冷启动无缓存等价成本可能更高。它的价值是隔离上下文Memory 很耗 TokenMemory 本身只有几百 tokens但好的 Memory 能省掉数轮重复交代/compact 能省钱Compact 压缩历史 → 缓存断裂。除非上下文接近窗口上限否则别用Rules 越多越好常驻 Rules 增加系统税。低频规则应设为触发式按需加载Skills 加载了不用也没关系Skills 的 SKILL.md 一旦加载就留在历史中5k-15k tokens 无法撤回配好环境后随时可以改改 Rules/Memory/CODEBUDDY.md/MCP 工具都会打断缓存链应在 Session 开始前配好一句话总结AI 编程的 Token 成本不在于你说了多少而在于两件事——配置侧精简系统税Rules 按需加载、禁用无用工具、精炼 Memory对话侧保护缓存一个 Session 干到底、不中途改配置、不频繁切模型。两手都抓同样的额度可以多干 3-5 倍。