mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-27 21:03:16 +00:00
docs(stress): abtest 补「跨版本对比的陷阱」—— 老版本可能只是没干活
脚本原本只写「加速比 = 基线延迟 / 新版延迟」。实测发现跨版本对比时这个
数字**没有意义**:
N 老版本 中位/处理数 新版本 中位/处理数 算出的"加速"
2 0.273s / 0 个 0.480s / 2 个 0.57x
4 0.273s / 0 个 0.492s / 4 个 0.55x
8 0.273s / 0 个 0.512s / 8 个 0.53x
"老版本更快"是假的 —— 它只是没干活:适配器缺 stream_index 透传 ⇒ 多个
分片并到槽 0 ⇒ argsRaw 混拼 ⇒ 每个工具报"参数不是合法 JSON"而一个都没
真跑。
★ 跨版本能比的硬指标是**处理数**;耗时对比只在新版内部做(混一个非并发安全
工具触发整批降级)才有意义 —— 那种对照下 N=12 时加速 5.72×。
顺带记下:老版本的内核分桶逻辑其实完整(`idx := tc.StreamIndex` + `accs[idx]`,
来自 2026-08-26 的 ddef195),缺的只是适配器那一个字段;而生产在当天 15:46
就手工补上了,比该提交(16:10)早 32 分钟。
This commit is contained in:
@ -8,6 +8,24 @@
|
||||
1. **平均轮次延迟** —— 从发输入到收到最终回复的墙钟时间。
|
||||
并发的理论收益 = 单工具耗时 × (N-1):串行要 N×t,并发只要约 1×t。
|
||||
2. **加速比** = 基线延迟 / 新版延迟。
|
||||
|
||||
★ 用这个脚本做**跨版本**对比时,先看"处理了几个工具",别看加速比。
|
||||
|
||||
实测:老版本(28b42bc,批内多 tool_call 但串行)的适配器缺
|
||||
`stream_index` 透传 ⇒ 多个分片并到槽 0 ⇒ argsRaw 混拼 ⇒
|
||||
每个工具报「参数不是合法 JSON」而**一个都没真跑**:
|
||||
|
||||
N 老版本 中位/处理数 新版本 中位/处理数 算出的"加速"
|
||||
2 0.273s / 0 个 0.480s / 2 个 0.57x ← 无意义
|
||||
4 0.273s / 0 个 0.492s / 4 个 0.55x
|
||||
8 0.273s / 0 个 0.512s / 8 个 0.53x
|
||||
|
||||
"老版本更快"是假的 —— 它只是没干活。**跨版本能比的硬指标是处理数**;
|
||||
耗时对比只在新版内部做(混一个非并发安全工具触发整批降级)才有意义。
|
||||
|
||||
老版本的内核分桶逻辑其实完整(`idx := tc.StreamIndex` + `accs[idx]`,
|
||||
来自 2026-08-26 的 ddef195),缺的只是适配器那一个字段 —— 而生产在
|
||||
当天 15:46 就手工补上了,比该提交(16:10)早 32 分钟。
|
||||
3. **工具消息顺序** —— 内核声明「并发执行但按**声明序**落消息」,
|
||||
而 mock 故意让完成顺序与声明序**相反**(索引越大 sleep 越短)。
|
||||
所以:若响应里的工具顺序是 0,1,2,…,说明按声明序落对了;
|
||||
|
||||
Reference in New Issue
Block a user