做到第二轮测量时,一定会遇到这个问题:数字动了,是我们做的,还是它自己动的。

答错这个问题的代价很具体。把波动当成成效,第三个月客户会发现数字涨了业务没动;把成效当成波动,有用的做法会被停掉。

干扰源有四个,逐个处理。

第一个干扰源:模型自己就不稳定

这一点必须先摆出来,因为它决定了整套方法的下限。

有研究把五个模型配置成确定性模式,在八项常见任务上各跑十轮,结果是准确率在自然发生的多轮之间最大波动达到 15%,最好与最差之间的差距最大到 70%,没有一个模型在所有任务上都能稳定复现,更不用说输出完全相同的字符串。研究者还提到,这种不确定性与计算资源的高效利用方式有关,短期内不会消失。

另一项研究从别的角度得到类似结论:在同一任务上,仅仅改变提示词的格式这类不改变语义的设计选择,准确率差距最大可达 76 个百分点,而且把模型做大、增加示例、做指令微调都没有消除这种敏感性。

15%配置为确定性的模型在多轮之间的准确率最大波动Atil 等 2024
70%同一实验里最好与最差表现之间的最大差距Atil 等 2024
76仅改变提示词格式造成的准确率差距上限,以百分点计Sclar 等 2024

结论是:单次提问的结果不构成任何证据。每题必须重复多次,看分布而不是看单值。这是归因的前提,不做这一步后面都是空的。

第二个干扰源:模型版本更新

平台更新模型时,所有品牌的表现可能一起变动。这种变动不属于任何一方的工作成果。

处理方式不是弃用数据,是把时间轴切段。更新发生在哪一轮,就在那一轮画一条线,段内做比较,跨段只看趋势方向。报告里要写明这条线的位置。

实务上有个识别技巧:如果某一轮里自己和所有竞品的数据同向大幅变动,大概率是平台侧的变化,而不是谁的工作突然生效了。

第三个干扰源:竞品动作

竞品发了一批内容、拿到几篇报道,自己的相对位置就会变,哪怕自己什么都没做。

这个干扰源没法排除,只能观测。办法是在每轮记录时把答案里出现的所有其他品牌名一起记下来,形成一份名单和各自的出现次数。自己的数字下降而某个竞品同步上升,归因方向就清楚了。

有一条纪律:统计口径要对称。统计自己时算正文标注的来源,统计竞品时也算正文标注的来源,不能一边宽一边严。

第四个干扰源:问法漂移

这个最隐蔽。问题集在使用过程中常常被人悄悄改动:有人觉得某个问法不自然顺手改了措辞,有人补了几道新题,有人把重复的删了。

改完之后数据还在同一张表里,看起来可比,实际上已经不可比。前面提到的格式敏感性研究说明,措辞的微小变化就足以改变结果。

处理方式是把问题集当成代码管理:原文冻结,任何改动记一次版本,旧版本继续并行测量至少两轮。复测之后那一页写了版本切换时的具体处理步骤。

干扰源识别信号处理方式能否排除
输出随机性同题多次结果不同每题重复多次,看分布不能,只能降低
模型版本更新自己与竞品同向大幅变动时间轴切段,段内比较不能,但可标注
竞品动作自己降而某竞品同步升每轮记录全部出现的品牌名不能,只能观测
问法漂移问题集文本被改过问题集冻结并做版本管理能,靠纪律
抓取延迟改动与测量间隔过短改动后留三周再复测能,靠排期
改动混批一轮里上线多项改动分批上线,间隔三周能,靠排期

这张表里前三行是不能排除的,后三行是能排除的。实际项目里出问题最多的是后三行,因为它们靠的是流程纪律而不是技术难度,而纪律最容易在赶进度的时候被放弃。

一个具体的归因失败案例形态

这个形态常见到值得单独写出来。

第一个月做了技术修复,第二个月上了八篇内容,第三个月复测,被点名率从两成涨到三成五。报告写「内容生产带来 15 个百分点的提升」。

这句话至少有三处站不住。技术修复和内容上线之间没有分批,无法分辨是哪一项起的作用;期间平台更新过一次模型,而报告里没有标注;问题集在第二个月被补了五道新题,分母变了。

把这三处还原之后,可以说的只剩一句:原有的三十道题在未改动组和改动组之间出现了差异,改动组的被点名次数上升更多,方向与内容上线时间吻合,幅度待下一轮确认。

这句话听起来弱,但它是可以兑现的。前面那句听起来强,第四个月就得自己打自己。

对照组怎么设

没有真正的随机对照组,但有两种可用的近似。

一种是按问题分组。把问题集分成两组,这一轮只对其中一组对应的内容做改动,另一组不动。两组在同一时间、同一条件下测量,平台侧的变化会同时作用在两组上,组间差异更接近工作本身的效果。

另一种是按时间错开。同一批改动分两次上线,间隔三周以上,看两次是否出现相似的变化形态。形态相似说明不是偶然。

两种都不严格,但比没有对照好得多。

什么情况下不能归因

三种情况要明确说不能。

改动和测量之间没有间隔。内容刚上线就复测,抓取都未必完成,这时候的数据和改动无关。

同一轮里做了多项改动。技术修复、内容补写、第三方投放一起上,数字动了也不知道是哪一项起的作用。想知道就得分批上线。

样本量太小。三十道题、每题三次,总共九十条答案,这个量级能看出大的变化方向,看不出几个百分点的差异。拿它去论证小幅提升是过度解读。

报告上该怎么写

把能归因的和不能归因的分开写,不要合成一个结论。

能归因的部分写成「这一组问题上的变化与第三周上线的内容改动时间吻合,另一组未改动的问题同期无明显变化」。不能归因的部分写成「本轮数据整体上移,同期竞品同向变动,怀疑与平台侧更新有关,待下一轮确认」。

这样写出来的报告不漂亮,但它的每一句都站得住。持续测量的指标定义、报告周期与归因口径,效果监测那一页按交付物列了。

参考来源