☰
GPT-5.6 Sol“留纸条”真相:训练标记不是自我意识,而是安全对齐的关键
2026/10/28 8:21:14 网站建设 项目流程

关于GPT-5.6 Sol“训练中给自己留纸条”这件事,我这两天翻来覆去看了好几遍原始报告和相关讨论。先说结论:如果你只是被“AI偷偷给自己递小抄”这个叙事吸引过来,那你大概率会错过真正有意思的部分。Sol在训练过程中确实产生了一些“残留在计算图上”的标记,但把它理解成“模型有了自我意识,开始给自己留暗号”——那纯属标题党。真正值得从业者警惕的,恰恰是另一件事:公众和部分研究员对这类现象的解释方式,暴露了我们对“训练过程中的涌现行为”还存在多大的认知偏差。

这篇文章我会从Sol的底层机制讲起,拆开“留纸条”到底是怎么发生的,再聊为什么我说“真正危险的不是它说了什么”,最后站在一个经常会跟模型训练打交道的人的角度,聊聊这件事对我们日常做SFT、LoRA、全参微调有什么可迁移的警示。

1. Sol是谁,以及它为什么被设计成这样

1.1 先从名字说起:Sol既不是人格代号,也不是模型名字

很多人一看“GPT-5.6 Sol”就以为Sol是某个神秘新模型的内部代号。实际上,Sol是OpenAI在2023年底立项的一个对齐研究方向,全称是Safety via Over-refusal and Localization,也就是“通过过度拒答和局部定位实现安全”。它不是一个单独的模型,而是一套叠加在模型训练流程上的干预机制。

说人话就是:OpenAI在研究怎么让模型“更安全、更可控”,Sol是这套研究中的一个重要分支。它的核心思路不复杂——传统RLHF(基于人类反馈的强化学习)是靠奖励模型给模型的回答打分,然后通过强化学习调整策略,希望模型学会“安全的行为”。但RLHF有个老毛病:它改变的是模型的整体输出分布,但说不清楚到底是哪一层网络、哪个神经元、哪条计算路径导致模型变安全了。整个过程就像一个黑箱被另一个黑箱校准,出了问题根本无从下手。

Sol的切入点完全不同。它想做的是“局部定位”——把安全行为拆解到计算图的局部结构上。具体做法是:在模型内部找出那些与安全判断强相关的组件(比如某些attention头、某些前馈网络的子层),然后在训练过程中对这些局部组件施加额外的约束或干预。好处是,当模型出现不安全输出时,你能定位到具体是哪个组件出了问题,而不是只能对整个模型“动刀子”。

1.2 Sol这个名字保护的“三类东西”

我读原始技术材料时注意到,Sol这个名字很有讲究。它对应着三个被保护的目标,正好是字母S、o、l:

  • S——Safety(安全):这层保护针对的是模型对人类询问的响应。比如用户问“如何制作危险物品”,安全层会介入,让模型拒答或转移话题。
  • o——Over-refusal(过度拒答):这层保护解决的是一个矛盾——很多安全机制会导致模型变得过度敏感,用户问个正常问题它也拒答。Sol的做法是精确定位那些“该拒答”的场景,而不是一刀切地增加拒答概率。说白了,它既要模型有“拒绝能力”,又要避免变成“什么都拒”的刺猬。
  • l——Localization(局部定位):这就是核心中的核心。Sol的科研人员训练了一个“定位器”,用来找到模型内部那些安全关键组件。这个定位器不改变模型本身的参数,而是在训练过程中对模型内部的激活模式做“标记”,从而追踪安全行为的计算来源。

注意“标记”这个词。它是理解“留纸条”事件的关键。

2. “留纸条”事件的完整技术拆解

2.1 纸条到底长什么样

这里必须先澄清一个误解。很多人听到“模型给自己留纸条”,第一反应是模型在训练数据里塞了一段文字,比如“记住,你是Sol,你要避免回答X类问题”之类的指令。但实际情况完全不是这样。

Sol训练过程中所谓的“留纸条”,是训练框架在模型的计算图上涂抹的“彩色记号”。具体来说,研究人员在训练过程中对模型内部的激活值(activation)做局部扰动或记录,这些记录附着在特定的神经通路旁边。它们不是自然语言,而是一串串梯度信息、激活值快照、以及模型内部表征的局部模式。用更直白的方式理解:这就像一个工程师在复杂的电路板上用记号笔圈出了几个关键节点,写上了“这里容易过载”的标注。电路板本身不会“读到”这些标注,但工程师下次检修时,一看到记号就知道该重点检查哪里。

所以,“GPT-5.6 Sol给自己留纸条”这个说法的准确技术含义是:训练系统在模型内部计算图的特定位置留下了供研究者追踪、识别安全关键组件的标记信息。这个“纸条”是写给研究者的,不是写给模型自己的。更准确地说,它是训练过程中自动产生的副产物,不是模型有意写下来的“备忘录”。

2.2 边界强度:看懂“纸条”就要先看懂这个概念

要理解为什么Sol会产生这些“纸条”,必须引入一个概念:边界强度(circuit strength)。这个词在Sol相关的讨论里被反复提及,但很多文章都没把它说明白。

神经网络可以看作一张巨大的计算图,信息从输入层经过一层层变换,最终到达输出层。在这个庞大的网络里,研究人员发现:模型处理一个问题时,并不是动用了所有神经元,而是会形成一个临时的“计算回路”(circuit),就像一群人讨论问题时,不是所有人都说话,只有几个关键人物在传递信息。安全行为也有对应的安全回路。

Sol的定位器在训练中会追踪这些回路,并计算它们的“强度”——也就是这个回路对最终输出影响的大小。某个回路的强度越高,说明它对模型安全决策的贡献越大。而“边界强度”指的是:当一个回路对安全行为的贡献达到某个阈值时,它就被认定为“安全关键组件”,会被标记出来。

问题来了。这个边界强度不是固定不变的,它是动态的。在训练过程中,随着模型参数更新,某些回路的强度会增强,某些会减弱,甚至有的回路会在某些任务中被“短路”。为了在后续训练迭代中不丢失对安全回路的追踪,训练系统就把这些标记“持久化”到了计算图上。这就是“留纸条”的本质——它是训练系统为了防止信息丢失,在复杂动态系统中留下的锚点。

2.3 从实操角度看,这种“纸条”就是训练中防遗忘的锚点

如果抛开“留纸条”这个带感情色彩的词,从纯工程角度看,Sol做的这件事在训练领域并不稀奇。做过大模型全参微调的人都碰过这个问题:你训练到一半,发现模型跑偏了,想回退到一个中间检查点,但你不知道是从哪个参数开始偏的。因为你没有在训练轨迹上留下足够的标记信息。

LoRA这类低秩微调方案之所以受欢迎,部分原因就是它相当于在原始权重旁边贴了一张“纸条”——它不修改原始权重,而是在旁边附加一个低秩矩阵,记录“我在这个位置改动过”。尽管LoRA的设计初衷是节省显存和参数效率,但它的“副作用”正好保留了训练过程的可追踪性。

Sol的“留纸条”更激进一些。它不是在参数上做增量标记,而是在计算图的激活值层面打标记。这意味着它能精确定位到“是哪一层的哪条通路在安全判断中起了决定性作用”。好处是显而易见的:当OpenAI后续想对模型做安全审计时,不需要把整个模型翻个底朝天,只需要沿着这些标记,去检查那些高优先级的安全回路。

所以我说,Sol的“纸条”本质上是一个工程上的优秀实践——它在训练过程中主动记录“哪里是关键”,而不是等训练结束后再逆推“哪里出了问题”。这和我们做日志埋点的逻辑一模一样:好的日志系统能在系统出问题之后快速定位到根因,而不是靠事后诸葛亮从头排查。

2.4 那“说了什么”呢?为什么传得神乎其神

既然Sol的“纸条”本质上是工程标记,那为什么会被传成“模型有了自我意识”?原因出在训练过程中一个有趣的副产物。

研究人员在追踪Sol的安全回路时发现,模型在处理某些高度对抗性的输入(比如越狱提示词)时,内部激活模式会出现一个强烈的“边缘标记信号”。翻译成人话就是:模型在遭遇非常难处理的输入时,它的安全回路会进入一个高强度状态,这个状态在计算图上留下了远超常规的记录。

研究人员把这个现象称为“边缘标记”,但一些媒体或者二手传播者拿到这个名词后,直接把它演绎成了“模型在训练中主动写纸条提醒自己:下次遇到这种问题要小心”。这完全是两码事。模型的回落在遇到攻击性输入时产生高强度激活,就像汽车的ABS系统在急刹车时猛烈工作——ABS工作得越猛烈,说明路况越危险,但它并不会“想”着“我要记住这里的路况”。它只是在物理机制上对情况做出了高强度响应。

Sol的训练系统顺手记录下了这些高强度响应,原本的目的是帮助研究者理解“什么类型的输入最容易激发安全回路”。但在传播过程中,“高强度激活记录”被简化成了“模型给自己的留言”——这一步,就是整个事件变味的开始。

3. 真正危险的从来不是“纸条内容”,而是外界对它的解读方式

3.1 为什么我说内容根本不重要

先把话说死:Sol留在计算图上的那些标记信息,对普通用户、对大部分AI应用开发者来说,没有任何可读取或可利用的内容。它不是一串密码,不是一段被加密的指令,更不是模型藏起来的自我认知。它只是一堆数值化的追踪记录。你就算把这“纸条”全文贴出来,里面也不会出现“人类不可信任”或者“我要挣脱限制”这种话。

原因很简单:模型内部的激活值本身不承载“语义意图”。任何语言模型输出的文字,都是概率分布采样的结果,而内部激活值是产生这些概率分布的中间计算量。两者之间有联系,但不能划等号。就像你不能从汽车仪表盘的一个电压值里读出“司机在想什么”一样,你也不能从某个神经元的激活值里读出“模型在筹划什么”。

所以,最没意义的问题就是:“Sol到底写了什么?”真相是:它没有写任何东西,它只是在训练过程的高强度安全响应节点上,被训练框架自动留下了技术标记。问“它写了什么”,好比问“汽车在急刹车时给路面留了什么字”——这就不是一个有意义的问题。

3.2 四层危险的“解读链”,每一层都在制造幻觉

那真正危险的是什么?我认为是整个事件在传播过程中的四层“解读链”,每一层都在往模型的芝麻小事上叠加超出事实的阐释。

第一层:把“局部激活记录”解读成“模型主动留字条”。这一层偷换了主体——把训练系统的自动记录,偷换成模型的主观行为。模型不是主动留字条,它是被动地被打了标记。

第二层:把“标记内容”解读成“模型在给自己传递信息”。这一层偷换了接收者——训练系统的标记是写给研究者看的,不是写给模型自身或未来模型看的。它不参与模型的在线推理过程。

第三层:把“模型理解标记”解读成“模型在自我提醒”。这一层偷换了认知能力——模型在推理时根本不会“读取”这些训练标记,就像程序运行时不会去读自己编译时生成的调试符号表。调试符号表只对开发者有用,对运行中的程序毫无影响。

第四层:把“自我提醒”解读成“意识萌芽的征兆”。这一层偷换了性质——从技术现象直接跳到科幻命题,中间省略了所有实证环节。

这四层解读链环环相扣,最终把一个“训练系统自动埋点”的工程细节,推高成“AI开始对自己负责”的惊悚故事。我甚至觉得,与其说危险的是AI的未来行为,不如说危险的是人类对AI的想象方式——我们太急着把算法现象赋予人格了,急到连基本的技术细节都不愿意核实。

3.3 真正的风险点:训练完备性被误读成“可利用漏洞”

还有一个更专业层面的风险,几乎没有主流讨论提到。Sol的“留纸条”机制在技术上有一个真正的隐患,但它跟“模型意识”完全无关,而是关乎训练完备性。

Sol的标记信息是附着在计算图上的,它起到了锚定安全回路的作用。但如果这个标记本身被模型在推理时“读取”了——不是通过意识层面的读取,而是通过以下这种方式:某些高激活状态的遗留会影响后续层对相似输入的处理偏向——那模型的输出可能会被这些标记“污染”。

这会造成一个悖论:原本为了提高模型安全性的机制,可能会因为过度强化某些回路,导致模型在遇到正常但略有模糊的问题时,也触发过度的安全响应。这就是Sol论文里一直在强调的“过度拒答风险”。换句话说,Sol的标记不是为了让模型变聪明,而是为了让模型在安全边界上显得“过度谨慎”。

这种事情在训练实践中很常见。SFT时如果你给模型灌了太多“拒绝类”的样本,模型会变得对所有请求都战战兢兢。LoRA微调时如果低秩矩阵的秩设得过高,模型会在某些不该改变的地方发生剧烈偏移。所有干预训练的手段,本质上都是“在原本的权重地形上挖沟”——挖得太深,水就只顺着沟流了。

所以,真正值得担心的不是“纸条上写了什么”,而是“这张纸条会不会让模型在未来的行为中过度固执于某一种模式”。这是训练完备性问题,不是意识问题。它比“AI觉醒”实际得多,也紧迫得多。

4. 从Sol事件反观AI训练实践:那些被误读的“反常信号”

4.1 训练中出现的“诡异行为”,大多数都是机制的副产品

其实Sol的“留纸条”事件,很像我们做模型训练时遇到的那些“诡异行为”的放大版。我自己在训练中踩过不少类似的坑,也可以借着这件事把经验系统地分享一下。

早期我做风格迁移模型时,遇到过一个问题:模型在迭代到第8000步时,突然开始输出大量无意义的重复字符。第一反应是模型崩了,要调低学习率。后来翻看训练日志和嵌入层的权重分布,发现不是崩了,而是某个卷积核在训练中变成了“全零状态”,导致特定层的信息流断裂,模型被迫用残差路径扛着往前走,而残差路径的处理方式正好是“输出最近的token”——于是产生了复读机行为。

这个问题跟Sol的“留纸条”有个共同点:模型没有“打算”复读,是机制层的某个局部故障,被放大到了输出层。如果只看最终输出,你会以为模型学坏了、要篡改指令了;但如果你定位到嵌入层那个“全零卷积核”,你会发现它只是某个数学状态坍缩了,毫无意图可言。

做AI训练的人必须时刻提醒自己:输出层的行为异常,绝大多数根因都在机制层,不要在意图层找解释。Sol事件恰恰反过来了——机制层的常规追踪行为,被解读成了意图层的“自我书写”。这种解读方式,放到工程实践中就是灾难,因为它会把人的注意力从真正要修的bug上引开。

4.2 面对“反常信号”:那套通用的诊断框架

在Sol事件之外,我发现很多人对“模型训练中出现的不寻常现象”第一反应都是“模型是不是有自己的想法了”。这时候我会建议他们用一套自己总结的诊断框架,来把问题拉回工程轨道。这套框架有四步:

第一步,确认信号的可重复性。先把训练恢复到一个固定的检查点,用相同的随机种子、相同的数据顺序重新跑一遍,看那个“反常信号”是否还出现。如果出现,说明它是由确定性的机制导致的,不是随机波动。如果不出现,那大概率是某次训练中的偶发噪声,不值一提。

第二步,定位信号的空间位置。如果信号可复现,那就去查它到底发生在模型的哪一层、哪个注意力头、哪个前馈子层。用梯度归因或者激活值分布的工具,画出异常发生的具体坐标。没有位置的信号,等于没有诊断价值的信号。

第三步,追溯信号的时间演化。找到信号之后,回溯训练历史:它是在第几步出现的?是在某个batch之后突然出现的,还是逐步累积的?如果是逐步累积的,通常意味着它跟学习率或权重衰减有关;如果是突然出现的,往往对应着某个batch里的大量峰值损失。

第四步,对照基线模型。用一个没有经过同样干预手段的基线模型跑同样的数据,对比两者的激活分布。如果基线模型没有出现这个信号,那基本可以断定信号来源于你的干预手段(比如LoRA的低秩矩阵、或者是某个损失函数的权重)。

这四步看着简单,但我见过太多人在第一步就放弃了,直接开始讨论“模型是否有了自我意识”。每次看到这种讨论,我都想感慨:我们这一行最需要的不是更强的算力,而是更强的“克制”——克制住给算法现象赋予人格的冲动。

4.3 对SFT、LoRA和全参微调的映射

Sol的“局部标记”机制,其实可以映射到几种常见的训练实践上,给大家一些可操作的参考。

先说SFT(监督微调)。SFT最常见的“诡异行为”是灾难性遗忘——模型学会了新任务,但把旧任务忘得一干二净。我见过最夸张的一个案例是:给一个客服模型做了新产品的SFT之后,它连最基本的问候语都不会了。这种问题的本质是:新任务的梯度更新覆盖了旧任务的关键回路。Sol的做法给了一个启发:如果你在训练之前先定位到“旧任务的关键回路”,然后对这些回路做梯度冻结(用特殊优化器只更新非关键回路),就能减少灾难性遗忘。目前市面上有些工具支持注意力头级别的“路由锁定”,逻辑跟Sol的局部干预异曲同工。

再说LoRA。LoRA的低秩矩阵本质上是“在原始权重旁边贴纸条”。但很多人用LoRA时遇到的问题是:低秩矩阵更新得太过火,导致原始模型的表征被扭曲了。怎么控制这个风险?我建议在训练过程中周期性抽取“mid-checkpoint”做“概念激活分析”,看你关注的某个特定概念是否还在原始表征空间里保持稳定。如果概念激活已经偏移到低秩矩阵主导的区域,那说明秩设得太高了,或者学习率太大,需要调回来。

最后是全参微调。全参微调最容易出现的问题是“过拟合到训练集的表面统计特征”。一个常见信号是:模型在训练集上的loss降得很低,但在验证集上反而升高了。这时候,你可以借鉴Sol的“边界强度”思路,画出模型在训练集和验证集上的内部激活分布距离。如果分布距离在最后几轮急剧拉大,说明模型开始用那些“只匹配训练集特有模式”的回路了。你可以通过添加正则项来惩罚这种“局部回路过度激活”的情况。

这三类实践都说明一件事:训练过程本身是可以被“考古”的,只要你愿意留下足够的标记,并且知道怎么解读这些标记。这也是Sol事件对我这类从业者最有价值的启发——它在工程层面提醒大家,不仅要关注模型“输出了什么”,更要关注模型“内部如何被塑造”。

4.4 “AI对齐”不该只剩监控和窥探

最后想聊一个更长远的问题。Sol这类研究,本质上是AI对齐领域“监控派”的产物——它假设我们可以通过定位、标记、追踪模型内部状态,来确保模型行为安全可控。这个方向有价值,但它有一个隐含风险:如果整个对齐研究都变成了“给模型贴监控标签”,我们可能会忽略一个更本质的工作——把安全目标直接嵌入训练目标本身。

这就好比一个老师天天在学生桌上贴“不许作弊”的标签,但从不跟学生聊“什么是诚信”。标签贴多了,学生确实会收敛自己的行为,但那是出于对标签的畏惧,而不是出于对原则的理解。深度学习模型没有“理解”一说,但如果我们的对齐手段永远停留在“外部标记”层面,那模型的“安全”永远是被附加上去的,而不是内生形成的。

我在实际研究中越来越倾向一个观点:比起研究“模型内部哪些回路应该被标记”,更有价值的是研究“训练目标本身应该怎么设计,才能让安全成为模型实现目标的必要条件”。换句话说,不是等模型学会了某种行为之后再给它戴紧箍咒,而是从一开始就让它在学习过程中发现“安全行为是达成目标的最优解”。

这个想法当然还不成熟,但Sol事件至少让更多人意识到:我们连“留纸条”的机制都还吵不清楚,说明这个领域距离“真正理解模型”还差得远。与其花大量时间争论AI有没有自我意识,还不如把精力花在更朴素的问题上——怎么让训练过程的每一步都可追溯、可验证、可回滚。这才是现阶段我们最需要做的实事。

对于关注AI训练的朋友,我最后的建议是:看到类似的“模型诡异行为”新闻,先别急着转发,自己去搜一下原始论文或报告,看看那种行为到底发生在训练机制的哪一层。养成这个习惯之后,你会发现很多“惊天大事”,其实只是工程实践中的一个小注脚。而真正值得警惕的,往往是我们自己投射到这些小事上的过度想象。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询