diff --git a/CHECKLIST.md b/CHECKLIST.md index cffc31f..1a2ab77 100644 --- a/CHECKLIST.md +++ b/CHECKLIST.md @@ -357,7 +357,7 @@ - [x] p2-1.4 每条腿值多少钱:`python -m bench.leg_check` → `bench/reports/LEGS.md`(stamp 见报告首行,300 条 holder 作用域探针,7 个配置,每臂带 n / MRR / Wilson 下界 / p50 / p95 / 分模态召回)。测的是 `bench/runs/dense_scale` 的副本:冻结基线自己**不带向量**,dense 腿在其上只会排一个空索引,所以报告首行就把来源 store 与向量数印出来。 - 只有词的 FTS 页:问 10 个 atom recall@10 **0.832**、MRR 0.683、p50 67.5ms;问产品配置的 24 个 **0.848** / 0.688 / 67.6ms;页放宽到 30 **0.855** / 0.690 / 72.0ms(放宽不要钱,10→24 就白捡 1.6 个点)。 - 开 dense 腿:10 个 atom **0.845** / MRR 0.663 / p50 474.8ms;页 30 **0.858** / 0.669 / 416.0ms。同页比只多 **1.3** 个点(页 10:0.832→0.845)和 **0.3** 个点(页 30:0.855→0.858),MRR 降,慢 6–7 倍。 - - 开图片腿。索引实物印在 LEGS.md 里(不是这里口头说的):**53,668 个 atom、512 维、109,912,192 字节**;编码速度也是实测的(200 张样本):**16.8 张/秒**,据此那 53,668 张 ≈ **53.3 分钟**(报告里就这一个样本);我当时手工计时是 2901.7 秒(48.4 分钟),那个数只在我终端里、没留档,所以只当旁证不当证据。结果:10 个 atom **0.815** / MRR 0.553 / 138.1ms;页 30 **0.825** / 0.551 / 166.7ms。分模态才看得见它在干什么:**video 0.583→0.708、pdf 0.849→0.907 涨,code 0.953→0.898、ui_screenshot 0.583→0.500 跌**——它救的正是金标是图的题,代价是稀释别的。 + - 开图片腿。索引实物印在 LEGS.md 里(不是这里口头说的):**53,668 个 atom、512 维、109,912,192 字节**;编码速度也是实测的(200 张样本):**16.8 张/秒**,据此那 53,668 张 ≈ **53.3 分钟**(报告里就这一个样本);我当时手工计时是 2901.7 秒(48.4 分钟),那个数只在我终端里、没留档,所以只当旁证不当证据。结果:10 个 atom **0.815** / MRR 0.553 / 138.1ms;页 30 **0.825** / 0.551 / 166.7ms。分模态只能同页比(页宽不同基线就不同):**页 10** 加图片腿只有 code 0.953→0.930、ui_screenshot 0.583→0.528 跌,video 0.583→0.583、pdf 0.849→0.849、image 0.750→0.750 一格没动;**页 30** 才看得出它救谁——video 0.625→0.708(+8.3),代价是 code 0.953→0.898、ui_screenshot 0.583→0.500、pdf 0.919→0.907 全跌。image 两页都是 0.750→0.750,所以「图片腿救金标是图的题」只对 video 成立,对 image 不成立。 - p50 是负载函数,不是性常数:两份已提交的 LEGS.md(md5 `b9ea03ec` 在 `c4a8c36`/`6cc5640`/`71733d8`,`171a33d0` 在 `e80883c`)里,words 腿 64.7–72.5ms、dense 腿 413.7–474.8ms、图片腿 132.5–166.7ms,而**召回逐格一模一样**(0.832 / 0.848 / 0.855 / 0.845 / 0.858 / 0.815 / 0.825)。所以比较只用召回,延迟看报告当次的 load。 - 产品的图片腿不是开关:`retrieval.py:136` `if image is None and not thin: return {}`,稀疏页薄到 2 条以下才问图。所以这几行测的是「腿可用」,不是强行常开融合。 - **没达到的验收线,写在这里**:用户定的验收是 recall@10 ≥0.90(n≥300)。测出来最好的一行是 **0.858**(dense 腿开、页 30、p50 416.0ms),默认配置 **0.848**(p50 67.6ms),CURRENT.md 里按 10 个 atom 问是 0.832;仓内 Mem0/Zep 式对照在 holder 作用域是 **0.866**。差距集中在图(image 0.750、ui_screenshot 0.500–0.639、video 0.583–0.708),文字的题(code 0.953、pdf 0.919)已经过了线。诚实结论:**延迟达标(281 倍于基线、p50 71.7ms),召回没达标**,剩下 4 个点是跨模态召回,不是索引规模问题。