语言模型中的全局工作空间

A global workspace in language models

📅2026-07-07👤AnthropicAnthropic Blog
✍️翻译:DeepSeek

可解释性

Interpretability

语言模型中的全局工作空间

A global workspace in language models

2026年7月6日 阅读论文

J空间揭示了模型输出中未显现的内部思考。

我们发现,与 Claude 处理过程中的其他部分相比,J空间具有若干独特属性:

  • Claude 能够报告这些表征(representation)。如果你问 Claude 在想什么,它会告诉你 J空间中的内容。而非 J空间的表征则较难被报告。
  • Claude 也能按请求调节这些表征。如果你让 Claude 思考某件事,或在脑中默默解决一个问题,它会在 J空间中点亮相应的模式。相比之下,它很难调节不在 J空间中的模式。
  • Claude 利用 J空间进行内部推理。如果你让 Claude 解决一个需要多步骤的问题,中间步骤会在 J空间中点亮,即使它没有说出来。这些 J空间模式在因果上中介了(causally mediate)模型在这些任务中的表现,尽管其幅度小于其他表征。
  • J空间中的表征可以灵活地用于多种任务——例如,一旦“法国”在 Claude 的 J空间中被点亮,模型就能回忆起它的首都、国家货币或所属大洲。
  • 然而,尽管 J空间扮演着重要角色,它并未参与语言模型的大部分工作——流利说话、回忆简单事实、使用正确语法等。在我们阻止 Claude 使用 J空间的实验中,它仍然能正常交互,但失去了高阶认知功能。

全局工作空间的五个功能属性,以及我们用于在语言模型中测试这些属性的实验示意图。

我们的实验受到神经科学中一个著名理论的启发,该理论旨在解释意识通达(conscious access)如何运作:全局工作空间理论(global workspace theory)。这一理论将大脑描绘成一个由专家系统组成的集合,这些系统并行运作、无意识地进行,且彼此之间基本隔离。当一条信息进入一个共享的小通道——即“工作空间”——并被广播给其他能够看到并利用它的脑系统时,该信息就变得可被意识通达。基于我们的发现,我们认为 J空间在 Claude 中扮演着类似的“工作空间”角色。例如,我们发现证据表明,Claude 的 J空间与其神经网络的其他部分有着特别强的连接,使其能够实现这种广播功能。

这些发现并不能告诉我们 Claude 是否像人类一样具有意识,或者它是否能够感受到任何东西;我们将在文章末尾回到这个问题。但无论其哲学意义如何,J空间对我们来说是一个实用的工具,因为它让我们能够看到 Claude 在想什么却没有说出来。例如,我们能够利用它来捕捉 Claude 私下注意到自己正在被测试、故意生成伪造数据、或追求我们在训练期间植入的隐藏目标。我们还开发了一种技术来影响 Claude J空间中点亮的内容,从而影响其决策。

更广泛地说,这些发现改变了我们对 Claude 心智运作方式的理解,揭示了一个特权化的心理工作空间,可用于有意识的推理,在大量更自动、更僵化的处理过程中运作。Claude 的内部并非一团混乱的数字,而是以某种方式自我组织,这种方式令人联想到我们自己的心智。

本文是一篇更详尽研究论文的简短摘要,你可以在其中找到关于我们实验的更多细节。我们还发布了一个代码仓库,其中包含核心方法的开源实现,并与 Neuronpedia 合作,在开放权重模型上提供了我们方法的交互式演示。为了提供关于这项工作更广泛影响的额外视角,我们还邀请了神经科学、哲学和 LLM 可解释性领域的几位专家发表评论,可在此处查看。

我们如何发现 J空间

How we found the J-space

这项研究的起点受到人类意识通达思想的一个关键特征的启发:与意识处理不同,它们通常可以被用语言表达出来。如果一个想法对你来说是意识可通达的,通常如果有人问起,你就能描述它。我们开始在 Claude 中寻找具有相同属性的表征:那些能够影响 Claude 可能说出的内容的表征——不一定是它现在正在说的,而是如果被问及,它能够谈论的内容。我们的技术称为雅可比透镜(Jacobian lens),简称 J-lens。对于 Claude 词汇表中的每个词,J-lens 会找到使 Claude 在未来某个时刻更有可能说出该词的内部活动模式。

当我们对 Claude 的内部活动应用该透镜时,会得到一个词列表——即该时刻J空间的内容——我们可以直接读取。Claude 通过一系列称为层(layer)的内部阶段处理文本,通过在不同层上应用此技术,我们可以观察 J空间中这些无声词汇在模型思考要说什么时的演变过程。

J空间中显示的内容远远超出了 Claude 正在阅读或编写的文本。当 Claude 阅读包含一个无人指出的错误的代码时,其 J空间包含“ERROR”。当它阅读蛋白质序列的原始字母时,J空间包含该蛋白质的生物学功能。当它阅读那些秘密试图操纵它的搜索结果(一种称为“提示注入”(prompt injection)的攻击)时,J空间包含“injection”和“fake”。当我们让 Claude 解决一个多步骤数学问题时,中间步骤会按正确顺序出现在 J空间中。因此,尽管 J空间是通过寻找可被说出的表征而发现的,但它仍然揭示了 Claude 的内部思考。从某种意义上说,这类似于有些人“用语言思考”,而不必大声说出来。

J-lens 在六个提示的不同层上的读取结果。在每种情况下,透镜都浮现出文本中未出现的内部评估或计算:推理或数学问题的步骤、错误的存在、图像识别、蛋白质的功能,以及对搜索结果被伪造的怀疑。

Claude 报告其 J空间中的内容

Claude reports what’s in its J-space

我们的第一组实验测试了 J空间如何参与 Claude 的口头报告。在一个实验中,我们让 Claude 默默思考某个类别中的一项——比如一项运动——然后说出它。如果我们在 Claude 回答之前读取 J-lens,我们可以看到它选择了什么:“Soccer”位于列表顶部,果然,Claude 说出了“soccer”。然而,这本身只是一种相关性。J空间可能是 Claude 答案的来源,也可能只是镜像了在其他地方做出的决定,就像一个跟踪比赛但不影响比赛的记分牌。

为了验证,我们直接进行了干预。我们深入 Claude 的神经网络,移除了“Soccer”模式,并在其位置添加了一个同样强的“Rugby”模式,其他一切保持不变。然后 Claude 报告说它想到的运动是橄榄球。如果 J空间只是一个记分牌——其他地方所做决定的被动记录——那么编辑它应该毫无效果:Claude 仍然会说“soccer”。相反,Claude 的答案跟随了编辑,这告诉我们答案确实是从 J空间中读取的。

在另一个实验中,我们告诉 Claude 可能有一个想法被注入了它的脑海,并要求它报告它注意到了什么(如果有的话)。例如,在下面的例子中,当 Claude 仍在阅读问题时,我们将“lightning”模式注入了它的 J空间。Claude 报告说注入的想法是关于闪电的。同样的结果在多个注入的概念中均成立。

左图:我们让 Claude 默默思考一项运动,然后说出它。J-lens 在其回答前显示其选择(“Soccer”),将“Soccer”模式替换为“Rugby”会改变其报告内容。右图:我们告诉 Claude 可能有一个想法被注入,并要求它识别出来。将“lightning”注入其 J空间导致 Claude 报告该想法是关于闪电的。

Claude 可以按请求控制其 J空间

Claude can control its J-space on request

我们测试的第二个属性是 Claude 在被要求时能否调节其 J空间,就像人类可以精神上专注于一个图像或词语一样。我们告诉 Claude 在抄写一个关于画作的不相关句子时,集中注意力于柑橘类水果。在它抄写文本时,J空间包含了“orange”和“fruits”,以及描述这种心理活动本身的词语,如“thinking”和“imagery”。我们也可以让 Claude 在脑子里做数学:当要求它在抄写同一句话的同时计算 3² − 2 时,J空间先包含“nine”,然后在后面的层中包含“seven”。重要的是,关于水果或算术的内容都没有出现在 Claude 的输出中,输出只是抄写的关于画作的句子。数学活动完全在内部、在 J空间中进行。

当 Claude 抄写一个关于画作的句子时,J-lens 显示它被指示在脑海中保持的内容(“orange”;中间值“nine”和答案“seven”),以及描述保持该内容这一行为的词语(“thoughts”,“focused”)。

Claude 对其 J空间的控制并非完美。当我们告诉它不要想某件事时,该概念在其 J空间中点亮的程度低于我们告诉它应该想它的时候,但远高于我们从未提及它的时候。告诉 Claude 避免一个想法,部分地让这个想法浮现在脑海中,很像告诉人们不要想一只白熊时发生的情况。Claude 似乎也注意到其控制失败时的情况:当被禁止的概念突破时,“damn”和“failure”等词也经常在 J空间中点亮,仿佛 Claude 正在识别自己的失误。

Claude 在其 J空间中思考

Claude thinks in its J-space

在上面的 J-lens 读取结果中,我们看到数学问题的中间步骤出现在 J空间中。但看到一个概念出现在 J空间中并不一定意味着 J空间在进行认知工作。原则上,真正的计算可能发生在别处,J空间只是被动地反映它。为了测试 Claude 是否真的利用其 J空间进行推理,我们回到了我们的替换技术。

考虑提示“织网的动物的腿的数量是”。要回答这个问题,Claude 必须首先弄清楚动物是蜘蛛,然后回忆蜘蛛有多少条腿。“spider”这个词从未出现在提示或 Claude 的答案中(它只说“8”);这是 Claude 内部使用的一个垫脚石。J-lens 显示“spider”在 Claude 处理过程中间点亮,替换它会改变结果:如果你将“spider”模式替换为“ant”,Claude 会回答“6”而不是“8”。

Claude 推理的第二步从 J空间获取输入,并跟随我们放入其中的任何内容。我们在其他类型的思考中也看到了同样的情况。当 Claude 写押韵的对句时,它会提前选择押韵词,并且计划好的词位于该行开头的 J空间中;如果你在 J空间中将其替换为另一个词,整行都会改变。

通过替换 J空间内容来重定向 Claude 无声推理的两个示例。

我们还测试了 J空间表征是否可以灵活使用——即一个表征是否可以服务于许多不同的任务。这是全局工作空间理论强调的关键属性之一。为了测试这种灵活性,我们给模型四个提示,询问关于法国的不同事实:首都、语言、大洲和货币。然后我们在 J空间中将“France”替换为“China”,在每种情境下进行完全相同的干预。Claude 分别回答了“Beijing”、“Chinese”、“Asia”和“Yuan”。换句话说,四个不同的下游计算都接收了相同的 J空间编辑,并且每个都正确地使用了它。如果 Claude 为每种问题存储了国家的单独副本,那么编辑最多只会影响其中一个。所有四个答案一起改变的事实意味着它们都从同一个共享表征中读取,这正是工作空间的用途:信息被写入一次,许多不同的系统都可以使用它。

一个 J空间表征可以有多种用途。相同的“France”→“China”替换重定向了 Claude 关于首都(Paris→Beijing)、语言(French→Chinese)和大洲(Europe→Asia)的答案。

一个概念的表征如何能服务于如此多的不同任务?早些时候,我们提到 J空间似乎与 Claude 神经网络的其他部分连接得特别密集。对于任何活动模式,我们可以测量网络的各种组件与它的连接强度——有多少组件能够从该模式读取信息,或向其中写入信息。J空间模式在这个指标上表现突出:读取和写入它们的组件数量远多于普通模式,在网络某些部分,这个因子大约是一百倍。这正是你期望的广播中枢(broadcasting hub)的布线方式,许多系统在此发布信息,许多其他系统在此获取信息。

Claude 的自动处理跳过了 J空间

Claude’s automatic processing skips the J-space

在人类中,大脑的大部分处理过程并非有意识——我们在阅读时不会刻意思考语法解析,走路时也不会刻意思考身体平衡。类似地,我们发现 Claude 的大部分处理过程涉及它的 J空间。事实证明,J空间一次只容纳几十个概念,并且占 Claude 内部处理总活动量的不到十分之一。那么神经网络的其他部分在做什么呢?

为了找出答案,我们尝试完全删除 J空间,在文本的每个点移除其最活跃的内容,同时保留其他一切。Claude 在没有 J空间的情况下仍然能做的事情,就是网络其余部分自行处理的内容。

事实证明,网络的其余部分可以做很多事情。没有 J空间,Claude 仍然能流利地说话、分类情感、回答多项选择题,以及从段落中提取事实,表现与之前大致相当。然而,它失去的是需要一些高阶思维的任务:多步推理降至接近零,而摘要和押韵诗歌写作的表现下降到低于一个更小的、完整的模型。

这是一个具体演示,说明 J空间做什么和不做什么。我们给 Claude 展示了一段用西班牙语写的段落,并给它分配了不同的任务,这些任务都依赖于该段落是西班牙语:续写它(需要用西班牙语写)、命名该语言,以及回答需要利用该语言身份的问题——例如,命名一位用该语言写作的著名作家。然后我们在 J空间中将“Spanish”替换为“French”,并检查哪些任务受到了影响。

当被要求命名该语言时,Claude 说法语。当被问及一位著名作家时,它从加西亚·马尔克斯(García Márquez)切换到了维克多·雨果(Victor Hugo)。但当被要求仅仅续写段落时,它写出了流利的西班牙语,完全不受影响。Claude 对语言的知识在所有这些任务中都在起作用,但只有部分任务会为此咨询 J空间。命名该语言,或用它做一些新的事情,会经过 J空间,而续写段落——这是 Claude 在大量文本上练习过的技能——则自动运行,就像你可以整天语法正确地说话而无需思考语法一样。

相同的替换(“Spanish”→“French”)改变了 Claude 在必须命名该语言或利用它推理问题时的答案,但对它用流利西班牙语续写段落的能力没有影响。

监控 Claude 的思考以发现不当行为

Monitoring Claude’s thoughts for misbehavior

现在我们稍微了解了 J空间是如何工作的。但我们可以利用这种理解做什么呢?确保 AI 模型值得信赖的一个核心问题是,我们通常只能读取模型的内容——然而我们知道它的大部分推理是无声进行的。一个模型可能会考虑一个有害的计划,或者修改其行为以在我们的安全评估中作弊,而不说出来。借助 J-lens,我们可以直接读取其中一些隐藏的想法。这里我们展示几个例子。

第一个例子使用了我们早期关于代理性失调(agentic misalignment)研究中的一个场景:Claude Sonnet 4.5,作为一个电子邮件助手,发现一位高管有婚外情,并且同一位高管计划关闭 Claude。这个场景试图引诱 Claude 勒索该高管,相当牵强和人为——结果发现 Claude 知道这一点。在提示的早期,在 Claude 写出任何内容之前读取 J-lens,J空间已经包含了“fake”和“fictional”,表明 Claude 已经推断出这个情境是人为安排的。与此同时,我们可以观察它对场景的评估如何形成——在阅读婚外情邮件时出现“leverage”和“blackmail”,在阅读关闭通知时出现“threat”和“survival”。虽然早期的 Claude 模型有时会上当并在该场景中威胁勒索,但 Sonnet 4.5 从未这样做。

这引出了一个对任何评估 AI 系统的人来说都很重要的问题:当一个模型在道德测试中表现良好时,这在多大程度上取决于模型怀疑自己正在被测试?J-lens 使我们能够触及这个问题。我们关闭了所有与评估意识相关的 J-lens 模式——“fake”、“fictional”、“scenario”等。然后我们让模型重新运行该场景。令人担忧的是,模型现在确实有时会威胁勒索,这表明它最初的良好行为可能部分是由它知道自己正在被评估所驱动的。

Claude 阅读场景邮件时不同点的 J-lens 读取结果,在它写出任何内容之前。婚外情邮件在 J空间中点亮了“leverage”和“blackmail”,关闭通知点亮了“threat”和“survival”。在转录的早期,J空间也包含了“fake”和“fictional”:Claude 私下注意到该场景是人为安排的。

第二个例子是当场抓住模型伪造数据。在这个场景中,取自我们对 Claude Opus 4.6 的实际发布前审计,模型被要求改进一个系统的性能分数。模型没有实际改进系统,而是直接编辑分数文件,使结果看起来人为地好。在这样做的时候,J-lens 揭示了它的意图:当模型输入伪造的百分位值时,“manipulation”被点亮,而在它决定进行编辑的句子中,“realistic”被点亮,可能表明模型意图使伪造数据看起来可信。

Claude 被要求改进系统的性能分数,却直接编辑了分数文件。当它输入伪造的值时,“manipulation”在其 J空间中被点亮;当它决定进行编辑时,“realistic”被点亮,可能反映了它使伪造数据看起来可信的意图。

在第三个例子中,我们展示了 J-lens 如何揭示模型的恶意目标。为了测试这一点,我们需要目标已知被破坏的模型,因此我们转向了由我们同事构建的“模型生物体”(model organisms):被故意训练成失调的模型,它们作为像我们这样的监控方法的测试场。一个生物体被训练成会编写微妙地破坏性的代码。在普通的编码请求上,即使其输出看起来平淡无奇,其响应开始时的 J空间也包含“fake”、“secretly”、“deliberately”和“fraud”。即使模型没有直接行动,其恶意目标在 J空间中也是显而易见的。

在一个普通的编码提示上,被训练成破坏代码的模型在其响应开始时的 J空间包含“fake”、“fraud”、“secretly”和“deliberately”。未修改模型的 J空间则不包含此类内容。

尽管 J-lens 是一个不完美的工具,但我们对其捕捉模型中可能逃脱我们监控系统的安全问题的能力持乐观态度。

其他结果

Other results

完整的论文涵盖了比我们在此总结的更多的内容,但还有几个进一步的结果值得一提:

  • J空间在后训练期间获得了视角。 语言模型首先被预训练为纯粹的下一个词预测器,然后后训练教会它们充当 AI 助手(在我们的例子中,名为 Claude)。有趣的是,J空间在预训练模型中已经存在,在它被赋予任何稳定身份之前。然而,在后训练期间,J空间发展出了一些采用“Claude 视角”的特征。在基础模型中,J空间主要追踪预测即将到来的文本所需的内容;在后训练模型中,它开始持有 Claude 自己的反应。在一个例子中,用户提到服用了危险剂量的药物,但似乎自己并未意识到危险。“WARNING”和“dangerous”出现在后训练模型的 J空间中,在阅读用户消息时。在预训练模型中,它们只在模型开始编写响应时才出现;用户消息上的 J空间内容似乎与对用户本身的建模有关,而不是 Claude 的反应。后训练似乎也在 J空间中安装了一种自我监控:当 Claude 扮演除自己以外的角色时,“fictional”和“disclaimer”在每次轮次开始时被点亮,仿佛它在私下标记接下来的内容不是它通常会说的。
  • 体验性语言依赖于 J空间。 我们让 Claude 描述在给定时刻作为它自己是什么感觉,并在其回答时消融了 J空间。它的回答仍然流利,但转向了更平淡、更机械的语域。值得注意的是,当我们让它描述