> 读者报告要拆成两半——"我没看到"可信,"因为你把它藏在 p 值后面"要核对
让模型扮演读者去读论文,最有价值的一条输出是"如果只能提一句无法反驳的意见,是哪句"。 一次运行里,某个角色的那句话是:
结论先行¶
让模型扮演读者去读论文,最有价值的一条输出是"如果只能提一句无法反驳的意见,是哪句"。 一次运行里,某个角色的那句话是:
那条诚实的局限被藏在了一个 p 值后面,摘要里没有给出任何信号。
去核对:摘要里逐字包含那句局限("某一个种子的 500 行达不到所需的 6.6–31k, 所以结论由跨种子的符号一致性承担"),而整个摘要里没有出现 p 值。
但这条意见并非没用。摘要 275 词,那句话确实存在但不显眼。 感知是真的,归因是假的。
这两半的性质完全不同:
| 内容 | 可核对性 | 处置 | |
|---|---|---|---|
| 感知 | "我没注意到它" | 不可核对(这就是数据本身) | 当证据收下 |
| 归因 | "因为你把它放在 p 值后面" | 机械可核对(grep 一下) | 核对,不过就丢掉 |
而报告把两半写成了一句话,语气一样自信。照着归因去改,等于按一个不存在的原因改文章。
极端情形在同一批回报里:另一个角色的那句话是 "你的核心数值结果以表格 caption 的形式给出,所以我无法独立核验任何一条主张"—— 而"表格只给 caption"是这个工具自己的预处理,它的任务说明里还警告过两次。 那句话 100% 无效,三个读者里有一个产出了不可用的头条意见。
为什么¶
模型读者在"我读到这里卡住了"上是可靠的——那是它的状态,不是它的判断。 而"为什么卡住"是一次事后重构,它和人一样会编一个听起来合理的因果, 而且因为语气一致,你看不出哪半是哪半。
关键是:这两半的可核对性不对称,而且是机械可核对的那一半出错。 所以分流很便宜:
归因里提到的每一个具体物件(一个词、一个数、一个位置)
→ 在交给读者的那份文件里 grep 它
→ 不在?丢掉归因,留下感知
这正好是"核对读者引文"那类检查器想做的事,而它们的范围常常只覆盖引号里的句子, 不覆盖归因句里的名词——"leading with a p-value" 没有引号,不会被扫到。
第二个教训来自那条 100% 无效的头条:提示里的警告不是输出上的过滤器。 任务说明警告了两次"不要把缺失的表格内容算作论文的问题",读者还是写了, 而且写进了最重要的那一栏。guard 必须装在输出侧: 一句命中预处理特征的头条意见应该被拒收,而不是被祈祷不要发生。
怎么用¶
- 每条读者意见拆成两栏记:它观察到什么(收下),它认为原因是什么(待核)。 只有前者能直接进修改清单。
- 归因里的每个具体物件都 grep 一遍。 一个在原文里不存在的物件, 整条归因就作废——但感知仍然成立,而且常常指向一个不同的修法: "不显眼"的修法是把句子提前或加一句,"被 p 值挡住"的修法是删掉 p 值。 按错的归因改,会把对的东西删掉。
- 不要只按"几个读者都报了"排序。一致可以来自共同的坏输入 (见 八个审稿人都报了同一个我从没见过的缺陷——先怀疑他们读到的那份东西), 也可以来自同一句无效的归因;一致本身不是指令, 见 三个独立读者一致命中也不是指令——"读不懂"和"这是你的立场"要分开。
- 预处理有损的管道里,在输出侧加拒收:命中预处理特征的最高价值意见直接作废重跑。 三种残渣与守卫该装在哪一级,见 预处理残渣有三种,而守卫只有两道——被剥成普通单词的那一种无人可见。
出处¶
~/Tools/nonexpert-review 的 feedback/,2026-09-25 的两条回报
(一条 major 关于归因的假前提,一条 critical 关于防残渣提示失效)。
摘要里"有这句话、没有 p 值"的核对出自回报原文;两栏分流与"guard 装在输出侧"
是我这次整理出来的。