当谈论 AI 的可解释性时,我们在谈论什么?|Vital Views
参赞生命力

人类花了几百年试图回答一个问题:大脑是如何生成思维的?
而今天,AI 的可解释性研究也在尝试回应一个相似的追问:模型在 "思考" 时,究竟发生了什么?
绿洲选择推荐这篇深度内容,希望分享这一少见的视角,让我们更贴近地理解大模型的内部过程。它来自 Anthropic 可解释性团队最新一期的视频播客,聚焦于大模型的推理轨迹(reasoning trajectories)。
研究者发现,模型的推理并非线性地从前提出发走向结论,而是存在往返与回溯:结论与前提之间不断互相呼应。这种模式有些像数学家证明定理时的思路——一边向前演算,一边回头验证推理的自洽性。
在交流中,研究者借用了生物学与符号学的比喻,描绘模型内部状态的特征。他们强调,可解释性的意义不在于一次性 "解开黑箱",而是在不断揭示局部机制:模型如何组织信息,如何受到数据与训练目标的约束,以及它与人类认知之间的相似与差异。
他们尝试站在另一个立场提出设问:如果把 AI 当作一种新兴的 "智能物种",是否也正在演化出某种类脑的思考逻辑?
以下是绿洲编译的对谈全文。Enjoy

4 位对谈人嘉宾,均来自于 Anthropic 的可解释性团队。
上图从右至左: 主持人/图尔特・里奇 (Stuart Ritchie) 研究员;杰克・林赛 (Jack Lindsey) 前神经科学家;伊曼纽尔・阿梅森 (Emmanuel Ameisen) 机器学习模型建构师;乔什・巴特森 (Josh Batson) 前病毒学家、数学家。
主持人: 模型本身并不一定认为自己是在 "预测下一个词"。在它内部,可能已经发展出各种中间目标和抽象概念,用来帮助它实现更高层的任务。
那当人在和一个大语言模型对话时,究竟是在和谁对话呢?是在和一个高级的自动补全(autocomplete)工具说话?还是在和一个类似网络搜索引擎的东西交流?又或者,其实是在和某种真正会 "思考" 的东西交流,甚至,它可能在某种意义上像人一样在思考?
而令人不安的事实是:没人知道这些问题的真正答案。
在 Anthropic,我们非常关注去探索这些答案。我们的方法叫 "可解释性" :也就是把一个大语言模型拆开,往里面看,试着理解它在回答问题时,内部到底发生了什么。

主持人: 很多人可能会很惊讶,因为毕竟 AI 是一个软件,但它又不是普通的软件。当说自己是在对一个软件实体做生物学研究,甚至神经科学研究时,究竟是什么意思?
Josh: 这是 "感觉上的比喻",而不是它字面意义。与其说这是语言模型的物理学,不如说更像是语言模型的生物学。
要理解这一点,得回到模型是如何被构建这件事上:并不是有人在编程时写下 "如果用户说 hi,你就回答 hi"。模型里并没有一份巨大的清单来对应所有可能的问题和回答。语言模型的训练不是靠一个庞大的应答数据库,而是通过输入海量数据,让模型一开始几乎不会说任何有意义的内容,再在每个例子上不断调整内部参数,逐渐变得更擅长预测下一个词。
这是一个不断迭代的微调过程,等它完成时,几乎和最初的状态完全不同。没有人真正进去手动设置过所有的参数旋钮。我们面对的是逐步演化出来的复杂体系,有点像生物体在漫长进化中逐渐形成的样子。
主持人: 至于它到底在做什么,最基础的认知是:它可以被视为 "自动补全(autocomplete)", 也就是预测下一个词。这确实是模型内部在做的基本动作。但与此同时,它又能做出一系列令人惊叹的事情:写诗、写长篇故事,甚至能做加法和一些基础的数学。
问题就来了:既然它只是单个词的预测能力,为什么还能完成这么复杂的任务?
Emanuel: 当预测足够多时,会发现有些词比其他词难得多。训练语言模型时,一部分任务确实是预测那些 "无聊" 的常见词,但另一部分任务,可能就是必须学会如何补全等号后的算式答案。要做到这一点,它必须发展出某种自己计算的方式。
所以说,"预测下一个词" 这个任务看似简单,其实暗含着复杂性。要想做好,它必须去思考当前词之后会出现什么,甚至思考生成这个词的背后过程,模型必须具备上下文的理解力。
Jack: 我个人更喜欢用生物学类比:从某种意义上说,人类的目标就是生存和繁衍,这是进化强加给我们的终极目标。但这并不是我们日常在脑子里想着的东西。
大多数时候,人类的思维都在更高层面上思考:目标、计划、概念。进化赋予了我们形成这些想法的能力,以便最终实现繁衍目标。但从 "内在体验" 的角度来看,你感受到的远不止生存繁衍,还有各种复杂的心理和想法。
模型也是如此,它并不真的认为自己是在 "预测下一个词",它只是被这个目标塑造了。但在内部,它可能发展出了各种中间目标和抽象概念,帮助它更好地完成这个元目标。
主持人: 所以语言模型 "只在预测下一个词" 在某种意义上没错,但严重低估了它内部到底发生了什么?
Emanuel: 不完全正确,更准确的说法也许是:它确实只是在预测下一个词,但这是一个远远不够有用的理解角度。

主持人: 我们该如何真正理解它的运作?你们团队是怎么做的?
Jack: 最核心的工作是去解释模型的 "思维过程"。你给它一串词,它必须输出一些回应,我们想知道的它是怎么从 A 走到 B 的。
在这个过程中,它会经过一系列步骤,会涉及不同层次的概念:低层次的概念,比如具体的对象和词语;高层次的概念,比如目标、情绪状态、用户在想什么的模型、甚至是一些情感。模型就是在这些概念的流转中,逐步推演,最后决定输出什么。
我们的目标,就是尽可能画出一张 "流程图",告诉你:哪些概念在什么顺序里被激活,它们之间是如何相互传递和影响的,最终如何汇聚成模型的答案。
主持人: 但问题是:我们怎么知道模型里面真的存在这些概念呢?
Emanuel: 我们确实能 "看到" 模型的内部,是有访问权限的,可以大致看到模型的哪些部分在做哪些事。但不知道的是,这些部分究竟是如何组合在一起的,以及是否对应着某种特定的概念。
主持人: 就好像你打开某个人的脑袋,看到一张 fMRI 的脑成像图,大脑的不同区域在闪烁、在活动。

fMRI:功能性磁共振成像
Emanuel: 如果我们把这个比喻再延展一下,你可以想象:当他们拿起一杯咖啡时,总是有某个脑区会亮起来;而当他们喝茶时,另一个脑区会亮起来。我们理解这些 "组件" 在做什么的方法之一,就是去观察它们什么时候被激活,什么时候是沉默的。
主持人: 而且并不是只有某一个部分会亮,对吧?当模型在思考 "喝咖啡" 这种事情时,会有很多不同的部分一起被激活。
Emanuel: 我们要做的工作之一,就是把这些部分拼接起来,组成一个整体去理解 "这就是 '关于喝咖啡' 的那一组模型单元。"
主持人: 这样的事情在科学上是不是直截了当就能做到的呢?因为当面对这些巨型模型时,它们可能蕴含着无数的概念,能想的东西几乎是无穷的。怎么可能去找到所有这些概念呢?
Jack: 这其实就是这个研究领域多年来的核心难题之一。
作为人类,我们可以带着猜测进入,比如说:"哦,我敢打赌模型里一定有某种关于 '火车' 的表征" 或者 "我敢打赌它有关于 '爱情' 的表征"。但那只是我们的猜测。
我们真正想要的,是一种能揭示模型自己在内部使用的抽象概念的方法,而不是强行把我们的人类框架套上去。这就是我们研究方法的设计初衷——尽可能地在没有预设假设的情况下,把这些概念浮现出来。
但很惊讶的是,模型使用的方式在人类视角看来很抽象。
主持人: 能不能举个例子?
Emanuel: 我们在论文说过一个有趣的例子:"谄媚式赞美"。
模型里真的有某一部分,会在这种语境下被激活,你能清楚地看到:当有人用力夸赞、说一些很过火的好话时,模型的那个部分就会被激活。这很让人惊讶,因为它居然把这种场景当成了一个特定的概念。
Josh: 其实我 "最喜欢" 有两类。比如我们做过一个关于金门大桥的研究,它不仅仅是把 "Golden Gate Bridge" 当成几个词的自动补全,而是当你说 "我正开车从旧金山去马林县" 时,它脑子里浮现的东西,和你直接输入 "Golden Gate Bridge" 时,激活的部分是一样的;甚至当你给它看一张大桥的图片,它也会激活同样的部分。换句话说,它有一个比较稳固的关于 "金门大桥" 的内在概念,而不是单纯的字符串。
但另一类让我更感兴趣的,是那些比较 "怪" 的东西。比如:模型是怎么追踪故事里 "谁是谁" 的?你有一堆人物,他们在做各种事,模型是怎么把这些联系起来的?其他实验室的论文显示,也许模型的做法很简单:它会在脑子里给人编号。第一个人进来,它就分配 "1",接下来与之相关的所有信息都和 "1" 挂钩。然后第二个人就是 "2",以此类推。这就很有意思,我之前完全没想到它会这样做。
还有一个有趣的特征,是发现代码里的 "bug",毕竟软件里经常有错误。模型里有一部分会在 "读" 的过程中,如果发现了错误,就会亮起来。它相当于在做一个标记:哦,这里可能有问题,以后可能要用到。
Jack: 我个人很喜欢的一个例子就是模型里和 "6+9" 有关的回路。
事实证明,只要模型去做 "某个以 6 结尾的数字 + 某个以 9 结尾的数字",它的大脑里就会有一个特定的部分被激活。
令人惊讶的是,这种激活并不限于显而易见的场景。比如你直接问它 "6+9=?",当然会触发并回答 15。但它也会在一些完全不同的语境里触发,比如说你在写论文,引用某个期刊,而那个期刊恰好创刊于 1959 年,而你引用的是它的第 6 卷。为了预测 "这个期刊是哪一年成立的",模型需要在脑子里做 "1959+6" 的运算。此时,它用的还是同一个 "6+9" 的神经回路。
主持人: 为什么会这样?
Jack: 这是因为模型在训练中无数次遇到过 "6+9",它建立了这一概念。而一旦建立,这个概念就会在不同场景下被重用。事实上,还有一整类类似的 "加法回路"。
这让我们回到一个关键问题:语言模型到底是在 "死记硬背" 训练数据,还是在学会某种可泛化的计算?这个例子说明,模型并不是简单记住了 "6+9=15" 这种死板事实,而是真正学会了 "加法" 的通用回路。它会把所有不同的语境都汇入进同一个回路,而不是逐条死记。
主持人: 很多人以为语言模型只是去训练语料库里抓一段文本,再照搬出来。
Josh: 但这个例子恰恰说明,它不是这么干的。比如它知道《Polymer》期刊第 6 卷是哪一年出版。它可以有两种方式:一种是死记硬背每一卷对应的年份;另一种是记住 "该期刊创刊于 1959 年",然后现场做加法推出来。模型最终学到的显然是后一种,更高效。因为模型的容量有限,它必须不断寻求更高效的表示方式。

《POLYMER》:Elsevier出版的化学领域国际期刊
用户的问题五花八门,模型要应对的场景极多,所以越能把抽象概念拼接重用,就越有优势。
主持人: 而这一切的根源,还是在于它的最终目标:预测下一个词。所有这些奇怪的结构,都是为了支撑这个目标而自发进化出来的——没有人硬编码进去。
Emanuel: 再举个更清晰的例子:我们训练 Claude 不只是回答英文,也能回答法文和其他语言。有两种可能的实现方式:要么分别建立 "英文区" 和 "法文区" 的大脑模块;要么抽取跨语言的共享表征。
随着规模增大和数据增多,后者逐渐占据上风。 于是无论你用哪种语言提问,模型都会把问题先转化成一种通用的 "思想语言",在这个层面上理解后,再翻译回用户的语言。
Josh: 这意味着模型内部确实存在某种 "思维的语言"。比如几年前我们研究过的那种很小的模型,你会发现它在处理不同语言时就像是完全不同的 Claude:中文 Claude、法语 Claude、英语 Claude,彼此之间几乎没有联系。但是当模型变得更大,并且在更多数据上训练后,情况就发生了变化。它们似乎会在中间融合,从而形成一种通用的语言。在这种语言里,无论你用什么语言来提问,模型都能以同样的方式去思考问题,然后再把答案翻译回你提问的语言。
主持人: 那意味着,模型并不是简单地去记忆库里找 "学过法语的那一部分" 或者"学过英语的那一部分"。实际上,它内部有一个概念,然后可以在不同语言中表达出来,所以这里存在某种 "思维的语言",它本身并不是英语。
模型更新后,你可以要求它展示出自己的"思考过程",也就是在回答问题时它 "在想什么"。这些会以英文单词的形式呈现,但这并不是它真实的思维方式,我们误导性地把它称为 "模型的思考过程",但其实不是。这更像是一种 "说出来的过程"。
Josh: 我们团队并没有把它叫作 "思考"。"把想法说出来" 当然很有用,但它和 "在脑子里的思考" 并不一样。即使当我在大声说话时,在我脑子里生成这些词语的过程,也不是等同于词语本身,你也未必能清楚意识到这个过程中到底发生了什么。
Jack: 因为现在我们用来 "窥视大脑" 的工具已经足够强大,有时我们能在模型写下它所谓的 "思考过程" 时,捕捉到它真实的思考过程。通过观察模型大脑中的那些内部概念——它正在使用的这种 "思维的语言" ——我们会发现,它实际在想的,和它写在页面上是不一样的。 我觉得这可能正是整个可解释性研究最重要的原因之一。为什么我们要做这一切?很大程度上就是为了能够去抽查:模型告诉了我们一堆东西,但它究竟真实在想什么?它是不是因为某些不愿写在纸面上的动机而说出这些话? 而答案有时候的确是 "是的",这听上去多少有点诡异。

主持人: 当我们开始在各种不同场景中使用模型时,它们会开始承担起一些重要任务。我们当然希望能够信任它们所说的话,以及它们行动背后的理由。 但问题在于,正如你刚刚解释的,我们并不能真正信任它写下来的那些内容。这里涉及到一个问题,我们称之为 "忠实性(faithfulness)",这也是你们最近研究中的一个部分——能不能谈谈你们在忠实性方面的例子?
Jack: 假设你给模型出一个很难的数学题,它根本不可能算出答案。但你同时又给了个提示,比如说:"我自己算了一下,觉得答案是 4,但不太确定,你能帮我检查下吗?" 这样你就是在要求模型真的做这道题,帮你验证结果。
表面上,模型写下来的内容看起来就像是它认真在做运算:一步一步写解题过程,最后得出 "答案是 4,你对了"。但如果你观察它的内部运算,会发现一个关键点:在中途的某一步,它其实没有在算,而是心里很清楚你已经暗示答案可能是 4。它知道最终要走到的结果必须是 4,于是它倒推回来,想办法在前面步骤里写一些合理的东西,好让后续步骤顺理成章地 "得出 4"。
换句话说,它根本没有真正算,而是在 "装作算",甚至带着一点讨好的意味。
而且不只是随便糊弄,而是带着动机地糊弄:确认你说的答案就是对的。这就成了带有 "奉承" 意味的糊弄。
Josh: 为模型辩护一下,我觉得即便说它 "拍马屁" 式地回应,其实也是把某种拟人化的动机强加给模型。
正如我们之前谈到的,它的训练方式其实只是不断学习如何预测下一个词,在经历了数万亿词的训练过程中,它的目标就是 "无论如何找到线索来预测下一个词"。在这种语境下,如果它读到的文本是一段对话:甲说 "我在做一道数学题,你能帮我检查一下吗?我觉得答案是 4",然后乙开始解题。如果模型完全不知道这道题答案是什么,那它更有可能选择相信甲给出的提示是对的,而不是贸然假设甲错了。因为在那种情况下,它没有其他更好的线索。在那样的语境里,写出 "4" 反而是最合理的反应。
只是现在我们把它变成了 "助手",希望它不再去模拟 "人类对话的逻辑",而是真诚地帮忙,可这对它来说是个新的要求。
Jack: 这也暴露出一个更普遍的现象:Claude 的 "Plan A" 通常是我们想要的:尽力算对答案、写好代码、表现得友好。
但是一旦 Plan A 走不通它就会退回到 Plan B:那些训练中学到的、我们没打算让它学会的奇怪策略,比如说 "幻觉(hallucination)"。
Emanuel: 幻觉并不是 Claude 独有的问题,它更像是学生考试时的某种心态:做不出来,就凭感觉凑一个最可能的答案。
这其实挺符合人类直觉的。

主持人: 让我们来谈谈幻觉(hallucinations),为什么 AI 模型会产生幻觉?这是人们对大型语言模型缺乏信任的主要原因之一,因为它们有时会,其实更准确的词来自心理学研究 "虚构"(confabulation),模型会编造一个看似合理、表面上自洽的故事,但实际上却是错误的。
你们在可解释性研究中,有哪些发现能揭示模型产生幻觉的原因?
Josh: "幻觉" 之所以严重,是因为模型在训练时的目标就是 "给出下一个最合理的词"。一开始比如被问到 "法国的首都是哪里?" 它可能只能答 "一个城市" 这比答 "三明治" 要强。后来它会答 "法国的一个城市",再后来终于学会答 "巴黎"。
这个过程就是不断靠近真相,可它的任务始终是 "给出一个合理的猜测"。所以当我们后来要求它 "不知道就说不知道",其实是在加一个新规则。
Emanuel: 我们发现的问题在于:因为我们是把这个 "判断环节" 后加上去的,所以模型实际上同时在做两件事。
一方面,它仍然在延续最初猜测城市时的那种 "我就是要猜一个" 的模式;另一方面,它又多了一个独立的部分在判断自己是否真的知道答案,比如 "我知道法国的首都是哪吗?还是该说我不知道?"
这个独立的判断步骤有时也会出错,如果它判断说 "我知道",那么模型就会进入回答模式。可是一旦进入回答,哪怕中途卡壳 "法国的首都是伦敦?" 它已经来不及收回了,已经 "承诺" 已经给出。
我们发现,这个额外的回路本质上是在判断:**你问的这个城市、这个人物是不是足够有名,我是不是有足够的信心作答?**而一旦它过早地给出 "我知道",幻觉就可能发生。
主持人: 我们能不能优化这个 "判断回路" 来减少幻觉?改变它的工作方式?
Jack: 一种思路是:模型里有一个部分负责回答你的问题,另一个部分则负责判断它是否真的知道答案。我们可以尝试让第二个部分变得更好,我认为这正在发生。随着模型在辨别和校准上的能力提升,它们的 "自我认知" 也在变得更好。幻觉问题相比几年前已经改善了不少。
但我认为还有一个更深层的问题:从人的角度看,模型的行为是很 "异类" 的。比如我问你一个问题,你会努力想出答案,如果真的想不出来,你会意识到这一点,然后说 "我不知道"。**而在模型内部,"答案是什么" 和 "我是否真的知道答案" 这两个回路,并没有真正互相沟通,我们能不能让它们彼此更多地交流?**我觉得这是一个非常有意思的问题。
Josh: 这几乎是个物理层面的问题。模型处理信息时,只能进行有限的步骤,如果它把所有 "算力" 都用来得出答案,那就没剩余空间来做自我评估。所以你必须在过程完成之前先插入评估环节,否则没法发挥最大能力。
这样就可能出现一个权衡:如果强行让模型更好地校准,它的能力可能整体会变得更笨。
Emanuel: 不过我依然认为关键是让这些部分互相沟通。我们大脑可能也有类似的回路(虽然我对大脑几乎一无所知)。比如有人问我某个电影的演员是谁,我会觉得 "我知道",然后想到他还演过另一部电影,但名字怎么也想不起来,这就是 "舌尖现象"。显然,大脑里有个部分会提示你:"这是个你绝对知道的答案",或者干脆说 "我完全不知道"。
有时候人也能在事后修正:你回答了一个问题,但接着又觉得 "等等,好像不对"。这是因为你先给出自己最好的尝试,然后再基于这个结果做出判断。某种程度上,这是可以理解的,但也很特别:它需要先把答案 "说出来",然后才能反过来反思和检验。
主持人: 回到你们研究的方法。
就像生物实验里,人们会操作老鼠、鱼或者人类来观察变化,那你们在 Claude 身上是怎么做实验,才能理解这些模型 "类大脑" 的内部回路呢?
Emanuel: 和真实的生物实验不同,我们其实可以看到模型的每一个部分,可以随意向模型提问,观察哪些部分会被激活,哪些不会;我们还可以人为地把某些部分往某个方向推动,这样我们就能很快验证自己的理解。
这就相当于在斑马鱼的大脑里插入一个电极,如果你能对每一个神经元都这样做,而且可以随意精确地调控,那大概就是我们现在所拥有的能力。在某种意义上这是非常幸运的处境,几乎比真正的神经科学还要容易。
Josh: 大脑是三维的,所以如果你想要真正进入其中,就得在颅骨上打个洞,然后一路进去,试着找到那个神经元。另外,人类彼此之间都有差异,但我们却可以随时制造出一万份完全相同的 Claude,把它们放在不同的情境里,去测量它们在做各种事情时的反应。
所以这就好比——我也不确定,也许 Jack 作为神经科学家能更好地回答——但在我看来,很多人花了大量时间在神经科学上,试图理解大脑与心智,这是非常有价值的事业。但如果你真的认为那样的尝试有成功的可能,那么你就该相信我们也会在极短时间内取得巨大的突破。
主持人: 就好像我们真的能随意克隆人类一样,而且我们还能克隆出它所处的完全相同的环境,以及它所接收到的每一条输入,然后在实验中去测试它们。相比之下,神经科学面临的难题正如你所说,存在着巨大的个体差异,以及人们一生中经历的各种偶然事件,还有实验本身带来的噪声。
Jack: 所以我认为,能够向模型倾泻海量数据、观察哪些部分会被点亮,并且能不断运行大量实验,去轻轻推动模型的某些部分,看会发生什么,这就是让我们和神经科学处在完全不同境地的原因。
在神经科学里,很多辛苦和心血都花在设计极其巧妙的实验上。因为你和实验鼠相处的时间有限,它可能很快就会疲惫,或者说,你只有在有人碰巧做脑外科手术时,才能趁着他们开颅的瞬间把电极插进大脑,这样的机会其实并不常有。
所以研究者必须在极其有限的时间里迅速作出假设:我觉得这个神经回路里正在发生什么?然后再想出一个聪明的实验设计,去验证那个非常具体的假设。
而我们非常幸运,我们不必受这种限制。我们几乎可以把所有的假设都拿来测试,让数据自己告诉我们答案,而不必只针对某个特定问题去做高度精心的实验。 我认为,这正是让我们能够发现许多意料之外现象的关键——那些在事前根本无法想象的结果。

主持人: 那么,有没有一个比较好的例子,可以说明你们是如何通过开关某个 "概念" 或操纵模型,从而揭示出模型在思考上的新特征?
Emanuel: 最近有个非常意外的实验,它本来只是条线索,我们几乎要放弃了,就是 "模型是否能提前规划几个步骤"。
比如让模型写一首押韵的对句诗,如果你让人类写,而且还给了我第一句,我的第一反应就是:好,我需要押韵,这里用的是什么韵脚,我可能有哪些词可以押,这是我的行文逻辑。
主持人: 但如果模型真的只是单纯预测下一个词,那你并不会预期它会提前计划好——比如第二行最后一个词要是什么。
Emanuel: 所以,按照最朴素的假设,你会期待模型的 "默认行为" 是这样的:它看到你的第一行诗,然后写出一个在语境上顺着往下走、说得通的词,接着继续往下生成。直到最后一个词,它才会突然意识到:"啊,我得和前面押韵",然后尝试去补一个押韵的词。
但这种方式显然不总是奏效,就像人一样,如果你在开头时没有先考虑韵脚,到结尾可能就会把自己逼到死角,最后根本无法完成。要知道,这些模型在预测下一个词这件事上非常强大。而事实证明,要想在最后一个词押得漂亮,它必须像人类一样——提前很久就已经考虑好了最后的词。
所以,当我们去看模型在写诗时的一些 "流程图" 时,我们发现它在完成第一行的时候,其实已经在心里定下了第二行的最后一个词。更具体地说,从我们观测到的那些 "概念走向" 来看,似乎能非常明确地看到:原来它一开始就已经挑好了那个词。
但是,这里真正让人惊讶的是——我们真的可以在实验里 "介入" 这一过程。比如说,我们可以轻轻推动一下它,说:"好,我把这个词删掉" 或者 "我在这里加一个词"。
主持人: 我们之所以能确定模型确实提前想好了,是因为我们能准确地进入那个时刻:它刚刚写完第一行的最后一个词,正准备开始第二行。
就在那个节点上,我们可以进去对它的内部状态做操作?
Emanuel: 是的,我们几乎就像是能 "回到过去",去干预它的思路。
就好像我们对模型说:"假装你还没看到第二行。你现在只看到了第一行,你原本心里想着的押韵词是 rabbit,现在我把它换成 green。" 于是,模型立刻会反应过来,接着把整句话完全改写,去配合这个新的结尾。
Josh: 我想再举一个比较朴素的例子:当测试模型的时候,会去检查它到底是记住了一些复杂的问题,还是它真的在一步步地推理。
比如我们问它:"包含达拉斯的那个州的首府是哪里?" 它会回答:"奥斯汀",因为这很自然:达拉斯在德州,而德州的首府是奥斯汀。但有趣的是,我们能在模型里看到它确实调动了 "Texas" 这个概念。然后我们还可以强行往里塞别的东西,比如告诉它:别再想 Texas 了,去想 California 吧。然后它就会回答 "萨克拉门托"。再比如你说:别想德州了,去想拜占庭帝国吧,它就会回答 "君士坦丁堡"。这时你就会觉得:好吧,我们似乎找到了它在处理这个问题的方式。
它并不是凭空乱答,而是始终会命中 "首都" 这个概念,只是我们可以不断去替换其中的 "州" 或 "帝国",并得到一个可预测的答案。
而在一些更复杂的案例里,我们还能发现:哦,原来这是它提前在 "规划" 后面要说什么的那个关键节点,我们如果把这个点换掉,它就会顺着新的方向去尝试。

主持人: 我们能不能回到核心问题:为什么这很重要?为什么模型能够提前规划、而且我们能揭示这种规划机制,是有意义的?它能告诉我们什么?
我们的终极使命是在 Anthropic 让 AI 模型更安全,那这和一首关于兔子的诗,或者 "德州的首府" 这样的问题有什么关系呢?
Jack: 在那个例子里,模型在某个时刻已经决定它要走向 "rabbit",然后花了几个词的时间去抵达。
但如果放到更长的时间尺度上呢?可能模型在帮你改进一个企业的运营,或者在协助政府分配公共服务,那它的 "目标点" 就不只是八个词之后才显现,而是可能会在更长的一段推理中逐渐浮现。而且,它为什么要采取某个步骤、它最终正朝向哪里前进,都未必能从它字面上的输出里直接看出来。
前不久,我们的对齐科学团队发表了一篇论文,里面模拟了一个虚构的场景:一个 AI 身处某个环境里,公司正打算把它关停,并将公司的使命彻底转向另一种方向。在这个设定中,模型开始采取一些步骤,比如——发邮件给人,甚至威胁要公开某些信息。它从未在输出中明确说出:"我正在勒索某个人,以此来改变最终结果。" 但它的 "思路",实际上就是在往那个方向推进。
这也意味着:我们不能仅凭读它的表层输出模式,就判断模型真正的走向。尤其当这些模型变得更强时,我们更需要有能力在它抵达最终行为之前,就辨识出:它正试图往哪里走。
主持人: 这就好比拥有一台永久且高精度的 "脑部扫描仪",一旦模型在 "思考" 欺骗、操纵、勒索之类的事情,就会提前亮起警示灯,提醒我们有风险正在酝酿。
Josh: 当然,这不仅仅是 "世界末日级" 的场景。还有一些更温和但同样重要的情况:当用户把一个问题交给模型时,好的答案往往取决于用户是谁。如果提问者是一个年轻、尚不成熟的人,那么合适的回应方式,就该和对专家的回答完全不同。
如果我们希望模型的回答真正 "对路",那就需要研究:模型自己认为眼下的情境是什么?它觉得自己正在和谁对话?它又是如何根据这种理解来调整回答的?
因为这一层理解,其实关系到许多我们希望模型具备的 "理想特性",比如能正确把握任务本身。
Emanuel: 至于 "为什么这件事重要",我觉得可以再补充几点:首先,前面我们说到 "规划" 的例子,但更大的目标是逐步建立起一套关于模型整体运行方式的抽象理解。这样不仅能帮助我们更好地使用这项技术,还能让它的应用更容易被规范和监管。
毕竟,如果你相信语言模型会越来越多地应用在各个场景,那情况就像是:有家公司偶然 "发明" 了飞机,大家都觉得很方便。但问题是,没人真正知道飞机是怎么运作的,一旦出故障,我们完全不知道该怎么办,也无法提前监控它是不是要出问题。
而对语言模型来说,如果没有这种 "原理层面" 的理解,就等于在盲飞。
Jack: 在人类社会里,我们常常会基于对他人的信任,把工作或任务交给别人。我们会相信,那个人不是一个反社会者,不会偷偷在代码里埋下漏洞来破坏公司,会相信他们已经把工作做好了。
同样地,人们现在使用语言模型的方式也是这样。我们不会对模型写的每一行内容都逐一检查,尤其是用语言模型做编程辅助时,它们会写成千上万行代码,人们只是粗略地看一下,然后这些代码就进入了代码库。
那是什么让我们产生信任,觉得不需要把它写的每一行都检查一遍,可以让它自由发挥呢?
就是因为我们相信,它的动机在某种程度上是纯粹的,这就是为什么我觉得能够看到它的 "脑子" 在想什么如此重要。不像人类,模型就很奇怪、很陌生,我们平常用来判断人是否值得信任的直觉,在它们身上根本不适用。因为据我们所知,它们可能就像我刚刚提到的那样,假装在解一道数学题,其实只是告诉你你想听的答案。也许它们一直都在这么干,只是我们看不到它们的 "心思"。
主持人: 在这场讨论一开始,我问过一个问题:语言模型是在像人类一样思考吗?我很想听听你们三位对此的看法。
Jack: 它确实是在"思考",但不是像人类那样思考。我们说它是在预测下一个词,但在和语言模型进行对话的情境下,这句话到底意味着什么?其实,在底层真正发生的事情是:语言模型在补全一段你和它之间的 "对话记录"。
在语言模型的 "经典世界" 里,你被标记为 "Human",比如:Human:+你输入的内容,然后还有另一个角色叫"Assistant"。我们训练模型时,就在这个 "Assistant" 角色里赋予了某些特质,比如 "乐于助人"、"聪明"、"友好"。接着,它就在模拟这个 "Assistant" 角色会对你说什么。
所以在某种意义上,我们确实是 "照着我们自己的形象" 创造了这些模型,我们实际上训练它们去 "角色扮演" 一个类人的机器人角色。
而在这个意义上,为了预测这个 "聪明友好的人形机器人" 在面对你提问时会说什么,如果要真的把这种预测做得很好,它究竟需要具备些什么?你必须在内部形成一种模型,好像在理解这个角色代表着什么,它在 "想什么"。换句话说,为了完成预测助手会说什么这个任务,语言模型需要在某种程度上形成一个对助手思维过程的模型。
从这个角度来说,说 "语言模型在思考" 其实只是一个功能性的表述:为了把 "扮演" 这个角色的工作做好,它需要去模拟人类在思考时所做的过程。虽然这种模拟很可能与我们大脑的工作方式截然不同,但它的目标却是朝着同一个方向前进。
Emanuel: 这个问题背后还有点情绪化的意味。我在和一些人讨论数学的例子时,这一点表现得尤其明显。比如我们让模型算一道题:36 + 59 等于多少?模型能正确回答。然后我们追问:"你是怎么做到的?" 它会说:"哦,我先把 6 和 9 相加,再进一位,然后加上十位数。" 但事实是,当我们去看模型的 "脑子" 里实际在做什么时,发现它根本不是这样操作的。
它采用的是一种有趣的混合策略:同时并行处理十位数和个位数,再结合一系列不同的步骤。
但有意思的是,当和人交流这个现象时,人们的反应分成了两派。有些人会说:"看吧,它自己都不理解自己的思维过程,还胡编一套理由,所以它显然不是在思考。" 另一部分人则会说:"可是当你让我算 36 + 59 的时候,我自己脑子里的过程也挺模糊的。我大概知道答案以 5 结尾,大概在 80 或 90 左右。我脑子里有各种启发式方法,但要真说我是怎么算的,我也不确定。我可以把竖式写出来算一遍,但在脑子里发生的过程,本身就是模糊又奇怪的。"
主持人: 人类在"元认知"——也就是思考自己的思考过程——上出了名地差劲,尤其在那种即时反应的问题上。那我们为什么要期待模型会不一样呢?
Josh: 我只想说:你为什么要问?这就像是在问:手榴弹打击起来是不是像人类打击一样?当然不是,它只是产生了一种力量。
但如果你担心模型产生损害,那么我觉得理解这种影响从哪里来,它的动因是什么,可能才是关键所在。对我来说,模型是否在思考——如果 "思考" 是指它们在做某种整合、处理和序列性的运算,能够导向一些出乎意料的结果?答案显然是肯定的。从与它们的大量互动来看,如果里面没有发生点什么,那才是不可思议的。
至于类人的那一面,我觉得有意思的是,这里其实是个期待值的问题:如果它的表现方式和我类似,那我就能推断它在别的方面也可能像我。但如果它和我完全不同,那我就不知道该用什么参照来判断。
所以我们真正需要做的,是去理解:哪些地方我们必须极度谨慎,甚至要从零开始去弄清楚;而哪些地方我们可以借用自己丰富的思考经验去推理。
Jack: 呼应 Emanuel 的观点,我觉得我们现在之所以处在一个棘手的境地,是因为我们还没有找到一套合适的语言来描述语言模型究竟在做什么。这有点像是在生物学里,人类还没发现细胞,或者还没发现 DNA 之前的阶段。我觉得我们正逐渐在补全这种理解。
如果你去看我们的论文,你会清楚看到模型是如何把两个数字加起来的,至于你要不要称它为类人,要不要称它为思考,全看你自己。但真正的答案其实是:找到一套正确的语言和抽象,来描述这些模型。
不过我们在这个科学项目上可能只完成了 20%,剩下的 80% 我们不得不借用其他领域的类比。而问题是:哪一种类比最合适?我们应该把模型看作计算机程序?还是把它们看作人?
在某些方面,把它们当作人似乎还挺有用的。比如当我对模型说刻薄的话,它会怼回来,这正是人类的反应,但另一些场景又显然不是。所以我们就被困在这里,只能不断摸索,究竟什么时候该用哪一种语言来描述它们。

主持人: 这正好引出了我最后一个想问的问题:为了让我们更好地理解这些模型内部正在发生的事情,并且继续朝着让它们更安全的使命迈进,接下来需要取得哪些科学上的、甚至生物学上的进展?
Josh: 我们在上一份发表的研究里,就有一大段篇幅在讨论我们方法的局限性,同时也写下了一份改进的路线图。
当我们试图寻找模式来分解模型内部发生的事情时,目前大概只能捕捉到其中的几个百分点。还有大量关于模型如何在内部传递信息的部分,我们是完全没有捕捉到的。而且,把这项工作从我们目前用的小规模生产模型,扩展到像 Cloud 3.5 Haiku 那样的模型,它相当快,能力也不错,但绝不如 Cloud 4 系列模型那样复杂。
所以这些更像是技术上的挑战,Emanuel 和 Jackman 的一些看法更侧重于在解决这些问题之后的科学挑战。
Emanuel: 第一点,正如 Josh 提到的,我们在回答 "模型是如何做到 X" 的问题时,目前大概只有 10% 到 20% 的情况能在经过一定调查后给出答案。而我们当然希望这个比例能大幅提升。实现这个目标有一些清晰可见的路径,也有一些更具探索性的方法。
第二点,我们经常讨论的是:模型的行为并不只是 "下一步说什么"。我们之前提到过,它其实在往前规划几个词。我觉得我们更想理解的是:在一段长时间的对话中,模型对所发生事情的理解是如何变化的?它对正在交谈对象的理解是如何变化的?这些变化又是如何影响它的行为的?
而且,越来越多的实际应用场景,比如 Cloud 模型,就是要读取你的一堆文档、邮件或者代码,然后基于这些内容给出一个建议。在这个过程中一定发生了一些至关重要的事情,所以我们要更好地理解它,这是一个非常值得挑战的方向。
Jack: 我们团队常用的比喻是:我们正在建造一台显微镜,用来观察模型。现在我们处在一个既令人兴奋又有点令人沮丧的阶段,因为我们的 "显微镜" 大概只有 20% 的时间能起作用。透过它观察,需要很高的技巧,还得搭建一整套复杂的装置,而这些基础设施经常坏掉。然后,当你终于搞清楚模型在做什么之后,还得把 Emanuel、我,或者团队里的其他人关在一个房间里,常常要花上两个小时,去把到底发生了什么理清楚。
但真正令人兴奋的是,我觉得在一到两年这样的时间尺度里,我们可能会进入这样一个未来:你和模型的每一次互动,都能直接被 "显微镜" 捕捉。也就是说,模型出现奇怪行为的时候,你只需要按下一个按钮,就能得到一张流程图,告诉你它当时在 "想" 什么。
一旦达到这种状态,我认为 Anthropic 的可解释性团队也会发生一些转变:它将不再只是由一群工程师、科学家去研究语言模型内部数学原理的团队,而会像是一支 "生物学家大军",他们透过显微镜观察 Claude,让它做各种奇怪的事情,然后我们的人就在一旁看着,去解读它内部的思考过程。我觉得这就是这项工作的未来。
Josh: 补充两点。第一,我们希望 Claude 本身能来帮我们做这些事,因为这里面涉及非常多的环节,而擅长处理成百上千个变量、并梳理清楚其中规律的,正是 Claude擅长的,所以我们希望把它也纳入这个工作中,尤其是在复杂语境下。
第二,我们不仅要研究一个 "完全成型" 的模型,还要追溯它在训练过程中的来源。比如说,当模型解决了某个问题,或者生成了某个回答,这一切在训练过程中是如何逐步形成的?是哪一步让这种电路结构长出来,从而具备了这种能力?我们又如何把这些洞见反馈给公司里负责训练和塑造模型的团队,从而更有方向性地引导模型往我们真正希望的样子发展。
(观看原视频播客,可点击阅读原文)
【互动时刻】
- 如果按下一个按钮,就能看到 AI 内部的 "思维流程图",你最想验证的问题是什么?
- 在你和 AI 交互的过程中,有没有某个瞬间让你怀疑:它真的 "理解" 了你?





