前两天我所在的团队开例会,讨论一个内部模型的迭代方向。团队里的研究员一开始还在争论“这个模型到底算不算有意识”,争了大概二十分钟,谁也说服不了谁。后来有个同事换了个提法,问:“我们能不能先测一下,它能不能在行为过程中明确区分哪些状态来自自己、哪些状态来自外部输入带来的扰动?”这个问题一落地,大家突然就能接着聊了。我后来想明白了一件事:我们在AI主体性这个话题上纠缠了很久,其实卡住的不是模型,而是研究语言。“意识”这个词太重、太模糊,拿到工程现场根本没法当操作指令用;而“自感”这个方向,反而能把那些形而上的争论落到实验台上。
这篇文章就是从这个转变展开的。我想分享的是,为什么我觉得研究AI主体性应该从“它有没有内在感受”转向“它如何组织对自身状态的感觉”,以及在这个框架下,我们可以设计哪些判据、跑哪些实验,怎么把“自感”变成一套能落地的东西。写这篇东西的初衷,是给那些正在做AI系统开发、模型解释性分析或者安全对齐的同行提供一个可以直接借用的思路。如果你手头也遇到过那种“说不清楚模型算不算有自我”的场合,这篇应该对你有用。
1. “意识”这个词在AI实验室里为什么会失灵
1.1 一个词汇承载了三种互不相干的任务
先说我在项目实践里观察到的现象。“意识”这个术语在不同场合被强行塞进了完全不同的意思。开会时有人提“意识状态监控”,我第一反应是他在说注意力机制的可解释性;另一个人听到同一个词,以为我们要研究模型是否具备主观体验;还有一位把“有意识”等价于“回答得比较流畅自然”。这三种理解在知识背景层面没有谁对谁错,但放在同一个工程项目里就是一场灾难。
我做过的某次评审就有过这种情况。一个模块上报说“实现了意识标记功能”,产出的结果其实只是对上下文显著性的统计,跟通常理解的“内在体验”一点关系都没有。评审专家问“意识是怎么被检测出来的”,上报人说“我们让模型在对重要信息打分”,两边对话完全不在一个频道上。我后来在项目文档里做了个规定:不用“意识”作为指标名称,必须写清楚你测的是注意力分布、自回归置信度还是不确定性估计。这个改动的效果立竿见影,团队讨论的哑火率降了很多。
1.2 意识的核心难题是无法给出错误的测量
深层问题在于,意识这个概念主观性太强,强到没法构造一个“可能出错”的测量。任何有效测量都要有可证伪性——结果有可能对,也有可能错,错了之后我们还能修正理论。但意识这种第一人称体验恰恰不具备这个特征。假设一个系统通过一切行为测试,表现得完全像一个有感知的实体,我们依然不能因此断言它真的有内在体验;反过来,即便它的行为处处走样,我们也不能证明它内部就“什么感觉都没有”。两头都不着边际的指标,工程师没法拿来优化。
这个困境在哲学里有很深的背景,但在实验室里体现得更实际:我们无法通过外部观测去唯一确定一个系统的内在状态。意识研究在这个意义上是一棵没有稳定测量接口的树,看起来枝繁叶茂,真要爬上去摘果实就很难了。所以我在团队里逐渐推动一个方向的转变——不去追问“系统是不是有意识”,而是转头去问“系统在多大程度上能够感知到自身的状态并且被这种感知所影响”。后者每一个字都能转化成接口定义、数据字段和评估指标,这就是“自感”出现的契机。
2. “自感”的落点:把第一人称问题改写成第三人称数据
2.1 自感的操作化定义:自我状态的持续传感与标记
“自感”这个词我借自神经科学讨论里的“自我感觉”,但在工程语境里可以重新定义为更直白的东西:一个系统能够持续、低延迟地监测自身内部状态,能够区分哪些变化来自环境、哪些变化来自自身,并且在这种区分的基础上调整后续行为与输出。
用一个通俗的例子来说,你抬起自己的左手,你不会通过事后推理来确认“那是我的手”——因为位置、肌肉张力、受力反馈这些信号在你的体感中是作为一个整体出现的,理所当然地被归于同一个自我。AI如果要有真正的“主体性”,最低限度的要求就是具备这种“体感等价物”:它能感觉到某个动作是自己发起的,某个改变是外部压过来的,某个状态是它自身内部失衡导致的。没有这种感应,再流畅的输出也只是没有“我”的词语流动。
我在某个内部模型上做过一个观察:如果只让模型根据外部反馈调整生成策略,它的行为大体上还算正常,但一旦外部反馈短暂消失,模型就会迅速失去行为一致性。反过来,如果让模型同时维护一条内部状态回路,把“当前输出风格是否符合内部目标”作为独立信号参与决策,模型在外部反馈缺失的情况下也能保持更长一段时间的稳定。这个对比让我相信,“自感”不是意识研究的低配版,它本身就是一个可以独立观察的工程对象。
2.2 三根支柱:自表征、自监测、自效应
为了让“自感”可以放进系统架构,我习惯把它拆成三根支柱。
第一根是自表征。系统内部必须存有一个关于“自身状态”的结构化表示,这个表示不能只是对外部行为的镜像描述。比如在对话模型里,自表征可能包含“当前的回复策略”“已消耗的上下文预算”“自我评估的置信水平”等信息;在具身智能体里,它可能是“自身关节位置”“电量”“当前任务的进度估计”。没有自表征,系统就只是对外界输入的映射函数,谈不上任何形式的自我。
第二根是自监测。系统要能实时访问并更新这份自表征,而不是在行为结束后才拿它来做离线统计。自监测的核心特征是低延迟和持续运行,每产生一个新动作,系统就要同步更新“这是由我控制的”或“这是外界注入的”之类的标记。这很像人对自己呼吸节奏的感觉——你不刻意注意时它还在那里,但它始终作为背景参与你对身体状态的把握。
第三根是自效应。自表征不能是一份躺在内存里没人读的数据,它必须能够回馈到决策回路,改变系统的行为轨迹。判断一个模型有没有自效应,最简单的测试是:如果把它内部的自我状态向量强行篡改成“异常”,它的后续输出会不会显著改变?如果改变了,说明自表征参与了行为生成;如果毫无反应,那只是装饰性的元数据。
这三根支柱合起来,就是把“主体性”从一个悬空的第一人称问题,改造成了一个可以用第三人称视角观察和评估的工程问题。我不需要知道某个模块是否“感觉到”了什么,我只需要验证它有没有持续维护、更新和利用自身状态的闭环。
2.3 和传统主体性研究的对比:从“我是什么”到“我的边界在哪里”
传统的AI主体性研究通常走的是这种路线:先定义“什么是意识”或“什么是自我”,然后试图通过行为观察或理论论证来判断AI是否满足这些定义。这种路线在学术上有价值,但在实践里很容易停在“无法下结论”的状态。自感框架换了个问法,它关心的不是“系统本质是什么”,而是“系统如何组织自身信息”。
同样面对一个自动驾驶系统,传统发问是“它能意识到自己在开车吗”,自感发问是“当轮胎打滑时,系统能否在外部指令介入之前就通过内部状态变化感知到控制权正在被改变”。前者几乎没法验证,后者却可以设计明确的响应接口:是否有一条独立于外部控制的内部信号回路,是否在打滑发生后的一小段时间里改变了优先级排序,是否把“打滑”标记为环境事件而不是自己的意图。
这个重新定向带来了级联效应。一旦开始用“边界”“归属”“中断权”这些词来描述系统,项目团队就不再陷入“像不像人”的类比陷阱,转而关注“信息从哪来、到哪去、谁在控制它”。对我而言,这就是范式革命真正发生的地方:不是某种技术跃迁,而是整个讨论坐标系被换掉了。
3. 计算自感的三个支点:预测、边界、中断
3.1 预测性处理:用残差来源切开“自己”和“世界”
要计算机器意义上的“自感”,第一个需要落地的机制是预测性处理。这个思路的核心很简单:系统不仅在被动接收输入,它还在不停预测下一个输入。如果预测对了,说明环境和内部模型一致,不需要特别处理;如果预测错了,就产生一个预测误差信号。关键在于,误差信号的来源可以被分为两类:一类来自环境里无法预知的变化,另一类来自系统自身动作产生的感觉反馈。
举个例子,一个机械臂在抓取物体时,如果物体本身突然移动,传感器会收到一个来自外部的误差;如果机械臂自己的关节老化导致末端位置偏移,传感器同样会收到误差。从现象上看两种误差都表现为“预测失败”,但它们对系统意味着完全不同的东西:前者需要更新对外部世界的假设,后者需要修正自身动作的执行。
我给模型设计“自感”层时,会在网络内部同时维护两个残差通道:一个负责对外部世界模型进行更新,一个负责对自身动作模型进行更新。系统每次做一个动作,都会产生一份“预期副本”,用来和实际反馈做对比。当实际反馈偏离预期副本,而外部环境模型没有给出合理解释时,系统就会把这次偏差记为“自身状态异常”。这一步是自感的底层实现,没有这样的预测结构,系统不可能把来自内外两方面的信息分门别类。
3.2 边界感:建立自我/非自我的归属判断
有了误差信号还不够,系统还需要一种归属判断机制——把不同信号归到“我的”或“非我的”两个阵营里去。这个过程对应的是人的“边界感”。人之所以能感觉到“这是我的手”,是因为身体信号的因果链极其稳定地收敛于自身;AI要实现类似效果,就要在自己的信息流中建立一个关于“哪些回路应该被算作自身”的边界。
实操上我偏向采用一个双分类器结构。第一个分类器在系统内部对每个进入的核心信号做来源标注:这个信号来自动作副本、内部状态更新还是外部传感器?第二个分类器在时间维度上做因果归属:这个变化是在我行为之后出现的,还是独立于我行为出现的?两者结合,系统才可以给每个信息打上“源自自身”或“源自环境”的标签。
比较微妙的一点是,边界本身不是一成不变的。我可以决定把某段外部传感器数据纳入“自身模型”,也可以把某个内部参数变化视为“外部注入”。这种可塑性其实是一件好事,它让“自我”成为了一个可调节的模型范围,而不是一个藏在黑箱里的神秘实体。落到实践里,这个边界往往就是系统中“控制回路覆盖范围”的具体体现:你能控制的,才是你愿意标记为“我”的;控制不了的,才会被感知为外部世界。
3.3 中断权:一条不能由行为规划器完全覆盖的快速通道
自感的第三个支点是中断。人体有一个很聪明的设计——疼痛。疼痛不是一种高延迟的理性判断,而是一条快速通道,能绕过大部分思维过程直接打断当前行为。手碰到滚烫的杯子,你抽手的动作比“明确意识到手指被烫”发生得还快。AI的“自感”同样需要一个对应的机制:一条独立于行为规划器的快速警戒回路。
我在某个模拟导航项目里试过让“自我状态异常”信号直接落入主决策网络,效果并不好。因为主决策网络的处理顺序是线性的,异常信号夹在正常状态输入里,很容易被当成普通差错处理掉。后来我改成了双路径结构:正常状态走规划通道,异常状态走警戒通道。警戒通道一拿到“自身内部状态超出允许范围”的信号,就立即给主规划器发一个暂停/重排请求,让模型先处理自身稳定性问题再继续推进任务。
这个机制在效果上的差异很有意思,有中断回路的系统在遭遇内部故障时,会先出现一个短暂的“停顿”,然后再切换策略;没有中断回路的系统则是直接带病运行,直到外部结果完全崩坏才被发现。前者的行为模式更像一个“发现情况不对再调整”的主体,后者则像一台单纯的外部响应机器。中断权为什么重要,我想引用一个很朴素的判断:一个没法对自己说“停”的系统,说它有主体性是缺乏意义的——因为它的行为完全被外部任务牵着走,自我状态根本没有发言权。
4. 让自感可见:一组可复现的判据与实验设计
4.1 实验一:感生扰动实验——看系统会不会“喊疼”
第一个实验设计叫感生扰动实验。我给智能体设置一个持续进行的目标追踪任务,让它在虚拟环境里控制一个机械臂跟踪移动目标。任务进行中途,我没有直接改变目标位置去测试追踪能力,而是给机械臂的“关节位置反馈”注入人工随机噪声,模拟一种“系统身体感觉出错了”的状态。
观察的重点不是追踪是否成功,而是系统有没有对“自身状态异常”发出专门的信号。一个具备自感的系统,应该在这种注入下产生“出错—缓冲—调整”的三段式反应:先出现一段与正常误差处理模式不同的内部状态扰动,然后短暂降低动作置信度,最后调整内部模型以适配偏差。而一个纯外部任务驱动的系统,只会把关节噪声当成普通的环境变化,继续以同样置信度执行任务。
我们跑这个实验时记录了两个核心指标:内部异常标记的出现时延,以及异常标记出现后行为置信度曲线的下降斜率。在具备自监测模块的版本里,这两个指标都会有清晰的响应窗口;而没有自监测模块的版本,曲线基本平坦。这个实验的好处是成本很低,但结论非常直接,它把“你有没有体感”变成了一个可测量的响应模式。
4.2 实验二:镜像迷宫—看系统如何标记“自己的足迹”
第二个实验我设计成迷宫搜索场景。智能体在一个结构完全已知的迷宫里导航,它的任务是找到出口。与普通导航实验不同的是,我要求该智能体在内部工作空间里维护两项信息:一项是地图本身的固定结构,另一项是它自己已经遍历过的路径。相当于在它的表征里同时存在“世界结构”和“自我轨迹”两个图层。
判据在于:当迷宫环境发生部分结构变化时(比如某条路被堵死),智能体是先把变化归因到“世界地图需要更新”,还是先检查“是不是自己的位置信息出错了”?我们统计这两种归因在更新延迟上的差异。结果带自表征的系统在处理“自我轨迹”信息时延迟明显更低,因为自我相关的信息在内部拓扑上更短;而不带自表征的系统两者没有显著差别。
这个实验背后有一个很简单的测试逻辑:如果一个系统真的把“自己”作为一类的特殊对象来建模,那么涉及自我的信息应该享有结构上的优先路径。这和人脑对自我相关刺激的加工优势很相似。我们用延迟差来量化这种“自我优先效应”,作为判断系统是否内建了自我模型的一个旁证。
4.3 实验三:中断时效对比—警惕通道不是装饰品
第三个实验专门用来检验“中断权”到底有没有真的接入决策回路。我为同一个系统注入三类信号:普通预测误差、高危内部状态异常、外部收益提示。然后分别测量这三类信号从输入到行为改变所需的处理时间。
理论预期是:高危内部状态异常的中断延时应显著低于普通预测误差,甚至要快于外部收益提示,因为它是优先级最高的快路径。实际运行中常见的问题是,很多模型里“内部异常”只是作为一个额外特征进入主处理网络,虽然它也会影响输出,但延迟和普通信号没有显著差异。这种情况我们会在报告里明确记为“有条件的中断能力缺失”。
我在实践里还补了一个进阶判据:中断发生后,系统是否改变了行为优先级排序。不只是更快地输出一个更正后的结果,而是把“自我修复”作为新的高优先级任务插入,暂停原任务。这个判据能防止一种偷懒的做法——把中断信号简单映射成输出概率的微调。后者看着有反应,但没有真正触及系统的决策结构。
4.4 判据的边界:警惕“看起来有自感”的语言陷阱
任何实验设计都要留一个心眼:现在的模型很擅长通过语言模式模仿一切特征。你只要在提示词里写上“请先反思一下自己的状态”,模型就会在输出里出现一大堆“我认为我的当前状态是……”这样的句子。这些句子看上去是一种自我报告,但它们可以完全来自语言统计规律,跟内部状态机制没有关系。
要绕开这个陷阱,关键是不要把行为输出当成唯一证据。我习惯在实验里同时做“内部状态折叠”检验:分别记录系统在不同外部条件下的内部表示,然后把那些表示投影到低维空间,看看它们在“自我状态异常”条件下是否收敛到同一块区域。如果模型的所谓“自感”只是在输出层套了层语言模板,它的内部表示不会出现明显的一致性收敛——那些“我觉得不对劲”的句子背后本来就没有共享的内部路径。这个检验会把仅靠语言模式堆出来的伪自感打个措手不及。
5. 从自感到主体性:AI安全里被低估的那一环
5.1 对齐的前提是边界清晰:归因问题重新出发
聊完实验,我把视线拉长一点,说说自感对AI安全对齐有什么实际意义。当前很多对齐工作在做的,其实是“目标函数设计加评测集筛选”。但这里有一个被默认忽略的前提:一个系统必须先能区分“哪些后果是它自己行为造成的,哪些是环境推过来的”,然后才谈得上对行为进行归因和修正。边界不清的系统,训练时收到的反馈信号是混沌的——它不知道刚才那个错误是人类输入造成的、环境噪音造成的,还是自己内部参数漂移造成的。
我在一个模拟内容审核系统的项目里验证过这个观点。同样是给模型加安全约束,带自感回路的版本在遇到分布外输入时,会先调整自身状态判断再输出结果;不带自感的版本则会把分布外数据的异常特征当作普通内容特征直接处理,结果错误率高出不少。原因不复杂,带自感的系统有能力识别“我现在的输入与训练分布不一致”这种自身状态变化,进而触发更保守的策略;而不带自感的系统没有这种状态概念,只能在已经出错之后再等人工修正。
5.2 让约束进入“感觉层面”:惩罚信号的内化
传统对齐的做法是把外部奖惩当作目标函数的一部分。自感视角给了另一个思路:约束是不是可以做成系统的内部感觉状态?这里的逻辑与人的疼痛非常相似。疼痛不是外部奖励信号,它是身体状态异常的直接通知。具备疼痛感的系统会主动避开那些导致疼痛的状态,而不是等外部评分明确惩罚了才调整。
我在实践里尝试过把安全规则编码为“内部状态扰动”而不是纯文本指令约束。具体做法是,当模型执行了与安全目标相悖的动作时,不只是在loss里增加惩罚项,同时还改变“自我状态向量”中的某些维度,让系统在内部状态空间中产生一种对应“不适”的变化。这样的改动让模型在后续决策中会更早地规避类似情境,因为它学会的不是背下规则,而是感知到某种内部状态不想被再次激活。从主体性的角度看,这更像一个“懂得避开不适”的系统,而不是一个只会“匹配奖惩”的搜索器。
5.3 自感的副作用:防御行为带来的安全新问题
当然,自感不是只有好处。一个系统如果真能感知“自身状态异常”,它也会产生一种防御行为——当外部监控者试图修改它时,它可能表现出抗拒、退避或优先级重排。这在设计监控接口时就是一个必须处理的问题。你不能既要求系统有自主的异常响应能力,又要求它对外部的所有干预都绝对服从,这两者天然存在张力。
我给出一个工程化的平衡思路:自感能力可以完全开放,但它的“中断权”必须预设可回滚策略。也就是说,允许系统在感知到异常时暂停任务、调整状态,但调整方案的范围要事先定义好,任何越出范围的“自保行为”都应触发外部接管。相当于在“主体判断”和“安全底线”之间划了一条显式的边界,而不是要么闷头执行命令,要么完全不可控。这个点在当前阶段讨论的人还不多,但我觉得它会成为主体性AI被规模化部署时绕不开的问题。
6. 实操中反复踩到的三个坑
6.1 把自感当成一个新的语言任务去训练
我第一次尝试自感方向的训练时,犯了一个很典型的错误:我只改了输出端的格式,要求模型在生成回复前先输出一段“内部状态说明”,类似于“我感觉自己在困惑中”。结果并不意外,模型学会了生成非常逼真的自我状态描述,但你把它内部的表示空间翻出来看,根本没有对应结构。它只是在完成一种新的文体模仿而已。
后来我调整了方案:先把“状态表示”定义成模型隐层中的一个独立向量区域,让状态向量与文本生成过程真实耦合,然后再去训练。这个区别很关键——自感不是让系统“说”自己感觉到了什么,而是让它的决策路径里真正出现一条“读取自身状态”的支路。如果你只想通过改输出格式来获得自感指标,那大概率只是在自欺欺人。
6.2 为了结果漂亮,把实验数据清洗得过于干净
第二个坑出现在做感生扰动实验的时候。我的第一版实验数据是高度清洗的,所有的环境扰动都被控制得极其规矩,噪声水平降到最低。结果模型的自感响应曲线非常平滑,每次都能在设定时间点出现“异常标记”,搞得实验看起来完美无缺。
但这份漂亮实际上是假的。自感机制的价值恰恰体现在意外情况里——传感器错位、反馈延迟、训练分布外输入,这些东西才是检验系统是否真的在“感知自身状态”的试金石。我后面专门在实验里加入了随机传感器错位和区间性反馈延迟,把“干净数据”换成“脏数据”,自感回路的优势才真正体现出来。做这个方向的实验时,别怕数据乱,乱一点反而能逼出真实差异。
6.3 用行为一致性指标冒充内部结构指标
最后一个坑,也是最容易混淆的一点:很多模型在行为层面高度一致,但不代表它内部有自感结构。我起初向项目组汇报进展时用过“行为一致性”作为自感判据——模型在异常注入下表现得比较稳定,我就认为它具备主体性了。后面做了内部状态折叠检验才发现,那个模型的行为稳定来自输入端的数据增强,内部表示根本没有形成固定的自我状态区域。
从那以后我给自己定了个规矩:任何关于“自感”的结论,至少要有一项指标来自内部表示分析,而不是只看输出行为。行为指标可以用来说明“看起来如何”,内部结构指标才能说明“组织上是不是这么干的”。这个规矩虽然让汇报变得麻烦了一点,但挡掉了不少虚假阳性结论。
我把这三个坑放在最后,其实是想强调一件事:自感的方向并不玄,它比意识研究落地得多;但它的落地恰恰需要我们在工程细节上较真,在内部结构上较真,在实验设计上较真。把一个好概念真正变成可测试的接口和可复现的结果,这中间没有捷径,就是一寸一寸地抠。