返回首页

Opus 4.7 分词器:消耗分析与经济影响

Claude Opus 4.7 中 Token 消耗研究显示与 4.6 版相比增长 30-45%。分析包括真实数据测量、会话成本经济计算以及通过 IFEval 基准的指令跟随测试。为开发者优化 API 使用提供的建议。

Opus 4.7:为什么 Token 更多以及这对您的项目意味着什么
Advertisement 728x90

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 端点,未进行推理。主要结论:

Google AdInline article slot
  • 技术文本和代码的增长最大
  • 拉丁字母和编程语言受影响大于散文
  • 中文、日文和韩文几乎不受影响

测量示例代码:

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

Google AdInline article slot

- TypeScript 中从 3.66 降至 2.69

- 模型将文本拆分成更小的单元

  • 对不同内容类型的影响差异

- 代码受影响大于散文 (1.29–1.39 倍 vs. 1.20 倍)

Google AdInline article slot

- 代码中的重复模式(关键字、导入)现在被碎片化

- 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

Advertisement 728x90

继续阅读