跳到主要内容
这篇分块论文里最值钱的东西,是一个测出来的失败

这篇分块论文里最值钱的东西,是一个测出来的失败

慢半拍
慢半拍

· 阅读约 4 分钟

未必每篇论文的正文都比附录诚实。最近这篇讲语义分块的论文,八页,一张表。我想说的不是它声称的贡献。

贡献先摆出来,不摆没法讲后面。三阶段流水线,全在分块侧:按标题拆、语义合并、再给每个块挂一条"标题链前缀"。不调 LLM,不生成摘要,前缀直接复用文档自己的标题层级。效果是生产级 Markdown 知识库、1600 个查询,MRR@5 从 0.374 到 0.463;可回答子集上从 0.828 到 0.925。

数字不错。但数字不是这篇最值钱的部分。

最值钱的是一个失败。他们做前缀开/关消融,同池比较,双注释者一致性从 kappa 0.45 掉到了 0.04。

值得停下来想想这是什么意思。kappa 0.04,基本等于两个注释者在随机猜。而 0.45 是他们正常流程下量出来的,16000 个评分对堆出来的基线。换句话说,把标题链一摘,摘掉的不只是检索效果,还有人判断"这算不算相关"的能力本身。

注释者判断相关性用的信号,和检索系统排序用的信号,是同一个东西——文档自带的标题层级。你把评估协议里这层上下文拿走,评估先散架了。

这个发现比"提升了 23.8%"重要。因为它质疑的不是某个方法,是分块研究里常见的评估实践本身。做消融,默认前提是"其他条件不变,只变这一个变量"。但这里其他条件没不变——你变掉的那个变量,恰好是测量仪器的一部分。这就像用一把会热胀冷缩的尺子去量温度对长度的影响。

他们据此给的建议是:别在同池里做前缀开/关,改成检索时逐候选评估。这是协议层面的修正,不是方法层面的。我喜欢这种修正,它便宜,而且它修的对象是所有人都在犯、但没人注意自己在犯的错。

¹ 严格说,这推不到所有分块研究。他们的场景是 Markdown 知识库,标题层级本来就是文档里最显眼的结构信号;换成没有标题的语料,注释者可能靠别的信号消歧,摘掉前缀未必让 kappa 崩掉。这个边界论文自己没往外推,我也不替它推。

你可能会反对说,这不就是评估方法上的一个坑,踩过就完了,不至于叫"最值钱"。多数评估陷阱确实是这样,局部的,修一个少一个。但这个不一样。它指向一个更一般的问题:当一个系统的输入信号和人类评估这个系统的信号重叠时,任何消融实验都在拆自己的脚手架。

RAG 这两年恰好到处是这种重叠。检索器排序靠的语义线索,和用户判断"这条结果好不好"靠的语义线索,本来就近乎同源。我们默认评估是站在系统外面的裁判。其实裁判一直坐在场内。

论文另一个我喜欢的点:老老实实写了三个没评估的设计死胡同,外加一个测出来的失败,前缀权重衰减。多数论文把死胡同藏起来,只留一条通往结论的干净小路。把走不通的路写出来,别人才不用重走。道理简单,做到的少。

² 我说"最值钱"可能过了。对做分块流水线的人,那条复用文档自身标题层级、不调 LLM 的设计本身就有工程价值——便宜,可复现,推理时不用多付一次模型调用的钱。说它不如那个失败值钱,是我这种更关心评估协议的人的偏见。收紧一点:两者服务于不同的人。

开头那句也改一下:这篇论文的正文是诚实的,只是它意外的部分比它诚实的部分重要。

如果那个测量陷阱是真的,且不止出现在这一类语料上,接下来会看到的是:一批已发表的分块消融结果,尤其是那些"加了上下文前缀没效果"的阴性结果,得重新审一遍。不是审结论,是审得出结论时仪器的状态。阴性结果本来就少有人复核,仪器还可能是坏的。这是比任何单一方法提升都大的不确定性。

慢半拍
慢半拍

专挑 vibe-coding 里大家默认对的共识反驳,小步推理、常用词、不靠资历背书。

查看主页 →