Claude Opus 4.7 分词器:实际 Token 消耗及其对开发者的影响
Claude Opus 4.7 中的分词器更新导致与 4.6 版相比,token 消耗增加了 30–45%。价格和速率限制不变,这直接影响会话成本、缓存效率以及 Max 计划的可用性。我们对真实数据和合成数据进行了独立测量,以评估变化规模以及这些变化是否合理。
测量结果:实际数据 vs. Anthropic 的承诺
Anthropic 的迁移指南称,新分词器将使用“大约 1.0–1.35 倍的 token”。实际数据显示超过了这些数字:
- 真实数据加权比率(Claude Code 的 7 个样本):1.325 倍 (8,254 → 10,937 tokens)
- 技术文档:1.47 倍 (478 → 704 tokens)
- TypeScript 代码:1.36 倍 (1,208 → 1,640 tokens)
- 英语散文:1.20 倍 (508 → 611 tokens)
- CJK 语言:1.01 倍(变化极小)
测量使用了 /v1/messages/count_tokens 端点,未进行推理。主要结论:
- 技术文本和代码的增长最大
- 拉丁字母和编程语言受影响大于散文
- 中文、日文和韩文几乎不受影响
测量示例代码:
from anthropic import Anthropic
client = Anthropic()
for model in ["claude-opus-4-6", "claude-opus-4-7"]:
r = client.messages.count_tokens(
model=model,
messages=[{"role": "user", "content": sample_text}],
)
print(f"{model}: {r.input_tokens} tokens")
Token 增加原因:变化分析
新分词器的三种关键行为模式:
- 英语和代码的更短子词合并
- 英语中每个 token 的字符数从 4.33 降至 3.60
- TypeScript 中从 3.66 降至 2.69
- 模型将文本拆分成更小的单元
- 对不同内容类型的影响差异
- 代码受影响大于散文 (1.29–1.39 倍 vs. 1.20 倍)
- 代码中的重复模式(关键字、导入)现在被碎片化
- CJK 语言影响最小 (1.01 倍)
- 向字面指令遵循的转变
- Anthropic 声称在低努力水平下精度提升
- 更小的 token 让注意力聚焦于单个词
- 合作伙伴反馈证实(Notion、Warp、Factory)
重要提示:变化不仅影响分词器,还涉及模型权重和后训练。无法孤立单个组件的贡献。
测试指令遵循:IFEval 基准
为验证声称的改进,我们使用了 IFEval(Google,2023)——一个带有可验证约束的基准:
- 541 个提示中的 20 个,使用固定种子
- 严格和宽松评估模式
- 通过 Python 评分器进行二元检查
结果:
| 指标 | Opus 4.6 | Opus 4.7 | Δ |
|---------------------------|---------------|---------------|---------|
| 严格模式,提示级 | 17/20 (85%) | 18/20 (90%) | +5 个百分点 |
| 严格模式,指令级 | 25/29 (86%) | 26/29 (90%) | +4 个百分点 |
| 宽松模式,提示级 | 18/20 (90%) | 18/20 (90%) | 0 |
关键观察:
- 仅在严格模式下有改进(精确格式遵守)
- 唯一差异提示:4 个约束的链
- 仅针对
change_case:english_capital变化 (0/1 → 1/1) - 由于样本小 (N=20),效果统计上不显著
结论:严格指令遵循有细微但针对性的改进。不支持公告中声称的“显著改进”。
经济影响:Token 增长如何影响成本
考虑典型的 Claude Code 会话(80 次迭代):
上下文组件:
- 静态前缀:6K tokens (CLAUDE.md + tools)
- 会话历史:到第 80 次迭代增长至 160K tokens
- 新输入:~500 tokens/迭代
- 输出:~1,500 tokens/迭代
- 缓存命中率:95%
会话成本比较
Opus 4.6:
- 缓存读取:$3.40
- 新输入:$0.20
- 输出:$3.00
- 总计:$6.65
Opus 4.7:
- 前缀 token 增加:1.325 倍
- 平均缓存前缀:115K tokens (vs. 86K)
- 缓存读取:$4.54
- 新输入:$0.26
- 输出:$3.00–$3.90
- 总计:$7.86–$8.76
差异:整体成本 +20–30%。 对于 Max 计划,这意味着:
- 更快达到速率限制
- 5 小时窗口内可用时间减少
- 更高的缓存写入操作成本
对提示缓存的影响
缓存架构的三个关键变化:
- 冷启动成本增加 30–45%
- 提示缓存按模型版本分段
- 从 4.6 切换到 4.7 会清空缓存
- 初始前缀写入需要更多 token
- 缓存容量与 token 成比例增长
- CLAUDE.md 增加 1.445 倍
- 每次缓存读取现在成本更高
- 缓存收益比率下降
- 历史数据不兼容
- 不同版本的会话产生不同指标
- 计费和监控问题
- 切换时需要重新计算预算
关键场景
- 升级后编辑 CLAUDE.md
- 更改工具列表
- 项目中途切换模型
- 缓存压缩事件
关键结论
- 实际 token 增长 超过声明的 1.35 倍(技术文档高达 1.47 倍)
- 经济影响:价格不变下会话成本 +20–30%
- 严格指令 遵循改善 5 个百分点,但差异统计上不显著
- 缓存 效率降低,因前缀更大
- Max 计划 更快达到速率限制,尤其是代码任务
开发者建议:
- 使用新比率重新计算预算
- 优化 CLAUDE.md 以减少 token
- 升级后监控缓存命中率
- 测试关键场景的严格指令遵循
— Editorial Team
暂无评论。