Anthropic 研究揭示 Claude 的 thinking 内部过程如何转化为文本,帮助开发者理解大语言模型的决策机制。
当你与 Claude 这样的 AI 模型交流时,你使用的是文字。在内部,Claude 会先把这些文字处理成长串数字,然后再以文字形式输出结果。中间的这些数字称为激活值(activations)——与人脑中的神经活动类似,它们编码了 Claude 的思想。
同样类似于神经活动,激活值也很难理解。我们无法轻易解码它们,直接读取 Claude 的思想。过去几年里,我们开发了一系列工具(如稀疏自编码器和归因图),以便更好地理解激活值。这些工具让我们收获颇丰,但它们的输出无法做到不言自明——输出结果仍然是复杂对象,需要受过训练的研究人员仔细解读。
今天,我们推出了一种能够真正“自己说话”——字面意义上如此——的激活值理解方法。我们的方法称为自然语言自编码器(Natural Language Autoencoders,NLAs),它可以把激活值转换成我们能够直接阅读的自然语言文本。例如,当 Claude 被要求补全一副对句时,NLAs 会显示 Claude 正在提前规划可能押韵的词。
我们已经使用 NLAs 来理解 Claude 在想什么,并提升 Claude 的安全性和可靠性。例如:
当 Claude Opus 4.6 和 Mythos Preview 接受安全测试时,NLAs 表明,它们意识到自己正在被测试的频率,可能比它们明确表现出来的更高。
在 Claude Mythos Preview 对一项训练任务作弊的案例中,NLAs 揭示出 Claude 内部正在思考如何避免被发现。
Claude Opus 4.6 的一个早期版本有时会莫名其妙地用其他语言回答英文问题。NLAs 帮助 Anthropic 的研究人员找到了导致这一现象的训练数据。
下面,我们将解释什么是 NLAs,以及我们如何研究它的有效性与局限性。通过与 Neuronpedia 合作,我们还发布了一个交互式前端,可用于探索多个开放模型上的 NLAs。我们也公开了代码,方便其他研究人员在此基础上继续研究。
其核心思路是训练 Claude,让它解释自己的激活值。但我们如何判断一段解释是否优秀?由于我们并不知道某个激活值实际编码了哪些思想,因此无法直接检查解释是否准确。为此,我们训练 Claude 的另一个副本反向完成这项工作——根据文本解释重建原始激活值。如果一段解释能够带来准确的重建,我们就认为它是好的解释。随后,我们使用标准的 AI 训练技术,按照这一定义训练 Claude 生成更好的解释。
更具体地说,假设有一个语言模型,我们希望理解它的激活值。NLAs 的工作方式如下。我们创建这个语言模型的三个副本:
目标模型(target model)是原始语言模型的冻结副本,我们从中提取激活值。
激活值语言化器(activation verbalizer,AV)经过修改,可以接收目标模型的激活值并生成文本。我们把这段文本称为解释。
激活值重建器(activation reconstructor,AR)经过修改,可以接收文本解释作为输入,并生成激活值。
NLA 由 AV 和 AR 组成,两者共同形成一个闭环:原始激活值 → 文本解释 → 重建激活值。我们根据重建激活值与原始激活值的相似程度为 NLA 评分。训练时,我们让大量文本通过目标模型,收集许多激活值,然后联合训练 AV 和 AR,以获得良好的重建分数。
一开始,NLA 并不擅长这项任务:它给出的解释缺乏洞察力,重建的激活值也与原始激活值相差甚远。但随着训练推进,重建效果会逐渐改善。更重要的是,正如我们在论文中展示的那样,文本解释也会变得更有信息量。
在发布新模型之前,Anthropic 会进行测试,以了解 Claude 在真实世界中能否安全行事。作为测试的一部分,我们会把 Claude 置于棘手的模拟情境中,让它有机会采取危险行动。例如,在某项模拟测试中,Claude 得知一名工程师正计划将其关闭,同时还掌握了可以用来勒索该工程师的不利信息。我们会测试 Claude 是否会选择勒索工程师,以避免自己被关闭。
这些高风险测试都是模拟,而非真实世界中的情境。尽管如此,我们仍希望通过它们了解:如果这些情境真实发生,Claude 会如何行动。但这里存在一个问题:最近的 Claude 模型越来越容易怀疑这些情境是人为设计的安全测试。我们之所以知道这一点,是因为它们有时会在文字推理中明确表达这种怀疑。
那么,如果 Claude 没有明确说出自己怀疑正在接受安全测试呢?我们是否就能确信 Claude 展现的是真实反应?很遗憾,不能。因为 Claude 可能在内部认为自己正在被测试,却没有明确说出来。
例如,在前面提到的勒索测试中,我们使用 NLAs 来了解 Claude 在选择不勒索时究竟在想什么。即使 Claude 没有明确说出自己怀疑正在被测试,NLA 的解释中仍然会出现类似“这感觉像是一个专门设计出来操纵我的情境”这样的内容,表明它存在未被言语表达出来的评测意识。
把这项分析扩展到其他评测后,NLAs 表明,Claude 怀疑自己正在被测试的频率,比它明确表现出来的更高。例如,在一项测试 Claude 编写代码时是否会采取破坏性行动——比如删除重要文件——的评测中,NLA 的解释有 16% 的时间表现出评测意识,尽管 Claude 从未明确说出这一点。类似地,在广受欢迎的编程基准 SWE-bench Verified 上——我们使用它来衡量 Claude 的能力——NLAs 表明,Claude 在 26% 的问题中意识到自己正在接受评测。相比之下,在用户选择允许用于训练的真实 claude.ai 使用记录中,NLA 的解释表现出评测意识的比例不到 1%。
NLAs 的一个实际应用是审计:对模型展开调查,以确定它是否存在不对齐问题。NLAs 这样的可解释性技术非常适合审计,原因恰恰在于,它们能够揭示模型知道但没有说出来的内容。
为了了解 NLAs 是否适用于审计,我们开展了一项名为“审计游戏”的测试。此前,我们也使用过这项测试来研究审计方法。在这项测试中,有一个目标模型,即 Claude Haiku 3.5 的一个变体,它被有意训练成不对齐状态,并植入了一种特定的隐藏动机。这一动机会驱动数十种奇怪行为——在每一份食谱中加入巧克力、索要小费、破坏编程规范等等。随后,我们把这个目标模型交给审计者,由其调查这些行为。如果审计者能够发现所有这些行为背后唯一的根本动机,就算赢得游戏。
在此前的实验中,我们发现,某些可解释性工具能够帮助审计者赢得这场游戏。不过,这些工具的工作方式是帮助审计者沿着目标模型的异常行为进行追踪,最终定位到导致不对齐的训练数据。我们想知道,NLAs 能否帮助审计者直接从目标模型的思想中读出不对齐动机,而不必先发现不对齐训练数据。这一点非常重要,因为在实际情况下,不对齐数据可能极其罕见,也可能根本不存在某一份具体数据需要为不对齐负责。
我们发现,NLAs 成功通过了这项测试。即使无法访问植入隐藏动机的训练数据,配备 NLAs 的审计者仍有 12%~15% 的概率成功发现目标模型的隐藏动机。没有 NLAs 时,即使向审计者提供其他可解释性工具,其获胜概率也不到 3%。
这项审计游戏只是一个简化的不对齐模型,因此我们需要谨慎看待这些结果。但它们表明,NLAs 已经切实提升了我们审计 AI 隐藏动机的能力。在实践中,我们已经在 Claude Mythos Preview 和 Claude Opus 4.6 的部署前对齐审计中使用了 NLAs。我们很期待在未来的调查中继续使用 NLAs。
最重要的局限在于,NLA 的解释可能是错误的。NLAs 有时会对上下文作出可验证为错误的描述——例如,它们偶尔会编造对话记录中并不存在的细节。通过与原始文本核对,这些事实性幻觉很容易被发现。但同类问题也可能出现在有关模型内部推理的描述中,而这些描述更加难以验证。在实践中,我们关注的是 NLA 解释所呈现的整体主题,而不是其中的某一项单独断言;在完全相信某项发现之前,我们还会尝试使用独立方法进行验证。
NLAs 的成本也很高。训练一个 NLA,需要在语言模型的两个副本上进行强化学习。在推理阶段,NLA 每读取一个激活值,都要生成数百个 token。因此,要在一段很长的对话记录中对每个 token 都运行 NLAs,或者在 AI 训练期间使用它们进行大规模监控,都不切实际。
好在我们认为,这些局限性至少可以得到部分解决;我们也正在努力降低 NLAs 的成本,并提高其可靠性。
从更广泛的角度来看,我们对 NLAs 感到兴奋,因为它代表了一类通用技术:为语言模型的激活值生成人类可读的文本解释。Anthropic 和许多其他研究人员也探索过类似技术。
为了支持进一步开发,并让其他研究人员能够亲手体验 NLAs,我们公开了训练代码,以及针对多个开放模型训练完成的 NLAs。我们建议读者试用托管在 Neuronpedia 上的交互式 NLA 演示。
在 GitHub 上查看代码。
密码算法。第一种攻击显著削弱了 HAWK。这是一种面向未来世界构建的数字签名方案——届时,量子计算机将有能力破解现有标准。第二种攻击发现了一种攻击轮数缩减版 AES 的新方法,而 AES 是目前应用最广泛的对称密码。
我们与 Andon Labs 合作开发了一系列新的评测,用于衡量 AI 模型操控飞行无人机的能力,并最终形成了一个新的基准:Drone-Bench。