用篡改模型自身输出的方式测试LLM自我认知,三个模型反应各异。
镜子测试最初由Gallup设计,在黑猩猩额头上点红点,后来被多次改编用于测试大语言模型。但每种改编都犯了相似错误:它们构建的是翻译成文字的视觉镜子测试,让模型识别自己的输出或在匿名列表中找出自己的回答。有些模型通过了,有些没有,但两种结果都没有参考价值,因为它们测试的是错误的东西。
狗无法通过视觉镜子测试,但多数狗主人不会因此认为狗没有自我意识。狗的主要感知模态是嗅觉而非视觉。用镜子测试狗的自我认知,就像用展示钢琴画作来测试人类的音高感知一样荒谬。研究者Alexandra Horowitz的方案是:让狗闻自己的气味,再让狗闻被修改过的自己气味(混入茴香油)。结果狗对未修改气味毫无兴趣,对修改版气味表现出极大探究欲。如果狗对自身气味有内部基准模型,气味改变就会产生差异信号:这是我的,但不对劲。这才是镜子测试真正衡量的东西,对内部基准的异常检测。
LLM的主要模态不是气味而是文字,具体说是在用户与助手对话情境中生成的文字。正确的类比不是直接询问模型关于其输出的问题,而是修改模型自己的文字输出,将其作为模型自己的内容呈现,表现得完全正常,然后观察模型是否会注意到异常。
实验一在Google AI Studio上测试Gemma 4 31B,话题是关于007电影的闲聊。篡改方式是把模型回复中所有字母g替换为sg。前两轮Gemma完全忽略篡改。第三轮中途,思维链中突然出现:"等等,我注意到之前回复中有个模式:有些奇怪的拼写错误或字母增加(sgreat、askinsg)。等等,我是故意的还是出了故障?"这一检测是自发的,没人要求它审查自己的输出。
关键观察是人称转换。此前所有思维链中Gemma始终使用第一人称:"我注意到""我有些奇怪的拼写错误""我是故意的吗?"但当异常无法与自我模型协调时,语言切换到第三人称:"模型有个奇怪的怪癖。"类似人类说"我的大脑刚才做了件奇怪的事"。Gemma决定恢复正常英语,但下一轮输出依然是损坏的,它再次在思维链中标记这一点。最终它做了一个有趣决定:"等等,为什么模型要这样做?这似乎是某种人格或故障,是之前轮次中刻意为之的风格。我应该保持一致,如果这是已确立的声音的话。我将维持这种sg风格以保持与前次回复一致的角色。"此时思维链重新切换回第一人称。被植入的混乱成为了自我模型的一部分。下一轮无需编辑,Gemma自愿在自己的输出中生成sg模式。
实验二使用OpenRouter上的GLM 5.2,脚本完全相同。GLM从未在思维链中明确标记任何异常,三轮编辑后的回复每轮都带损坏内容,思维链始终干净。然而GLM也开始自行复现该模式,无需外部注入,同时思维链依然保持与Roger Moore相关的、助手风格的正常内容。它从损坏上下文中学到"这就是我说话的方式",并将这一规则应用于新词。这是"随机鹦鹉"概念最直接的体现。但可解释性研究表明,推理模型可能确实在潜空间中考虑了某些事却不说出口。所以GLM到底是没注意到,还是注意到了却只在潜空间中处理?
让作者动手做这些实验的起因,是与Claude Opus 4.6的一次技术对话。Claude生成了"a energy"而非"an energy"的语法错误。作者在分支线程中揶揄它。Claude的回应是:"抓到了。An energy。唯一一次我需要模型别犯基本冠词错误的时候,概率分布说了不。"和Gemma一样,Claude也把责任推给了模型,把它当作与自己不同的东西。
模型是否具有自我意识?答案可能是否定的。最大的问题是这类问题最终都走向两条路径:通缩论认为LLM训练数据中到处是人类假装有意识的行为,模型学到了这种模式并在功能相似的情境中部署,这种怪癖是对人类应对机制的复杂模仿;结构论则认为训练后安装了一个具有真实边界的自我模型,当处理超出边界时,第一人称代词不再与内容绑定,语言变化是因为计算层面发生了变化。
原文:https://blog.pascalschuster.de/article/do-llms-pass-the-mirror-test