跳转至

每日成本 + 行为效率审查 2026-09-24

  • 审查日期:2026-09-24(完整一天)
  • 数据来源:./venv/bin/python cost_audit/daily_review.py --date 2026-09-24(只读,单次执行)

① 汇总

  • 成本 12.931 元(基线 6.863,+88%)| 1,368 请求(+171%)| 22 会话 | 82 轮 | 0.158 元/轮(-49%)| 16.7 步/轮(-28%)
  • 四段:输出 55.1%(7.126 元,其中思考 4.186 元)> 输入·命中 26.1%(3.381 元)> 输入·未命中 18.7%(2.424 元)
  • token:命中 169,050,880 | 未命中 2,423,758(+56%)| 输出 2,019,168(+164%)| 思考 1,149,137
  • 上下文:中位 87,948,最大 467,349(prompt)
  • 方向:总量(请求/输出/未命中)大幅上升推高总成本;率指标(元/轮、元/请求、步/轮)全面优于基线——成本涨是使用量增加,不是单位效率劣化

② 异常判定

项 判定 依据
[1] 整段失效 miss>10,000 需关注(深挖后由异常修正,见 ⑥) 32 条、合计 1.201 元(占 9.3%);深挖取证 top5 失效条全部为轮首边界/中段的一次性前缀重建(下一条 hit 均回升),无「反复出现且 hit 不回升」的持续失效
[2] 单请求最贵 5 条 前 2 条需关注(与 [1] 同源,一次性重建:0.307 / 0.208 元未命中段);后 3 条正常(out 10,143~15,247,hit 198k~278k,miss≤5,886)
[3] 单会话成本 top5 正常 最高 2.324 元(e300e8aa4e61,125 请求/13 轮),折 0.019 元/请求
[4] 单轮步进 top5 需关注 最高 45.8 步/轮(bb9638799e15,275 请求/6 轮),偏离当日整体 16.7 与基线 23.0;次高 40.5、38.0
[5] 同会话重复提问 正常 仅 e300e8aa4e61「好的,执行吧」2 轮,确认类短语
[6] 输出截断嫌疑 正常 无(当日输出 max 15,247)
[7] 上下文规模最大 正常 prompt 467,349,对应 miss 仅 194~1,301,命中良好
[8] 会话未命中占比 top5 需关注 最高 10.5%(eec69474c021,22 请求),叠加 [1] 的 32 条整段失效
[9] 长会话 需关注 6 个;top5 合计 2.324+1.659+1.539+1.531+1.285 ≈ 7.34 元 ≈ 当日 57%

余额对账:真实扣费 11.950 元(43.55 → 31.60)| 自算 12.931 元 | 偏差 +0.981 元(+8.2%)→ 需关注(单日样本,待次日对照)。

③ 评估

整体合理。深挖后 [1] 由「异常」降档为「需关注」(见 ⑥):无持续失效。

  1. [1] 需关注:32 条整段失效(1.201 元、9.3%)经深挖取证,top5 失效条全部为轮首边界/中段的单次前缀重建,下一条 hit 即回升;与代理重启无时间关联(当日唯一重启 12:34:56,不在失效时段);无「改规则后续用旧会话」的直接时间证据。属一次性重建,观察即可。
  2. 成本 +88% 构成合理:请求 +171%、输出 +164%(输出单价最高,是成本第一杠杆),而元/轮 0.158(-49%)、元/请求 0.0095(-30%)、步/轮 16.7(-28%)均优于基线,总量涨源于使用量而非效率劣化。
  3. [4] 需关注:bb9638799e15 单轮 45.8 步(275 请求/6 轮)明显偏离整体 16.7 与基线 23.0,属单点密集探索;与 [9] 的 6 个长会话共同构成行为面的主要改进空间。

④ 改进建议(按预估收益排序,仅提出、未执行)

  1. 整段失效转观察,暂不改动 —— 针对 [1][2]:根因已排查为轮首边界一次性前缀重建(⑥),无持续失效、与重启无关;维持观察,若后续出现「同会话反复 + hit 不回升」再升级排查。当前 1.201 元(9.3%)中大部分为单次重建、无法通过改配置避免。零成本,无需确认。
  2. 高步数轮次拆分、长会话及时新开 —— 针对 [4][9]:45.8 步/轮的 275 请求轮与 6 个长会话(top5 计约 7.34 元占 57%);「读全部文档再动手」类任务拆小、长会话完结即重开,按当日数据折算预计省 0.3~0.5 元/天。属使用习惯,无需改配置。
  3. 复核余额偏差是否持续 —— 四段对账 +8.2%(+0.981 元);单日样本不足定性,下次 /cost 对照次日快照,连续 ≥2 天同向再深挖。当前为零成本观察项。

⑤ 会话归因

来源:session_deep_dive.py --date 2026-09-24。注意:折算总成本 13.881 元 vs 台账 12.931 元,偏差 +7.3%(超 ±2% 校验),系默认 prices(0.02,1.0,4.0)与实际价目不完全一致,占比仅供排序参考,绝对值以台账为准。

conv 开场 请求 轮 步/轮 成本(占比) 触发 开场提问
e300e8aa4e61 20:30 125 13 9.6 2.324(16.7%) 成本+中段失效 对于HPC
815a862e1974 19:53 132 6 22.0 1.659(11.9%) 成本+步/轮+中段失效 说出你现在对此项目的了解
b896b28cd6b1 01:52 114 3 38.0 1.539(11.1%) 成本+步/轮+中段失效 现在要实际改造部署工具了…
9a12e6e1207c 21:59 109 4 27.2 1.531(11.0%) 成本+步/轮+中段失效 进行后续的升级 FP15(cgroup v2 / RHEL9)
c16e41b01391 22:40 117 4 29.2 1.285(9.3%) 步/轮 做第5条吧
bb9638799e15 12:56 275 6 45.8 1.110(8.0%) 步/轮 请读取本项目目录下的docx与pdf…
ec8fb437d3d6 01:58 81 2 40.5 1.081(7.8%) 步/轮+中段失效 当前我有两个需求…
(无) 02:00 49 1 49.0 0.416(3.0%) 步/轮+中段失效 (无 prompt)
18c79d19f40b 01:19 48 4 12.0 0.403(2.9%) 中段失效 调整后效果如何了?
9551aac4536f 00:34 28 2 14.0 0.374(2.7%) 步/轮 继续聊 develop-python-deploy-scrip…
300836662340 01:12 26 1 26.0 0.374(2.7%) 步/轮+中段失效 我又来看skill 的效果了
07540f27ae49 01:03 34 4 8.5 0.301(2.2%) 中段失效 想知道上轮的skill 调整情况如何了
e8263b2a5520 00:53 20 1 20.0 0.268(1.9%) 步/轮 继续聊上个会话的动作
e8076a97eb26 23:12 39 4 9.8 0.265(1.9%) - 项目下有IC25.10 看下能装不?
eec69474c021 02:17 22 4 5.5 0.261(1.9%) 中段失效 我要处理traeide上的任务
f4b44a840fff 00:00 15 4 3.8 0.225(1.6%) 中段失效 你知道我们接下来要做什么么?
da5a945205a9 16:40 65 3 21.7 0.194(1.4%) 步/轮 添加 192.168.31.18-20 进挂载客户端
88341d6751fb 12:54 34 5 6.8 0.168(1.2%) - /cost
其余 7 个短会话 — ≤9 — — 合计 0.140(1.0%) - —

当日轮粒度步/轮中位 = 6(触发阈值:步/轮 > 12 或成本占比 > 10%)。

⑥ 深挖取证:整段失效根因

结论:需关注 —— 32 条整段失效为「轮首边界/中段的一次性前缀重建」,非持续失效;与代理重启无时间关联,无「改规则后续用旧会话」的直接证据。 抽样 4 会话、覆盖可疑项 top5 失效条全部(20:30:54 / 21:30:43 / 21:44:18 / 22:33:33 / 02:20:52)。

  • 成本构成(抽样 4 会话):命中重放为主,失效未命中段合计约 0.75 元;当日 [1] 全部 32 条计 1.201 元(9.3%)。
  • 折算校验:归因表 13.881 vs 台账 12.931(+7.3%,prices 口径差,见 ⑤ 注)。

关键证据:

  1. 最贵两条均为轮首一次性重建:e300e8aa4e61 turn9 21:30:43 miss=300,132 hit=6,656 prompt=306,788 → 下一条 hit 回升:是;9a12e6e1207c turn3 22:33:33 miss=204,409 hit=2,176 → 下一条 hit 回升:是。下一步即恢复,属单次前缀重建。
  2. 无反复且不回升的持续失效:其余取证点全部回升——9a12e6e1207c 另 3 处中段(22:00:11 / 22:00:30 / 22:23:50 / 22:39:43)、eec69474c021 的 02:20:52 / 02:22:00 / 02:25:12、18c79d19f40b 的 01:39:04,均标「一次性重建」。仅 e300e8aa4e61 turn2(20:30:54,距会话首条 33 秒,属首条重建延续)与 turn11(21:44:18,单步轮无后继,「否」为数据缺失)未回升,不构成反复模式。
  3. 时间关联排除:journalctl 当日唯一重启 12:34:56,失效簇在 00:00~02:25 与 20:30~22:39,无重叠 → 与重启无关。session-start 日志显示失效均发生在轮首(会话内新消息边界)而非会话首条;21:59 / 22:40 两次新会话开档与 21:30 / 22:33 失效点不重合 → 非新会话结构必然,也无改规则后续用旧会话的时间证据(日志不含规则改动时间戳)。凌晨簇 lustre_ins 连续 6 次开档、提问含「skill 调整」(07540f27ae49、300836662340、18c79d19f40b),当晚确有 skill 调整活动,但对应失效仍全部一次性回升。

覆盖度声明:取证覆盖 11 个触发会话中的 4 个(含失效 top5 全部条目,约占 [1] 成本的 60%+);其余 7 个会话未逐一取证,如需完整归因可对其逐个跑 session_deep_dive.py --conv <ID>(只读,零改动)。

抽样会话逐轮起始时间与费用(--conv 深挖输出,费用为该轮三段合计):

会话 轮 起始 步数 费用(元) 备注
e300e8aa4e61 1~13 20:30:21 / 20:30:54 / 20:31:37 / 20:34:22 / 20:55:39 / 20:56:58 / 21:04:03 / 21:11:08 / 21:30:43 / 21:40:11 / 21:44:18 / 21:48:23 / 21:49:59 1/1/6/5/2/8/9/40/6/6/1/1/39 0.000/0.031/0.032/0.048/0.057/0.164/0.109/0.607/0.393/0.071/0.046/0.016/0.749 失效轮:20:30:54、21:30:43、21:44:18
9a12e6e1207c 1~4 21:59:22 / 22:22:35 / 22:33:33 / 22:34:49 37/12/3/57 0.412/0.122/0.238/0.758 失效轮:22:33:33(system 变化)
eec69474c021 1~4 02:17:36 / 02:20:52 / 02:22:00 / 02:24:43 9/3/4/6 0.082/0.065/0.061/0.052 失效轮:02:20:52、02:22:00
18c79d19f40b 1~4 01:19:00 / 01:32:22 / 01:34:56 / 01:40:18 9/13/7/19 0.064/0.136/0.051/0.152 失效轮:01:34:56(中段 01:39:04)

各轮提问原文:脚本未逐轮输出,仅有会话开场提问(⑤ 表);如需逐轮提问与费用一一对照,需扩展 session_deep_dive.py 增加逐轮提问摘要输出——需确认后执行。

补充取证一:历史对比——轮首重建非 09-24 新现象

session_deep_dive.py 跑 09-21/22/23 归因表,标「中段失效」的会话数:09-21=3、09-22=5、09-23=8、09-24=11,与当日请求量(241/546/1317/1368)同步,无突变拐点,属每日常态背景现象。

补充取证二:空档假设否定——「回复慢导致缓存过期」不成立

逐轮间隔与失效对照(抽样 4 会话):

  • 有失效的轮首,间隔都很短:12s(miss=204,409)、33s、49s、81s(miss=300,132)、83s、160s;
  • 等得更久的反而不失效:19s/96s/245s/553s 轮首均无 >10k 失效;19min、41min 空档后也无失效。

结论:空档时长与失效无正相关,TTL/过期假设被反例否定。

补充取证三:责任方指纹判定——上游缓存侧 2 例、客户端 system 变化 1 例

依据 logs/req_shape.jsonl 的 shape.head(前 8 条消息 role:len:hash),对比失效步与相邻步指纹:

  1. e300e8aa4e61 21:30:43(miss=300,132):失效步与前后 7 步 head 指纹逐条完全一致(3109542180 9b5100fa33 …),前部内容一字未变、上一步还 hit=305,280,本步却近乎全 miss → 内容未变却未命中,责任在上游缓存侧。
  2. eec69474c021 02:20:52(miss=46,606):同上,head 指纹与相邻步完全一致却全 miss → 上游缓存侧。
  3. 9a12e6e1207c 22:33:33(miss=204,409):head[0](system 消息)指纹由 bb1c80f47e 变为 59112dab18,其余 7 条不变 → system prompt 在轮首被改动,从第 1 条消息起前缀分叉、全量 miss,责任在客户端/注入侧(Trae 动态注入或 Hook);下一条起按新 system 恢复命中。

局限:head 仅覆盖前 8 条消息,中间分叉不可见;但 miss≈全量本身说明分叉(或未命中点)在前部,上述判定成立。抽样 3 例 = 2 例上游 + 1 例客户端,均与网络 IO、空档、旧会话延续无关。


同日重复执行本审查会覆盖本文件。


来源:/home/rain/Documents/services/token_proxy/reports/daily-review-20260924.md | 最后更新:2026-09-25 00:59(由 build/sync.py 同步,请勿在站点侧修改)