跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

缓存命中与否:同一任务读数能差 10 倍

实测于 2026-11-14 · 数字来自真实运行

实测 / 账单已核验整理于2026-11-14
这一页的原始数据来自真实运行,用tools/usage.py从会话文件解析出的token与耗时。样本量与不能推广的部分写在页内,没有做平均修饰。

要回答的问题

同一个任务连跑几次,为什么第一次与第二次的token差这么多?缓存命中到底省了多少、省在哪一项?

对照组

同一任务、同一模型、同一输入,连续跑4次不换输入;另跑一组每次清空会话(冷缓存)对照。记录每步的未命中输入、缓存命中、输出三项,分别算钱。

环境与版本

宿主版本
0.1.2-alpha.5
模型ID
宿主默认路由(会话头未记模型ID,本次记录缺口)
模式 / 权限
--profile headless / workspace-write / Windows 11 / node 22.22.2
输入文件
任务:报x.txt与big.txt各多少行。x.txt 4行;big.txt 200行但末行无换行符。目录指纹跑前后未变

要记录的字段

#字段结果
1宿主版本与模型ID0.1.2-alpha.5;模型走宿主默认路由(会话头未记ID)
2任务与输入哈希任务:报x.txt与big.txt各多少行。x.txt 4行;big.txt 200行但末行无换行符。目录指纹跑前后未变
3每次运行的未命中输入token16,210 / 628 / 599 / 893
4每次运行的缓存命中token15,872 / 47,872 / 47,872 / 65,408
5每次运行的输出token137 / 319 / 308 / 1,493(推理0 / 65 / 95 / 902)
6按官方定价分别算出的三项费用与合计命中 $0.00005/0.00014/0.00014/0.00020;未命中 $0.00243/0.00009/0.00009/0.00013;输出 $0.00008/0.00019/0.00018/0.00090。合计 $0.002561/$0.000429/$0.000418/$0.001226
7第1次与第4次的差异倍数未命中输入第1次是第2次的25.8倍;费用第1次是第2次的6.0倍。但总token第1次(32,219)比第2次(48,819)更低
8清空会话后是否回到第1次的水平本组没有清空会话对照组,但第1次本身就等价于冷缓存:16,210未命中vs后续599–893

实测发现

  • 缓存省的是未命中输入这一项,而且省得极狠:第1次16,210,第2次628,第3次599 —— 降到1/25。后面三次都在600–900区间,说明缓存稳定命中。
  • 「总token更多」不等于「更贵」。第2次总token 48,819比第1次32,219高51%,费用却只有1/6。原因是第2次有47,872是缓存命中(每百万 $0.003),而第1次有16,210是未命中(每百万 $0.15,贵50倍)。任何只报totalTokens的看板都会把这两次算反。
  • 第4次费用回升到 $0.001226,是前一次的2.9倍。原因不是缓存失效,而是它多想了:输出1,493(前三次137–319),推理902。
  • 第4次也是唯一答对边界的一次:它报big.txt 199行,并说明「最后一行没有换行符,按换行符统计是199」。前三次都报200。多花的那3倍钱买到了更正确的答案。
  • 四次墙钟3.5 / 5.3 / 5.5 / 11.4秒,与步数(2/3/3/4)同步,与token量没有直接关系。

结论

缓存命中省的是未命中输入那一项,同一任务连跑时能省到1/25,整单费用降到约1/6。但读数必须分三项看:总token更少的那次可能更贵。另外,费用更高的那次答对了边界情况——省不省和答得对是两件事,不能只看账单。

不能推广的部分

  • 只有4次,没有清空会话的对照。第1次当冷缓存用,严格说不是「同一条件下清空会话」。
  • 缓存命中率取决于服务端的缓存策略与过期时间,本站测不到那一层,只能观察结果不能控制变量。
  • 任务只有约200行文本,规模很小。换成几万token的输入,未命中与命中的绝对差值会放大,比例关系未必同向。

为什么先不写结果

要回答的是「缓存省的是哪一项、省多少」,不是「缓存有没有用」。所以必须把三项分开记,只看totalTokens得不出结论。

认领这组实测 回实测列表