实测记录的最小规范:哪些字段不填就不算实测
实测于 2026-11-14 · 数字来自真实运行
这一页的原始数据来自真实运行,用tools/usage.py从会话文件解析出的token与耗时。样本量与不能推广的部分写在页内,没有做平均修饰。
要回答的问题
一条实测要记到多细才算「可复现」?哪些字段缺了就说明这条不能当结论用?
对照组
反面出发:列出本站见过的四类无效记录(只有结论没有原始值、只有totalTokens不分项、只跑一次就下结论、不记版本),每条给出为什么无效、该补什么。
环境与版本
- 宿主版本
- 0.1.2-alpha.5
- 模型ID
- 不涉及
- 模式 / 权限
- 不涉及 — 本页是记录规范
- 输入文件
- 未命中输入 / 缓存命中 / 输出,<strong>必须分三列</strong>。只记totalTokens等于没记:totalTokens = 未命中 + 缓存命中 + 输出,三项单价差50到200倍,合并后无法还原
要记录的字段
| # | 字段 | 结果 |
|---|---|---|
| 1 | 必须记的环境三要素 | 宿主版本(`dsh --version` 原文)、模型ID与网关、权限三档(沙箱模式 + 审批策略)、操作系统与node版本 |
| 2 | 必须分列的token三项 | 未命中输入 / 缓存命中 / 输出,<strong>必须分三列</strong>。只记totalTokens等于没记:totalTokens = 未命中 + 缓存命中 + 输出,三项单价差50到200倍,合并后无法还原 |
| 3 | 必须说明的样本量 | 跑了几次。单次结果不能当结论——实测缓存效应里,第1次未命中16,210,第2次628,差25.8倍 |
| 4 | 必须标注的采样时间 | 采样时间。定价分峰谷(峰时UTC 01-04、06-10,周一至周五),跑在哪个时段决定单价;模型版本、通道指向也会随时间移动 |
| 5 | 必须写出的「不能推广的部分」 | 这一页的「不能推广的部分」是必填段。写不出这段,说明你还不知道该结论的边界在哪,那就不该发布 |
| 6 | 四类无效记录的识别特征 | ①只有结论没有原始值 ②只有totalTokens不分项 ③只跑一次就下结论 ④不记版本与时间。四条有一,整条不能当结论用 |
| 7 | 一条合格记录的最小字段集 | 环境四个字段 + token三项 + 样本量 + 采样时间 + 边界段 + 输入指纹(哈希),共10项。缺一项标「部分核验」,不标「已核验」 |
实测发现
- 本站吃过教训,所以把这三条写成了硬规矩:①token必须分三项。我第一次采集时按turn取最后一次usage,得到28,827;按step求和才对,是126,551 —— 差4.4倍。而如果再把inputTokens当总输入(忽略缓存命中89,216),会算成第三个完全不同的数。
- ②第一次运行必须丢弃。缓存效应实测:同一任务四次,未命中16,210 → 628 → 599 → 893。第一次是冷缓存,用它做基线会把后续都算成「省了96%」。
- ③「不能推广的部分」是必写段,不是可选礼貌。PTC那组数据里PTC明显更省,但那个任务是「数4个文件的行数」,天然适合写成一段程序。去掉这段边界说明,读者会以为所有任务都该上PTC。
- 还有一个反直觉的:「答对了」也要当字段记。缓存那组第4次贵2.9倍,却是唯一答对边界情况的(199 vs 200行)。如果只记费用不记答案,这组数据会得出「第4次浪费钱」的错误结论。
结论
一条能当结论用的实测,至少要有10个字段:环境四项、token三项、样本量、采样时间、边界段,加输入哈希。四条最常见的无效记录是:只有结论、只有totalTokens、只跑一次、不记版本时间。这四条不是洁癖,每一条都能让结论反向。
不能推广的部分
- 这是本站自定的规范,不是任何官方标准。别的站点用更少字段也能得到可用结论,取决于他们的问题有多窄。
- 10项里有两项(采样时间、输入哈希)在纯人工操作里常被省略。省略后不算错,但要标「部分核验」。
为什么先不写结果
这一页是规则,不产生数字。它的用途是让每一条实测都能被别人拿着复现,而不是只能信作者。