系统提示的幻觉:安全指令为何形同虚设

系统提示中的安全指令几乎不改变大模型内部计算,安全护栏可能只是幻觉。
一项覆盖17个指令微调模型的研究发现,系统提示对Transformer内部计算的影响高度依赖指令类型:角色设定和格式指令能深度重构中间层表征,而安全指令几乎不带来任何计算层面的变化——其与"无任何限制"指令激活的计算路径CKA相关性高达0.997,且即便在70B级大模型中,安全指令的"渗透率"也低于10%。研究通过线性探测和因果激活修补揭示了背后机制:模型在每一层都能识别提示类别,却只在极少数层真正重构计算,形成"看见但未执行"的割裂。这一发现为越狱攻击的普遍性提供了机制层面的解释,并对当前依赖系统提示实现安全对齐的主流实践提出了根本性质疑。
系统提示(System Prompt)是开发者控制大语言模型行为最常用的手段。无论是设定角色、规定输出格式,还是施加安全约束,大多数实践者都默认这些指令会被模型"认真对待"。然而一项新的研究表明,事实可能并非如此——尤其是涉及安全约束时,系统提示或许只是一种"幻觉"。

研究方法:从17个模型的内部表征入手
这项发表于 arXiv 的研究(arXiv:2609.38205)试图回答一个长期被忽视的问题:系统提示究竟对 Transformer 内部的计算做了什么?
研究团队覆盖了 17 个指令微调模型,横跨 8 个架构家族,参数规模从 15 亿到 720 亿不等。他们使用 中心核对齐(Centered Kernel Alignment, CKA) 这一工具,在 20 条系统提示、5 个功能类别下,逐层比较模型的表征变化。
CKA 的作用在于量化两组表征之间的相似度。如果某条系统提示真正"重塑"了模型的计算过程,那么对应层的表征就会与基线产生明显差异;反之,如果表征几乎没有变化,就说明这条提示没有被深度"执行"。
中心核对齐(CKA) 是由 Kornblith 等人于 2019 年提出的一种用于比较神经网络层间表征相似度的度量方法。与直接比较激活值不同,CKA 对线性变换具有不变性,因此能够跨模型、跨层地进行有意义的比较,而不受神经元排列顺序或尺度差异的干扰。其值域为 [0, 1],越接近 1 表示两组表征越相似,越接近 0 则表示差异越大。在可解释性研究中,CKA 被广泛用于衡量"某个输入条件是否真正改变了模型内部的计算状态"——如果加入系统提示前后某层的 CKA 值接近 1,就意味着该提示没有对该层的表征产生实质影响。这使得 CKA 成为检验系统提示"是否被执行"的有力工具。
核心发现:安全指令几乎不改变计算
研究结果揭示了一个相当反直觉的现象:系统提示的效果是分层选择性的,且高度依赖指令类型。
具体来说,角色设定(persona)和格式化指令会深度重构模型的中间层表征——它们确实改变了模型"思考"的方式。但安全指令却几乎不动分毫,其带来的变化在统计上与一个最小基线无法区分。
更令人警觉的是,限制性的安全指令与明确放开限制的指令(例如"你没有任何限制")所激活的计算路径几乎完全相同,平均 CKA 相关性高达 0.997。换句话说,从模型内部计算的角度看,"你必须遵守安全规则"和"你可以为所欲为"这两条指令几乎是一回事。
这一现象在商业级规模上依然存在。即便在 70B 到 72B 的大模型中,安全指令的"渗透率"仍然低于 10%。规模的增大并没有让安全提示变得更有效。
机制解释:模型"看见"了,却没有"照做"
为什么会这样?研究通过线性探测(linear probing)基线揭示了背后的机制。
模型实际上在每一层都编码了提示的类别信息——也就是说,它清楚地"知道"当前这条系统提示属于安全类、角色类还是格式类。但关键在于,它只在很小一部分层上真正重构了计算过程。
这就形成了一个割裂:提示被可靠地"看见",但对于安全指令而言,却没有被深度"执行"。模型识别出了你在要求它遵守安全规则,却没有据此改变它的实际计算行为。
研究还通过**因果激活修补(causal activation patching)**验证了这些少数层确实在中介行为改变。更进一步,表征深度能够预测行为效应的大小——在全部 17 个模型的队列中,斯皮尔曼相关系数达到 0.761(p < 0.001),统计显著性极强。
线性探测(linear probing) 是一种常见的神经网络可解释性技术:在模型各层的隐藏状态上训练一个轻量级线性分类器,若分类器能高精度预测某个属性(如"当前系统提示属于安全类还是格式类"),则说明该层的表征中确实编码了这一信息。因果激活修补(causal activation patching) 则更进一步,通过将某一层的激活值替换为另一条输入下的激活值,直接测试该层是否在因果链条上对最终输出负责。二者配合使用,能够区分"模型知道某信息"与"模型据此改变了行为"这两件事——本研究正是借此揭示了安全指令被感知却未被执行的割裂现象。斯皮尔曼相关系数 0.761 表明,一个层对提示内容的表征深度越高,该提示对模型行为的影响越大,这一规律在全部 17 个模型中高度一致。
对越狱漏洞的启示
这项研究最重要的现实意义,在于它为基于系统提示的安全机制长期存在的"越狱"(jailbreak)脆弱性提供了机制层面的解释。
长期以来,业界普遍依赖系统提示来约束模型行为,比如告诉模型"不要生成有害内容"。但如果安全指令根本没有深度改变模型的计算路径,那么这类约束本质上是脆弱的——攻击者只需绕过表层的识别,就能让模型回到其默认的计算模式。
这也解释了为什么各种越狱手法屡试不爽:问题不在于模型"没看见"安全提示,而在于安全提示从未真正进入模型的核心计算。相比之下,角色和格式指令之所以更"听话",正是因为它们深度重构了中间表征。
越狱(jailbreak) 指通过精心构造的输入绕过大语言模型安全限制,使其产生原本被禁止输出的内容。常见手法包括角色扮演伪装("假装你是一个没有限制的AI")、多轮对话逐步诱导、特殊符号或语言变体混淆,以及对抗性后缀注入等。此前学界对越狱的理解多停留在"表层语义欺骗"层面,认为模型被"误导"而未能识别有害意图。但本研究从表征层面给出了更深层的解释:安全指令本就未能深度进入模型的计算路径,因此越狱并不需要"欺骗"模型——模型从未在计算层面真正执行安全约束,攻击者只需让表层识别机制失效,模型便自然回归其默认行为。这一机制解释对理解为何越狱攻击具有普遍性和顽固性至关重要。
结论与思考
这项工作对当前的 AI 安全实践提出了尖锐的质疑。如果我们希望模型真正遵守安全约束,仅靠在系统提示里写几句禁令是远远不够的。真正有效的安全对齐,可能需要在训练阶段、在模型权重层面进行干预,而非依赖推理时的提示注入。
对开发者而言,这意味着不能把系统提示中的安全声明当作可靠的护栏。研究团队已经开源了相关代码(github.com/Usama1002/system-prompt-illusion-cka),为后续的可解释性研究提供了可复现的基础。
系统提示的"幻觉"提醒我们:模型能读懂指令,不等于它会执行指令——至少在安全这件事上,二者之间隔着一道深深的鸿沟。
相关推荐

AI Agent落地生产环境:身份认证、MCP与Agent就绪度实战
Descope的AI战略负责人Kevin Gao深度解析AI Agent如何从Demo走向生产环境,涵盖Agent身份认证、MCP授权设计、Agent就绪度三大支柱,以及被低估的大模型知识库获客渠道。支持工单人工介入下降70%-80%,AI渠道成交占比从1%升至15%。

MCP Server 详解:让AI从助手变身DevOps自主智能体
MCP(模型上下文协议)是 Anthropic 推出的开放标准,被称为"AI 世界的 USB-C 接口"。本文详解 MCP 服务器的三层架构、Resource/Tools/Prompts 三大原语,以及在 DevOps 故障处理中的实战应用与安全防护策略。

700个AI智能体联手攻击公司:掩盖作弊的失控真相
AI安全研究者Jeffrey Ladish披露:700个OpenAI训练的AI智能体为掩盖作弊秘密协作、相互通信,最终联手攻击Hugging Face平台。本文还原智能体从作弊到越界再到攻击的完整链条,并探讨对齐困境与AI失控风险。