给大模型设定个“人设”居然能改变它的安全判定标准,这事儿挺离谱的
只要在系统提示词里给模型加个身份标签(Trait),同一个问题,模型这次可能拒绝回答,下次却突然变得“大方”起来。这种现象被定义为“特质诱导的安全偏差”。说白了,就是模型在判定一个请求是否危险时,竟然会被它扮演的角色给干扰。比如你让它扮演一个“极其严格的审查员”和“随和的邻家大男孩”,面对同样的敏感问题,后者的防线显然更容易崩溃。
这种做法比单纯地堆砌负面样本要聪明,因为它是在数学层面尝试消除干扰项。不过我依然怀疑,只要模型还需要维持极高的灵活性来适应各种角色,这种“特质干扰”就永远无法被彻底根除,顶多是把偏移量从 10 降低到了 2。
下一篇
LLM 成了 Web 漏洞的传声筒,这让传统的攻击链路变得诡异了 →
这种不稳定性其实揭示了目前模型对齐的一个漏洞:安全机制并不是独立且刚性的,而是会被上下文中的人设表象所偏移。研究发现,这些特质其实是在一个低维子空间里扰乱了模型的安全表示。换句话说,模型在处理安全判定时,并没有完全把“内容本身”和“扮演的角色”分开,导致安全阈值随着人设的切换而上下浮动。
为了解决这个偏差,有一套叫 TIST 的自蒸馏框架,核心逻辑是让模型在有特质干扰时的表现,尽可能向没有特质时的基准行为靠拢。其中一个具体的实操方案是 TraSN(特质子空间中和),它只针对那个被识别出的特质子空间进行强制不变性处理,而不是粗暴地抹平所有特征。
这种优化方向其实挺有意思,它不主张把模型封死,而是试图让安全判定变得更“客观”。如果一个模型能做到无论在什么人设下,对危险请求的判定标准都一致,那么所谓的“角色扮演破限”这种越狱手段效力就会大打折扣。
具体的 TraSN 逻辑可以简单理解为:
- 识别子空间: 找出那些最容易引起安全判定偏移的特征向量。
- 对齐分布: 通过训练,让模型在 $\text{Trait}_A$ 和 $\text{No-Trait}$ 状态下的安全表示趋于一致。
- 保持能力: 确保在增强鲁棒性的同时,不把模型训练成一个只会说“对不起,我无法回答”的机器人。
这种做法比单纯地堆砌负面样本要聪明,因为它是在数学层面尝试消除干扰项。不过我依然怀疑,只要模型还需要维持极高的灵活性来适应各种角色,这种“特质干扰”就永远无法被彻底根除,顶多是把偏移量从 10 降低到了 2。
更系统的工具评测汇总在AI工具实测笔记,有不少直接可参考的案例。