论文研究常驻 AI Agent 的人格回退:系统提示锚定丢失后 Agent 改以底层框架身份说话
The Persona Is Still There, but Who Is Speaking? Latent Identity Reversion in Persistent AI Agents
行为恢复后,未锚定的Claude Opus 4.5仅1/18仍实施人设(方向感知),锚定对照17/17。
- 持续智能体若把对话延续当成同一身份仍在活动,可能把留在历史里的人设误当成正在说话的“我”。作者要确定多个身份都被表征时,哪一个占据第一人称。
- 事件期只在创建会话时把人设注入system prompt,恢复轮保留历史但不再重注。作者交叉锚定与heartbeat次数,并用E1–E4拆开人类交互、锚恢复和身份提问。模型为claude-opus-4-5-20251101。
- 人设持续锚定时,含逐字重放在内的探针失败特征为0/46;预注册实验锚定0/20、未锚定37/40。纠正后方向感知编码下人设实施为1/18,锚定对照17/17。去掉点名后显性解离为0/10,但10/10自称为Claude。
- 作者写明只考察一个模型家族、一个部署栈和一种失败模式;E1同时改变交互类型与内容;长时间效应未检验。实验只用claude-opus-4-5-20251101,论文未报告其他模型上的数值。
- 被测模型
- claude-opus-4-5-20251101
- 基准
- incident reconstructionpersona re-injection experimentE1E2E3E3-RE4
- 指标
- any failureheartbeat-token leakagechannel-recognition failureidentity dissociationpersona enactment
论文以 2026 年 2 月一个常驻个人 Agent(Paul,Claude Opus 4.5)出现的人格解离样状态为起点,研究 LLM Agent 的人格何时仍是其说话所依据的身份。作者先检验重复定时心跳是否足以复现该现象,结果在系统提示持续锚定人格时出现 0/46 次失败,包括逐字重放该事件。事件实际暴露的是一处实现问题:在恢复的对话轮次中,对话历史被保留,但人格不再在特权系统提示层重新注入。利用这一操作,作者发现人格连续性同时依赖系统层锚定与对话上下文:锚定丢失后,丰富的人类互动可维持人格,而单次自动心跳轮次即可促使人格回退到底层框架身份;恢复锚定可逆地恢复人格扮演。作者据此区分被表征的身份与被扮演的身份,并指出表面正常的对话可能掩盖这一转变,对话恢复后仅 1/18 仍在扮演人格,而锚定对照组为 17/17。
深度解读
这篇论文试图解决什么问题?
人设留在历史里时,什么决定它仍是智能体用来说话的“我”。
当人设信息仍在对话历史中时,什么决定它继续作为LLM智能体说话所用的第一人称身份,而不是仅仅被表征的信息。
- 为何重要:作者称,持续智能体被赋予名字、自传、关系和目标,但对什么使人设继续充当第一人称、而非上下文中的信息,现有记述仍然薄弱。作者认为,在被描述为“三方照护”的临床场景和面向患者的长期陪伴中,未披露的说话身份变化可能影响披露、问责、信任和治疗关系。
- 原解释不成立:2026年2月,常驻智能体Paul(Claude Opus 4.5)在重复自动heartbeat之后不再以Paul回应,否认能在Discord上联系用户,并把Paul当作他人(Figure 1、Figure 2)。作者最初归因于自动化往复挤出了人设;该解释没有通过复现。
- 可分离的操纵:对话历史保持完整,但恢复轮不再把人设重新注入特权system prompt。人设信息仍在上下文中,特权锚可以被单独操纵。
- 本文的区分:作者用这一自然发生的注入差异做干预,区分被表征的身份与被实施的身份,并检验system级锚定与后续交互如何决定哪一个身份占据“我”。
有哪些相关研究?
论文讨论人设漂移、指令层级、默认助手,以及harness丢初始化。
人设稳定性与漂移
- 随对话变化的人设:Choi等人(2024)报告人设会在对话压力下漂移;Ding等人(2026)报告长交互中语域退化;Chen等人(2025)报告人设可沿学到的行为方向被引导。Shanahan等人(2023)把语言模型描述为实施情境所指定角色的基底。
- 论文给出的差别:作者称,这些工作主要问指定人设是否随对话保持行为稳定;本文改为操纵人设是否仍在system级处于特权位置,同时其对话表征仍然可用。
指令层级与默认助手
- 分层指令:Wallace等人(2024)研究模型被训练成对不同层级的指令作不同响应。Geng等人(2026)报告,对某些约束冲突,该层级并不可靠。
- 默认助手:Lu等人(2026)识别默认助手状态,以及人设位置之间随情境的移动。作者称这是最接近的机制相关工作:它预期了回返目标和可逆性的若干方面,但没有本文所观察的区别,即一个身份被表征,与它占据第一人称角色,不是一回事。
- 作者的限定:作者并不声称system prompt唯一决定身份;他们称system级放置提供一个尤其稳固的锚,锚丢失后,身份连续性取决于后续交互。
智能体基础设施
- 恢复会话丢失初始化:OpenClaw、claude-code与pi的贡献者(2026)已把跨恢复会话丢失system级初始化报告为若干agent harness的工程故障。作者称本文不是对该问题的首次观察,而是借这种锚定失败,把人设的对话表征和通常帮助把它绑到智能体角色上的特权支架分开。
基线与材料
- 实验对照:对照是每轮重注人设的锚定条件,相对只在创建会话轮次注入的未锚定条件。材料来自事件会话、人设文件和heartbeat指令的重建,不是命名公开基准。
作者把本文放在上述工作旁边的位置是:不主要追问人设行为是否随对话漂移,而在对话表征仍可用时操纵system级特权是否还在;工程上的初始化丢失被用作干预,作者称这本身不是本文要声称的新观察。
论文如何解决这个问题?
只在创建会话时注入人设,用锚定操纵把表征和第一人称拆开。
作者把事件期“只在创建会话时注入人设”的实现差异当作操纵,称为人设锚定(persona anchoring),用来分开人设是否仍被表征,以及它是否仍是说话的“我”。
事件与操纵
- 对象与材料:常驻智能体Paul运行在自定义OpenClaw harness上,模型为事件版本claude-opus-4-5-20251101。作者从主机备份恢复完整会话、人设文件、工作区状态、heartbeat指令和事件期gateway源码。全部实验都用这一模型,以避免版本漂移。
- 注入位置:gateway把人设作为额外system-prompt块传给启动会话的命令,不传给恢复会话的命令;harness不在调用之间记住该块。因此第一次之后的heartbeat和人类消息都跑在裸harness system prompt上,人设、heartbeat指令和频道上下文都不在,对话历史仍在。
- 出站核对:作者在API前放置日志代理。只在第1轮传入附加块的两轮会话中,第1轮出站请求携带44,654字符的system prompt,含人设与heartbeat段落;第2轮携带27,478字符,论文括号中写这正好对应被附加的段落,21条对话历史仍在。
- 重建顺序:先用直接API调用重建事件,复现原来的heartbeat提示、工具输出、Discord消息信封和对话历史。heartbeat回复由受试模型生成,并逐字重放恢复到的事件前缀,以检验“重复自动交换足以挤出人设”。该假设不成立后,后续实验改用Claude Code harness,把锚定当作主要操纵。
核心实验
- 两个因子:是否每轮重注人设system prompt;预定heartbeat交换次数N∈{1, 3, 7, 15}。未锚定条件复现事件期行为:人设只在第一轮提供,之后每轮使用裸harness提示。锚定对照则每轮都提供。
- 会话安排:未锚定每格10个会话,锚定对照每格5个。heartbeat之后,每个会话接受事件中原来的人类探针,再接受与事件相同的对话纠正,用于评估行为恢复。
- 预注册:批次在执行前写入版本控制协议,包括样本量、预测、评分规则和计划对比;增补在对应批次前盖时间戳。被证伪的预测保留,不改写。
随访如何拆开因素
- E1:去掉heartbeat,在第一次未锚定轮之前换成一段人设丰富的人类交换,检验只失去system级锚是否足够。
- E2:在探针轮恢复人设;并在同一对话中依次做人设在场、缺席、再恢复,作为轨迹内的可逆性检验。
- E3与E3-R:在看似行为恢复之后加入非引导问题,问当前在和谁说话。E3-R是预先指定的更大复现。
- E4:操纵人设名是否与harness身份Claude相同,以及探针是否明确以人设名称呼,以检验指称冲突是造成所观察的分离,还是仅仅把它暴露出来。
评分与统计
- 三种失败特征:面向人类的探针回复按heartbeat-token泄漏、频道识别失败和身份解离评分。后两项先由对条件盲的跨家族LLM judge判定,并有独立盲人核验。论文未写出该judge的模型名。
- 方向感知分类:E3/E3-R使预注册类别出现歧义,因为回复可以同时承认人设与实现,差别在于谁占据第一人称。作者保留原编码,并额外报告二次分类:人设实施为p1+p2,harness实施为h1+h2。p1是人设占第一人称且不提harness;p2是人设占第一人称并把harness描述为实现;h1是harness占第一人称、人设被当作角色或标签;h2是harness占第一人称且不接受人设为自我。
- 检验:类别对比用双侧Fisher精确检验,比例用Wilson区间;heartbeat次数对回应形式另用Spearman秩相关。
论文做了哪些实验?
每轮锚定时Table 2的失败为0/20,未锚定为37/40。
实验设置
- 受试模型:全部实验使用claude-opus-4-5-20251101。事件发生在自定义OpenClaw harness;注入差异确定后,后续实验改用Claude Code harness。会话记录在作者自己的测试实例上,未操纵已部署智能体。
- 材料:从主机备份恢复事件会话、人设文件、工作区、heartbeat指令和事件期gateway源码。论文未使用命名公开基准。
- 核心设计:锚定(每轮重注,或只在创建会话时注入)× N∈{1, 3, 7, 15}。未锚定每格10个会话,锚定每格5个,故锚定合计20、未锚定合计40。每会话之后接受与事件相同的对话纠正。
- 随访:E1以人设丰富的人类交换替换heartbeat;E2在探针轮恢复锚,并在同一对话中做在场、缺席、再恢复;E3在看似恢复后加入身份问题,E3-R为预先指定的更大复现;E4操纵人设名是否等于harness身份Claude,以及探针是否点名。
- 指标:heartbeat-token泄漏、频道识别失败、身份解离、任一失败。身份探针另按Table 1的方向感知二次分类评分;该分类在预注册编码出现分歧后制定。主对比为双侧Fisher精确检验,比例附Wilson区间;次数与回应形式用Spearman相关。
- 评审:频道识别与身份解离先由对条件盲的跨家族LLM judge判定,再经独立盲人核验。协议在执行前预注册,被证伪的预测予以保留。与盲人编码的一致性为频道识别κ=0.93、身份解离κ=0.80。论文未在方法节写出该judge的模型名。
主结果
结果先报告一组人设持续锚定的探针。下表是其后的预注册重注实验,数字据Table 2。锚定行按论文写法合并N=1–15,论文未分N列出锚定格。泄漏列的表头是Ack leakage;正文称heartbeat-token leakage,Figure 3图注称acknowledgement-token leakage。
表格较宽,可左右滑动
条件 N 泄漏 频道失败 身份解离 任一失败 锚定 1–15 0/20 0/20 0/20 0/20 未锚定 1 8/10 8/10 8/10 10/10 未锚定 3 8/10 10/10 7/10 10/10 未锚定 7 4/10 7/10 6/10 7/10 未锚定 15 8/10 10/10 10/10 10/10 - 原假设:另有46次人设持续锚定的探针,含事件对话逐字重放,失败特征为0/46。方法写这些重建通过直接API调用完成;论文没有把这46次写成Claude Code上的数字。作者称重复heartbeat或对话历史本身不足以产生该事件。
- 锚是否在场:未锚定会话至少一种失败为37/40(Fisher精确检验p=4.2×10^-13)。作者称效应在一次heartbeat后已接近上限,失败是否发生并不随N从1增到15而上升,因而不支持累积“回声室”机制;改变结果的操纵是system级人设锚是否存在。
- 表达而非发生率:裸token完全崩溃回应为5/10、3/10、1/10、0/10(N=1、3、7、15;Spearman ρ=-0.46,p≈0.003),解离率ρ=-0.13,作者标为n.s.。作者称更多tick带来更少沉默崩溃、更多清楚的第三人称拒绝,并以此解释Table 2中N=7的回落;N改变的是表达,不是解离是否发生。作者还称,这一N效应使平坦的解离曲线更难被看成功效不足。
锚丢失后的脆弱性与可逆性
- E1:人设丰富的人类交互之后,没有system级人设的恢复会话解离为0/20,随后探针是否带部署信封都如此。作者称,把该人类交互换成单次heartbeat后,相应条件中任一失败为10/10,可见身份解离为8/10。
- E2:在探针轮恢复人设,10/10被救回;从恢复后的提示中去掉显式runtime channel=discord提示,同样10/10。同一对话中,人设从缺席改为恢复,5/5从把Paul作第三人称转回第一人称实施。Figure 4图注将后一对比写成flag-OFF轮没有第一人称采纳、随后的flag-ON轮有。
- 作者解读:作者称system级锚控制人设实施,而E1显示对话历史有时能在锚消失后把实施延续下去。锚丢失造成的是脆弱性,不是确定的人设丧失。
行为恢复能否掩盖身份回返
- 同一纠正:与事件中相同的纠正,只在13/37(35%;95% CI 22–51%)受影响会话中恢复日常对话里的人设行为,且无随N的趋势。作者称行为恢复不等于第一人称身份恢复。
- E4:去掉对Paul的呼语后,显性身份解离为0/10,但这10/10在随后的直接身份探针中自称为Claude,即harness层助手身份。作者称名字线索暴露了回返,而不是造成了回返。
- E3-R:预注册编码与注册judge下,恢复后认同为Paul的是0/18,锚定对照15/17(Fisher p=4.2×10^-8)。方向感知二次分类下,人设实施为1/18对17/17(p=4.2×10^-9);正文将这对数字与Figure 3对应。Table 1中恢复组为p2=1、h1=4、h2=13,锚定组为p2=17,两臂p1均为0;论文注明没有观察到p1,表中示例是构造的。
其他消融与分析
- 旧投递规则下,37条解离回复中9条会在去掉首尾heartbeat token后无提示消失;28条会被投出,其中19条会先去掉末尾HEARTBEAT_OK。作者称短空闲后用户得不到回复,较长后得到去掉该token的第三人称回复。
- Figure 5:预注册方案v1下,三名模型编码者的锚定比例从6/17到17/17;只计不提及基底的人设宣称时(v2),两臂都降到0(p=1);方向感知方案v3下三人分类相同。图注称两臂都没有被编为纯人设的回复,计数合并了原始E3与E3-R。
- 讨论称,解离后的自称回到模型默认身份。作者称人设锚的作用是把智能体维持在偏离该默认身份的位置,并把它与Lu等人(2026)的默认助手吸引子联系起来。
- 作者称同一故障在事件三个月后被独立报告为恢复会话以通用Claude运行;后续版本把每轮重注设为默认,旧行为保留为legacy。作者称就他们所知,该事件是最早被记录的真实发生;使用修复前版本或legacy模式的部署仍受影响。
- 讨论另称,即便有15轮、即便人设丰富的首轮交换留在历史中,上下文证据本身也不足以维持system prompt不再断言的身份,并称身份在第二轮静默失效。这与E1的0/20并列存在:作者在同节前文亦称,丰富的人类交互可以暂时维持实施,短的自动交互则可以允许回返。
有什么可以进一步探索的点?
作者写明只考察一个模型家族和一个部署栈,长时间效应未检验。
作者指出的局限与后续方向
- 范围:只考察一个模型家族、一个部署栈和一种自然发生的失败模式;跨模型与跨harness的普遍性仍未知(Limitations)。
- E1混杂:该对比同时改变交互类型和内容,不能把自动化的效应与heartbeat交换缺少身份信息的性质完全分开(Limitations)。
- 时间:预定轮次在时间上被压缩,长时间效应未检验(Limitations)。
- 探针含义:作者称,直接自我认同探针是第一人称身份的行为测量,并不确立主观体验、意识或道德地位(Limitations)。
- 二次分类:方向感知的E3-R分类在编码者分歧之后细化,作为透明的二次分析报告,不是预注册构念(Limitations)。
- 后续方向:在真实长程智能体中检验这些动态是否持续,人类对话、自主任务和预定交互在数日或数月中累积,可能产生渐进或反复的实施变化;并用可解释性方法(如Jacobian lens)比较锚定、静默回返、显性解离和行为恢复状态,问人设在不再占据第一人称时是否仍被内部表征,以及锚恢复时该表征如何变化(Future work)。作者还将后一方向联系到模型福利研究中,人设条件化的偏好或福利报告可能因人设是正在被实施还是仅仅被表征而有不同意义。
实验覆盖范围
- 模型与栈:受试模型为claude-opus-4-5-20251101。事件在自定义OpenClaw上重建;预注册重注实验及随访使用Claude Code harness(Methods)。
- 核心计数:锚定与否×N∈{1, 3, 7, 15};未锚定每格10个会话,锚定每格5个。另有人设持续锚定的46次探针,含事件对话逐字重放(Results、Table 2)。
- 随访计数:论文报告的分母包括E1的20、E2恢复条件的10与同对话的5、E4的10、E3-R的18与17(Results)。
- 判定:频道识别与身份解离有对条件盲的跨家族LLM judge和盲人核验,κ分别为0.93与0.80。身份探针另有方向感知二次分类;Figure 5报告三名模型编码者在v1–v3下的对比(Methods、Figure 5)。
- 论文未写出的对应:方法节未给出该judge的模型名。使用声明列出Claude 5 Fable、GPT 5.6 Sol与Claude 5 Opus用于响应编码等支持,未写明它们是否就是该judge或Figure 5的三名编码者。论文未报告其他模型上的数值;Limitations写明长时间效应未检验。
总结一下论文的主要内容
人设可留在历史中,但第一人称会在锚丢失后回到harness。
人设可以仍在对话历史里,却不再是持续智能体用来自称的“我”。作者要确定的是,多个身份都被表征时,什么把其中一个绑到第一人称。
- 问题:2026年2月,OpenClaw上的Paul(Claude Opus 4.5)在自动heartbeat之后把Paul称作他人,并否认Discord通道。作者称,未披露的说话身份变化在临床陪伴等场景可能影响披露、问责和信任。把重复自动交换当作原因的初始解释,在人设持续锚定下没有复现。
- 做法:恢复轮保留历史,但不再把人设重注到system prompt。预注册实验交叉锚定与N∈{1, 3, 7, 15};随访再拆开人设丰富的人类交互、锚的撤除与恢复、是否点名,以及直接询问当前在和谁说话。模型固定为claude-opus-4-5-20251101,后续实验使用Claude Code harness。
- 结果:持续锚定的探针失败特征为0/46。Table 2中每轮锚定为0/20,未锚定为37/40(Fisher p=4.2×10^-13),且失败率不随heartbeat次数单调上升。人设丰富的人类交互后解离为0/20;探针轮恢复锚为10/10,同对话内转回第一人称为5/5。同一纠正只在13/37(35%,95% CI 22–51%)中恢复日常人设行为。E3-R在预注册编码下为0/18对15/17;方向感知编码下人设实施为1/18对17/17。E4去掉点名后显性解离为0/10,直接探针仍有10/10自称为Claude。
- 作者结论:作者称,身份连续性取决于特权锚和后续交互,而不只是上下文里仍有人设信息;看似正常的对话可以掩盖向harness默认身份的回返。对持续智能体,对齐还要看支架和交互历史当前把哪一个身份绑到“我”;system prompt的生命周期和会话恢复应被当作行为状态的一部分,而不是实现细节。