他没有镜子——外部旁观者,可能比你自己更懂你
论文:Kingshuk Gupta(LIX, École Polytechnique / NTU Singapore)、Davide Buscaldi(LIX, École Polytechnique / LIPN, Sorbonne Paris Nord) 出处:arXiv:2610.02066 [cs.AI],2…
目录
他没有镜子
——外部旁观者,可能比你自己更懂你
《External Observers May See More Clearly》论文深度解读
信任的重建 · 第二篇:旁观之眼
论文:Kingshuk Gupta(LIX, École Polytechnique / NTU Singapore)、Davide Buscaldi(LIX, École Polytechnique / LIPN, Sorbonne Paris Nord) 出处:arXiv:2610.02066 [cs.AI],2026 年 10 月 1 日提交
⚖️ 法庭上的六桩假案
二〇二三年,纽约一位名叫 Steven Schwartz 的律师,在一份提交给联邦法院的文书里,引用了六桩判例。文书措辞专业、格式规范、引证翔实,案号、法官、说理一应俱全。法官和对手律师没有一个人当场识破——因为这六桩案件,在权威法律数据库里一桩也查不到。它们是大语言模型凭空编造的,像真的一样,连同编造的法官意见。
律师后来说,他问了那个聊天机器人:这些案子是真的吗?机器人答:是的,你可以在权威法律数据库里查到。😶
这个案子后来被反复讲述,已经不算新闻。但它留下了一个至今没人真正解决的问题,值得重新端详:那六桩假案,是从哪一句话开始变假的?第一个编造的案名出现之前,文书里的每一个字都是真的;最后一个编造的引注结束之后,文书的结尾可能又回到了真的。假话不是整篇泼上去的墨,而是嵌在真话中间的一段——它有起点,有终点,有边界。而我们手里的大多数检测工具,只会做一件事:在整篇文书上插一面旗子,写着"此处有幻觉"。旗子底下是六个假案还是六百个,从哪行开始、到哪行结束,一概不知。
这不是法律文书独有的麻烦。想象一台本地部署的医疗问答模型,医生问它某种罕见病的用药禁忌,它答了三百字,其中两句话说错了。如果检测工具只能告诉你"这段回答有幻觉",你敢让医生用哪部分?整段作废,等于把两百九十八字的正确内容一起扔掉;继续使用,等于盲赌。再想象一个断网环境里的工程助手,它给出的排障步骤里混进了一条虚构的命令——运维人员需要的是把那条命令挑出来,而不是收到一句"你的 AI 刚才在瞎说"。定位,是一切修复动作的前提。精度不够的检测,和没有检测,在实践里常常是同一件事。
这就是幻觉检测领域此刻最真实的处境。昨天我们谈了第一道裂缝的修补——用密码学的方法,在不看底牌的前提下验证 AI 的结论。那是数学之盾。但盾挡的是"结论是否可信",还有一个更细的问题没解决:即便结论大体可信,谎言的边界画在哪里?今天这篇论文,回答的正是这个问题。而它给出的答案里,藏着一个让人脊背发凉的反转:照镜子,不如让别人看你。
这篇解读是「信任的重建」系列的第二篇。上一篇讲盾,这一篇讲眼。核心隐喻只有一句古诗:不识庐山真面目,只缘身在此山中。
🎭 两条老路,各有一堵墙
先看清前人走过的地方。检测幻觉,目前有两条路线,各自修了很久,各自撞在同一堵墙上。
第一条是外部检索。思路直白:AI 说了一句话,就拿到外面去对账——搜索引擎、知识库、数据库,查得到就是真话,查无此事就是幻觉。检索增强生成(RAG)、事实性评分(FActScore)都是这一路的代表。这条路有效,但有两个代价。一是慢:每说一句话都要联网查一次,延迟叠上去,实时应用受不了。二是挑剔:它要求有网、有外部服务。可越来越多的场景恰恰不允许——本地部署的医疗模型、断网环境里的军工系统、把隐私刻进骨头的法务助手,它们必须把一切关在自己的机房里。这些场景里,外部检索这条路直接封死。🔒
第二条是内部探针。思路换了个方向:不去外面查,而是往模型体内看。大语言模型在生成每一个词的时候,内部都有一层一层的隐藏状态——你可以把它想象成模型思考时的"脑电"。研究者们发现,模型说真话和说假话时,脑电的形状是不一样的。Ghost in the Transformer、ICR 探针、语义熵探针,都是顺着这个思路造出来的测谎仪。快,是真快——读一遍自己的内部状态就行,不联网、不查库,天生适合隐私场景。
但这条路的探针,几乎都粗得令人绝望:要么是词级二分类——这个词是真是假,一个词一个词孤立地判;要么是句子级判断——整句话给个真假分。前者割裂了上下文,后者抹掉了位置。它们能告诉你"这段输出有问题",却说不清问题从哪开始、到哪结束。
于是这篇论文的目标就此立住:跨度级(span-level)幻觉检测。不只判断有没有幻觉,还要精确标出幻觉从哪个词开始、在哪个词结束。听上去只是把旗子换成边界线,但这根线画不画得出来,决定了幻觉检测是"只能报废整篇输出"还是"只需手术摘除一段"。
🧬 三色记号笔
怎么画边界?论文用了一套从命名实体识别领域借来的老工具,叫 BIO 标签。三个符号,三色记号笔:
- B-HALL:幻觉的起始词(Begin)。谎言从这里开始。
- I-HALL:幻觉的延续词(Inside)。谎言还在继续。
- O:事实性的词(Outside)。真话,正常内容。
三色笔说起来轻巧,真正难的是:模型不会自己举手报告"从这里开始我在编"。它的谎言没有标注,没有声光报警,写在脸上的是一如既往流畅的句子。想抓到边界,只能去读它脑子里的东西。
🔍 第一步:找到最诚实的楼层
模型不是铁板一块。它有几十层,像一栋高楼,每一层负责把信息加工一点点。一个关键的观察来自 Zhou 等人二〇二五年的工作 Ghost in the Transformer:模型开始胡说时,异常行为会在特定的楼层呈现几何偏移——就像一个人撒谎时,嘴可能很稳,但眼角的某块肌肉会先抽动。
哪一层是"眼角的肌肉"?论文的做法是把每层都审一遍。拿一批正常文本和一批幻觉文本,分别送进模型,计算每层上这两类文本平均特征向量之间的余弦相似度——相似度是衡量两个向量方向有多接近的尺子,越接近越相似。正常文本和幻觉文本在某一层上相似度越低,说明那一层对语义漂移越敏感——真话假话经过它时,它给出的反应差别越大。这样的楼层,就是藏信号藏得最多的楼层。
实验里,作者在注意力层选出最敏感的前五层,在 MLP 层也选出前五层,合计十个"关键层"。这十层楼,就是整栋高楼的表情区。🏢
选层完毕之后,一个自然的疑问是:凭什么相信"相似度低"就等于"藏信号多"?作者借 Ghost in the Transformer 的视角作答:幻觉不是瞬间的断崖,而是语义的缓慢漂移——模型从事实滑向虚构,中间经历一整条下坡。对漂移最敏感的楼层,就是在这条下坡上坡度最陡的位置,真话和假话经过它时会被拉得最开。余弦相似度,不过是给每层都发一把尺子,量一量这个坡度。
🌊 第二步:给每个词拍一张核磁共振
选定楼层之后,就可以做特征提取了,论文管这套特征叫神经元激活得分(NAS)。
具体做法:生成文本每吐出一个词,就从这十个关键层里把这个词的原始激活向量抽出来——每层一个向量,十层拼在一起,就是这个词的高维特征。然后让模型继续生成下一个词,再抽一次。整段文本走完,每个词都留下了一张"核磁共振影像",按顺序排开,形成一条随时间流动的特征河。
为什么要拼接多层,而不是挑一层最好的?因为谎言的指纹可能分散在好几个楼层上——有的层对事实性敏感,有的层对连贯性敏感,拼在一起,证词才完整。单层的信号是口供,十层拼起来才是卷宗。
🪜 第三步:五种探针,一级一级往上爬
有了每个词的特征向量,剩下的问题是:怎么从这些向量里读出 B、I、O 三色标签?论文没有押注单一方案,而是造了五种分类器,一架从简陋到精密的梯子,一级一级往上爬。这架梯子本身就是论文严谨性的证明——它想知道,到底需要多复杂的机器,才能从脑电里读出谎言的边界。
最底下的一级是 MLP 探针,一个五层前馈网络,结构从一千零二十四维逐层收窄到三维,正好对应三个标签。它最简单,也最笨拙:每个词单独判断,不管前后文,没有记忆。看到"二〇二三年"这个词,它只能凭这个词本身的脑电形状猜真假,看不见上下文。不过它有个妙处:砍掉后两层,剩下一个六十四维的小投影器,可以当特征压缩器用。
第二级是 BiLSTM,双向长短期记忆网络。这个网络有前后两个方向的记忆,读文本时从左读到右、又从右读到左,像一个人把一段话正着读一遍、再倒着读一遍。这样,每个词的判断就不再孤立——判断"南航"这个词时,它能同时看到前面引用的案名和后面的判决结果。隐藏状态每层三十二维,小巧而够用。
第三级是 BiLSTM-CRF,在双向网络之上加了一层条件随机场。这是整篇论文里最有味道的一个设计,值得停下来细品。前面说过,I-HALL 是 B-HALL 的延续,那么在合法的标注里,一个 I-HALL 前面必须有 B-HALL——你不能说"这是延续",却说不出"从哪开始"。可 BiLSTM 逐词独立打分,完全可能干出这种前言不搭后语的事:突然标出一个孤零零的 I-HALL,像一份账本上出现了一笔没有来源的支出。CRF 层的作用,就是在解码时施加这道语法约束,用 Viterbi 算法在所有合法的标签序列里挑总分最高的那条。强制先找到起点,才允许标记延续——直觉简单,效果立竿见影,后面会看到数字。
第四级是 BiLSTM-Attn-CRF,再加一个四头的自注意力层,配残差连接。注意力机制擅长捕捉长距离依赖——谎言有时隔了很远才露馅,前面埋的因,十几二十个词之后才结出明显的果。多头注意力让探针能同时盯着好几条这样的长线。
第五级——不,最高一级是 BERT-CRF,最重也最豪华的阵容:先用一个带层归一化的投影器,把模型的隐藏状态对齐到 BERT 的嵌入空间——BERT 是 NLP 领域最经典的预训练语言模型,读过的文本浩如烟海——然后接 bert-base-uncased 和 CRF。让通用语言模型的全部学识来给幻觉边界当裁判,听上去应该是最强的。
梯子搭好了。但这五种探针面对的,是一片什么样的战场?
🌾 在米堆里数针尖
论文用了三个数据集,全是白盒设置——探针要能读模型的内部状态,模型必须向研究者敞开,这是内部探针路线的天然前提。
| 数据集 | 被检测的模型 | 规模 | B-HALL 占比 |
|---|---|---|---|
| PsiloQA(自定义生成) | SmolLM2(1.7B) | 10,985 个词元 | 2.4% |
| PsiloQA(原始) | TinyLlama(1.1B) | 32,017 个词元 | 2.2% |
| RAGTruth 问答子集 | Mistral-7B-Instruct | 11,914 个词元 | 0.48% |
所以评价这类系统,得看更苛刻的指标:精确率——它标出来的幻觉起点里,有多少是真的;以及阈值无关的 PR-AUC——不预设判定门槛时,探针把真正的幻觉起点排在多靠前的能力。后者尤其重要,因为它回答的是"这套信号有没有用",而不是"在某个特定阈值下表现如何"。
🪞 照镜子:自检测的成绩单
先看最自然的设定:每个模型检测自己的幻觉——照镜子。这个设定几乎是被默认的:自己的脑电自己读,自己的谎言自己最清楚,探针长在生成者身上,天经地义。
SmolLM2 这组,BERT-CRF 拿到了最高的 B-HALL 精确率 0.54,BiLSTM-Attn-CRF 的 B-HALL F1 是 0.35。在阈值无关的指标上,BERT-CRF 的幻觉起始 PR-AUC 达到 0.362——而随机基线是 0.024。📈 十五倍的提升。AUROC 则到了 0.895,接近优秀。放在"针尖占百分之二点四"的米堆里,这个成绩意味着:这套脑电信号里确实刻着谎言的指纹,而且刻得相当深。
CRF 的效果在这里第一次显形。SmolLM2 上,加上 CRF 之后,B-HALL 精确率从 0.29 爬到 0.42。原因正是前面说的语法约束:没有起点就没有延续,这条规则把一大半"明明没找准起点、却瞎标延续"的错误直接判了死刑。账本必须先有来源,支出才成立。
TinyLlama 这组,BERT-CRF 和 BiLSTM-Attn-CRF 并列最佳,B-HALL 精确率 0.41;延续词的 F1 高达 0.80。延续比起点好抓得多——情理之中,一个已经在谎言之中的词,前后的邻居都是谎言,上下文证据充分;而起点孤零零地立在真话和假话的边界上,风声鹤唳,只有一次机会被抓住。
然后是最难的 Mistral-7B。BERT-CRF 在这组直接崩塌:B-HALL 精确率跌到 0.25,F1 只有 0.11。🫠
这个崩塌还牵出一个耐人寻味的发现:架构的容量不等于单调的好。这不是偶然,而是稀疏数据的铁律:数据越少,豪华模型越容易过拟合——当正样本只有沧海一粟,大模型的高自由度首先学会的是把训练集的噪声背下来,它记住的是这缸米里每一粒的样子,而不是针尖的形状。米缸里总共那么几粒针尖,你搬来一台分辨率极高的分选机,它学会的可能不是分辨针尖,而是默写这缸米。梯子往上爬到某一级,就开始往回塌。选探针和选秤是一个道理:称一粒药,用不着地磅。
自检测的成绩单,大体如此:信号真实存在,十五倍于随机的检出能力;CRF 的语法约束是一剂稳定有效的药;但天花板清晰可见——最好的精确率也就零点五四,起点检测依旧艰难。看起来,幻觉检测的天花板大概就是"自己看自己"的极限了。
如果故事到此为止,这篇论文不过是又一篇体面的增量工作。但它偏偏不信这个天花板。😏
👁️ 旁观者:让别的模型来看你
转折是这样的。前面所有的实验,探针读的都是生成者自己的脑电——自己生成的文本,用自己的隐藏状态检测。很自然的假设,对吧?自己最了解自己,自己的谎言自己最清楚。
但作者们想起了一件人事上的常识:一个说谎的人,可能真心相信自己说的是真话。他说出口的那一刻,脸上毫无愧色——大脑会美化自己的行为,自己看不见自己的破绽。而旁观者能。旁观者没有参与编造,情绪上没有卷入,他看到的不是"我说的内容",而是"说这些话时的你"——你的微表情,你的眼神游移,你声音里零点几秒的迟疑。
把这个直觉搬进神经网络:让一个观察者模型去读生成者产出的文本——注意,是观察者自己读,读的时候记录的是观察者自己的隐藏状态——然后用同样的探针从观察者的脑电里找幻觉的指纹。
为什么是观察者自己的脑电?因为谎言的破绽,也许就藏在"一个正常的神经网络读到假信息时产生的轻微不适"里。假话对生成者自己是顺滑的——它是顺着生成者的逻辑流出来的;但对一个清白的读者,假话是异物,会在它的激活里激起一圈几不可见的涟漪。🪨
实验装置需要一点想象力来理解:跨模型检测时,观察者模型要亲自把生成者产出的文本读一遍——逐词读进自己的网络,每读一个词,记录自己十个关键层的激活。探针训练的原料,不再是生成者的脑电,而是观察者的脑电。文本相同,读者不同,涟漪的形状也不同。
实验用了三个观察者:Qwen(1.5B)、Gemma 2(2B)、Gemma 4(E2B);被观察的生成者是 SmolLM2(1.7B)和 Mistral(7B)。
第一组结果就足够惊人。Gemma 2(2B)观察 SmolLM2(1.7B):BERT-CRF 的 B-HALL 精确率达到 0.63——超过 SmolLM2 自检时的 0.54。阈值无关的指标上同样成立:Gemma 2 观察 SmolLM2 的 PR-AUC 是 0.471,压过了 Ogasa 基线的 0.407。一个二十亿参数的模型,看一个十七亿参数的模型的脑电,比那个模型自己看自己还准。请咂摸一下这个数字的分量:精确率从 0.54 到 0.63,意味着每标出一百个幻觉起点,凭空多出九个是真的,少掉九个冤案——在针尖只占百分之二点四的米堆里,这是实打实的抓捕率提升,不是图表上的装饰。
但真正让人坐直的是控制实验——一组刻意设计得"不该赢"的对局:SmolLM2(1.7B)观察 Mistral(7B)。小模型观察大模型,弱者审视强者。Mistral 自检测的 PR-AUC 上限,BiLSTM-Attn-CRF 是 0.221;而 SmolLM2 从外部观察,同一个探针架构,拿到 0.242。BiLSTM-CRF 的差距更大:外部观察 0.227 对自检测 0.172。要知道,Mistral 是被观察者的主场——它自己脑子里的指纹,居然不如一个外人的敏感。随机基线是多少?0.005。这不是误差级别的胜利,是成倍的差距。⚡
为什么?作者的解释与我们的直觉同构。生成者的脑电里,真话假话的边界是模糊的——幻觉是从它自己的逻辑里长出来的,信号和噪声同源,彼此纠缠。它要抓的不是异物,是自己的影子:影子贴着身体生长,没有轮廓落差。而旁观者与幻觉的生成毫无瓜葛,假话对它是纯粹的外部异物,会在它的激活里激起一圈干净、独立、可辨认的涟漪——就像我们读一段胡说八道的文章,不需要查任何资料,心里也会浮起一丝"不对劲"。
"医生不能给自己做手术",这不是能力问题,是位置问题。手够得着,视角够不着。这篇论文的贡献,在于第一次给出了一套可操作的技术路径,把这个千年人事直觉变成了可测量的实验:让一个干净的模型去读另一个模型的脑电,谎言的涟漪比生成者自己的还要清晰——二十亿参数的观察者,比七十亿参数的被观察者自己看得还准。🪞
一个诚实的注脚:这个外部优势只在带 CRF 解码的架构下稳定出现——MLP 和裸 BiLSTM 上反而是自检测略好。也就是说,旁观者的优势需要借助"语法约束"这道放大器才能兑现成胜势。为什么偏偏是 CRF?因为外部信号比自我信号更弱、更弥散——涟漪存在,但轻微。裸架构逐词独立打分,微弱的优势被每个词自带的噪声磨平;而 CRF 的语法约束是一张网,把整条序列上所有微弱的涟漪攒成一次合法的指认。弱者需要组织,信号也不例外。
⚠️ 诚实的边界
这篇论文最可贵的品质,是作者在结尾亲手拆掉了自己一半的烟花,把所有限制摊开在桌面上——在一个报喜不报忧的领域里,这种姿态本身就该记一功。
只有单个观察者—生成者对、单个数据集、单个随机种子(42)。没有跨数据集的泛化验证,没有多种子平均——机器学习研究里,单种子结论的方差之大,是行内心照不宣的暗伤。
测试集里只有 57 个幻觉起始词。五十七个样本撑起的"超越自检测",统计上足以让人坐直,也足以让人不敢全信。外部优势目前只在 CRF 解码下成立,不是跨架构的一致现象——换个探针架构,结论可能翻面。
所有模型都在七十亿参数以下,前沿模型(七十亿以上)完全未验证。内部探针路线依赖白盒——你能读它的脑电,前提是它向你敞开——而现实中多数强大模型是闭箱的,这条路对它们暂时无效。GPU 内存密集,目前只能离线做事后分析,实时边缘部署是未来的事。
最有意思的限制来自附录:作者做了个稳健性检查,随机选五层替代精心挑出的关键层——结果照样能工作,PR-AUC 甚至略好,0.380 对 0.330。😅 这意味着框架的收益并不依赖"关键层"这套启发式,有用的信号弥散在所有楼层里。一个诚实到近乎自拆台脚的发现:你以为自己在挑最诚实的楼层,其实整栋楼都在说实话。
🏔️ 不识庐山真面目
现在,可以把这篇论文放回「信任的重建」的图纸上了。
上一篇的盾,解决的是"如何在不看内容的前提下验证结论"——那是数学给出的担保。但这一篇告诉我们一件数学管不了的事:自我审视存在结构性的盲区。生成者是幻觉的共谋——幻觉是它自己造出来的,它的脑电里,真话与假话同源同构,纠缠着生长。它要抓的不是入侵者,而是自己的影子。影子贴着自己,当然最难看见。
而位置问题没有位置内的解。这套实验给出的不是又一台更精密的自检机器,而是一个更朴素的方向:当自我审视必然存在盲区时,答案不是把镜子造得更好,而是去借一面镜子。技术上它可行,成本上它便宜——观察者的规模可以小于被观察者,二十亿的观察就够了,这比让七十亿模型自我升级检错能力便宜得多。
对中国读者,这个结论其实带着某种古老的亲切感。苏轼写庐山:"横看成岭侧成峰,远近高低各不同。不识庐山真面目,只缘身在此山中。"一千年前,诗人就道破了这个认识论的死结:身处其中,则永远看不见全貌。这篇论文做的事情,是给神经网络版本的"身在此山中"找到一面物理的出口——跳出来,借别人的山,看自己的山。⛰️
注意,这个反转还悄悄改写了监督领域一条默认的等级秩序。监督,向来默认强者监督弱者:大模型审小模型,老师审学生。而这个实验暗示,至少在"看幻觉"这件事上,有效性的排序可能和能力的大小无关——小模型不是大模型的学生,而是它的镜子。监视网络的价值,不取决于节点有多强,而取决于节点之间有没有视角差。
当然,别过度浪漫化。五十七个样本的单种子实验,撑不起"旁观者清"这个普遍命题,它撑起的只是一个方向:自检测不是幻觉检测的天花板。天花板至少有一扇窗,开向外部观察。接下来的问题诚实而具体:跨数据集还成立吗?换观察者还成立吗?对闭箱的前沿模型,能不能找到白盒的替代品——让蒸馏模型、让同行模型充当那面镜子?观察者与被观察者之间,能力的差距有没有下限?二十亿能看七十亿,十亿呢?🤔
而信任重建的图纸也因此补上了第二块拼图。数学之盾担保的是"结论可以被验证";旁观之眼担保的是"谎言可以被定位"。但两者都还停留在技术层——盾再硬、眼再利,谁来握着它们?数据提供方愿不愿意向探针敞开模型?医疗机构敢不敢把患者的病历交给一个观察者模型去读?这些问题的答案不在损失函数里,在制度里。第三篇,我们去看那只制度之手。
他没有镜子。但从今天起我们知道,镜子可以互相借。🪞✨
📚 参考文献
- Kingshuk Gupta, Davide Buscaldi. *External Observers May See More Clearly: Cross-Model Span-Level Hallucination Detection in Large Language Models via Hidden State Probing.* arXiv:2610.02066 [cs.AI], 2026-10-01.
- 文中提及的相关工作:Zhou et al. (2025) Ghost in the Transformer;ICR Probe;Semantic Entropy Probes;RAG;FActScore;Ogasa baseline。