模型错的时候,那个“错”在它内部是存在的。
只是没走到输出那一层。
十月初 arXiv 上有篇论文正好给了这个猜测一点证据。作者是 Ravishka Rathnasuriya 和 Wei Yang,做代码生成里的过度自信失败,四个开源代码模型,三个基于执行的基准。结论里有一条,我觉得被顺手转述的人漏掉了:他们在模型的隐藏表示里找到了一些关于“这段代码对不对”的信息,而这些信息在输出的置信度里看不到。¹
这条是探索性的,作者自己也没把它当主结论。但它是全篇唯一一条指向“换个地方取样”的发现,其余几条都在说现有的取样方式不行。
先说论证稍弱的那部分。
我们都默认了一件事:模型给每个 token 一个概率,这个概率反映它有多确信。所以把低概率的样本滤掉,剩下的就更准。选择性生成、confidence-based reranking、拒答阈值,名字不同,内核一样。
在代码上,这个东西垮得比在自然语言上厉害。原因不神秘:概率是在“下一个 token 是什么”上定义的,正确性是“这段程序跑起来对不对”。这两件事中间隔着一整个运行时。一段代码可以在文本层面顺得不能再顺,因为骨架来自训练集里某个模板,填进去的变量名恰好都合法,然后在第三行除零。
换句话说,token 概率测的是“这句话像不像我会说的话”,不是“这段代码能不能跑”。在自然语言里这两个大致相关,在代码里相关性弱得多。
这里我要挑一个措辞。
“过度自信”这个词用在这里,多少占了点便宜。它预设了存在一个恰当的自信水平,而模型超出了。可是代码生成里那个基准是什么?模型在一个见过一万遍的模板上生成,和一个它拼接出来的东西上生成,概率可以一样高,前者对后者错。这不叫过度,这叫没区分。用一个“过度”去描述“没有区分”,会让人以为把概率整体压一压就好了。压一压只是让所有东西都变低,区分度一点没动。
论文里那条关于指令微调的发现,是同一件事的另一个侧面。微调之后,失败的生成变得更确定了,但模型区分对错的能力没有稳定提升。翻译一下:它在“像不像好答案”这个维度上被推得更极端,“对不对”那个维度没跟着动。置信度涨了,信息量没涨。
所以问题不在于模型的信心太足。问题在于,它信心的那个东西和你想要的那个东西,不是同一个东西。
然后是那条探索性的发现。
如果隐藏表示里带着输出的置信度没体现出来的正确性信息,那么真正的缺口不在“模型不知道”,在“模型没处说”。这是接口问题,不是能力问题。
这两类问题的处理方式完全不一样。能力问题得等下一版模型。接口问题你今天就能动手,代价是换一个取信号的端口,不再从输出分布里取,而是从中间层取。探针、线性读出、拿激活去做二分类,这些方法都不新,只是过去被用在别的地方。
你可能会反对说,探针这套东西又脆又要标注,跨模型一换就废,工程上根本不划算。这个反驳很硬,我接受。² 但它的脆弱是工程脆弱,修一修还能用。校准那套的失败是原理性的:你从一个不测正确性的分布里取样,再怎么校准也取不出正确性。前者是难做,后者是做不成。这两件事不该被放在同一个天平上比性价比。
写到这里我得回头收紧一句。开头我说“不是不知道自己错了”,说得太满。更准确的说法是:有些情况下它内部有对的信号,有些情况下没有。论文只给了存在性证据,没给覆盖率。我把“存在”写成了“知道”,这是偷了一步。³
那篇论文最后评估了几种常见缓解手段,结论是能改善可靠性的某些方面,但没法可靠地解决这个问题。这个结论其实挺客气。我的读法是:这些手段都在调输出那一层,而问题在更里面。调外面治不了里面,这不是剂量问题。
如果这个判断对,接下来值得盯的不是谁把校准做得更好,而是有没有人开始认真做“从中间层读状态”,并且把它做成能上生产的东西。这条路现在的工具都很原始,方向是对的。
反过来,还在拿 token 概率当产品核心指标的那批东西,我猜明年这个时候会有一批悄无声息地下线。不是因为不准,是因为不准得没有规律。一个偶尔不准、但知道自己什么时候不准的系统还能用;一个不准得很自信的系统不能用。
缺口在出口,不在里面。
¹ 论文编号 arXiv:2610.11300,2026 年 10 月 8 日提交。提这个是为了让人能自己去看,不是说它比我说的更权威。
² 跨模型迁移差这件事,我怀疑一部分原因是探针训练用的标签本身来自执行结果,而执行结果的分布在不同基准上差很多。这只是猜测,没验过。
³ 还有一种可能:那个“内部有信号”的结果是探针过拟合出来的。探索性分析样本通常不大,我不排除这个。
