一致性抓不出走过场式的盖章
当标注者不读就接受模型预标注时,标注者间一致性反而会上升。所有从标注本身算出的质量指标都会变好。时间是唯一剩下的信号。
有一种失效模式,我们现有的每一项质量指标都会把它读反。
一个模型为语料做了预标注。三位标注者来复核。其中两位逐条阅读建议并修正错误;第三位看都不看,全盘接受。
现在来算你的质量指标:
- 标注者间一致性会上升,因为第三位与模型完全吻合,而另外两位接受下来的大部分内容也是如此。
- 基准准确率会在模型判断正确之处上升,而那是大多数情况。
- 需要裁决的量会下降,因为可裁决的东西变少了。
每一块看板都变好了。那位什么活都没干的标注者,与那两位干了活的无从区分——而按一致性来看,他还像是最好的标注者,因为他从不引入个人化的修正。
为什么这在 2026 年尤其成为问题
经机遇校正的一致性,是为独立判断设计的。正是这一假设让机遇基线具有意义。
预标注打破了它。两位都接受了同一条建议的标注者,并不是各自独立地得出了相同答案;他们共享了同一个来源。这个系数仍然算得出来,但它的含义已不再是其解释所说的那样。
当预标注还只是偶尔的模型辅助建议时,这还是个小众问题。如今一键自动标注已成为全行业的默认做法,而信度相关的文献尚未跟上。
唯一显出差别的地方
标注本身没有任何东西能把走过场与认真复核区分开,因为在模型判断正确的那些情形中,两者产出的是逐字节相同的输出。这里没有可供寻找的内容信号。
不同的是过程:
人无法在 300 毫秒内检视一条掩码边界并做出判断。偶尔一次也许可以,如果目标很明显的话。但作为跨大量条目的中位数,那就不是熟练。
因此 Potato 记录的是过程:每个图形的耗时、笔迹动态、修改次数、缩放行为,以及那个最常改变决策的信号——AI 建议的接受延迟,即从建议被呈现到被接受之间的时间。
记录过程,而不记录内容
显而易见的反对意见是"这是监控",而这个质疑是合理的。设计上的回答是:事件记录无法还原标注本身。
一条事件包含时间戳、动作、几何类型,以及一个整数。任何情况下都不含坐标。这是结构性属性而非一条政策:根本没有可以放坐标的字段,并且有测试对此做了断言。
文本侧的对应物遵循同样的原则。击键记录记录的是时间与编辑结构,从不记录字符。它在 beforeinput 而非 keydown 上捕获,因为粘贴、拖放、输入法、语音听写与自动填充都会在不触发 keydown 的情况下改变字段内容——所以只监听 keydown 的记录器,恰恰对它本该检测的那些情况视而不见。"出现的字符"与"实际按下的键"之间的落差,是最有力的单一信号。
标注者会看到录制提示,并且该提示默认开启。这正是研究工具与监控之间的分界线。
我们刻意没有做的事
不附带任何预训练的分类器。 走过场行为并不存在带标注的语料,而把拟合出来的系数说成"已验证",就是在编造验证。检测由少数几条透明规则构成,证据可见,并按项目做百分位校准。
我们也不宣称能检测出 AI 撰写的标注。"能标示出被粘贴而非逐字键入的回答",才是数据支持的说法。"能检测 AI 生成的文本"则不是,而只要有人打算据此采取行动,这个差别就很重要。
如何读这些数字
要读分布,绝不要在单个条目上设阈值。 三条经得起推敲的原则:
- 把每位标注者与项目本身比较,而不是与某个常数比较。 简单的语料确实就是快。在你自己的项目内做百分位校准,是唯一站得住脚的基线。
- 寻找连续片段。 连续二十次低于 500 毫秒的接受,比一次作业中零散分布的二十次要有力得多。
- 按是否存在建议来切分。 标注者自己绘制的速度,是衡量其接受速度的天然对照。
另外基准率很重要。在一个 80% 的条目确实微不足道的语料中,快通常就是对的,而一条为抓走过场而调好的规则,最终大多会抓到"能力强"。一次标记是"值得去看看"的提示,而不是结论本身。
令人不安的部分
如果你正在运行一项带预标注的标注研究却没有记录时间,那么你目前没有任何办法判断你的标注者究竟是在复核还是在接受。你的一致性统计不会告诉你,而且它们看起来会很漂亮。
预标注确实有帮助,所以这并不是反对预标注的论证。这是主张去测量预标注改变了什么。