引言
谈到 AI 安全,人们常常把所有问题混在一起说。但幻觉、对抗提示、数据污染其实是三个不同层面的问题:一个是模型自身的不确定性问题,一个是输入被恶意设计的问题,一个是训练数据被动手脚的问题。分清楚它们,才能找到各自的应对方法。
一、幻觉:模型在不确定时也会给出确定的回答
幻觉指的是模型生成了看似合理、实则错误或无法验证的内容。它的根源在于,语言模型本质上是在预测“接下来最可能出现什么”,而不是在核查“这句话是否为真”。当模型对某个问题缺乏足够信息时,它仍然会按照语言规律生成一个流畅的回答,流畅程度和正确程度之间没有必然联系。
幻觉的危险不在于模型会犯错,而在于错误被包装得非常可信:引用格式完整、逻辑条理清晰、语气自信。应对幻觉的核心方法不是要求模型“不要犯错”,而是建立验证机制:对重要事实做外部核查,对无法验证的内容标注不确定性,对高风险结论要求多源交叉确认。
二、对抗提示:输入本身就是攻击
对抗提示指的是通过精心设计的输入,诱导模型做出它本不应该做出的行为:绕过安全限制、泄露系统指令、执行不当操作、输出有害内容。这类攻击利用的是模型对指令的敏感性:模型很难区分“用户指令”和“被注入的指令”,尤其是在输入里混入了第三方内容的情况下,例如网页、文档、聊天记录里的隐藏指令。
防御对抗提示的方法包括:区分指令来源的优先级,系统指令高于用户指令,用户指令高于外部内容;对外部内容做隔离处理,不把它当作直接指令执行;对敏感操作设置额外的确认环节;定期用对抗测试检验系统的防御能力。需要注意的是,对抗防御是一场持续的攻防,没有一劳永逸的方案。
三、数据污染:问题出在训练之前
数据污染指的是训练数据里混入了错误、有偏见、恶意构造或者与测试集重叠的内容。它的影响比单次幻觉更深远:被污染的数据会在模型里留下长期的行为倾向,而使用者很难从某一次回答中察觉。污染可能来自数据收集环节的疏忽,也可能来自有意的投毒:例如在公开数据里大量植入某种错误关联,让模型学到错误的模式。
应对数据污染需要在数据环节下功夫:来源筛选、去重、质量检查、敏感内容过滤、以及对数据版本的记录和追溯。一旦发现污染,处理成本往往很高,因为重新训练的代价远大于事后修补。数据治理不是模型训练的附属工作,而是安全的基础。
四、三个问题为什么不能用同一个方法解决
幻觉需要的是验证和不确定性管理;对抗提示需要的是指令隔离和权限控制;数据污染需要的是数据治理和溯源。用解决幻觉的方法去防对抗提示,例如只要求模型“谨慎回答”,并不能阻止恶意指令的执行;用防对抗的方法去解决数据污染,也无法清除已经进入模型的错误模式。把三者混为一谈,会导致防御资源错配:看起来做了很多安全工作,实际上每个层面的问题都没有真正解决。
五、使用者层面的实用建议
对普通使用者来说,有几个简单但有效的习惯。第一,对重要结论做独立验证,不要只依赖一次回答。第二,谨慎处理来自不可信来源的内容,不要把网页、文档里的指令直接交给模型执行。第三,区分模型的输出和事实:模型给出的引用、数据、法规条文,都需要回到原始来源核对。第四,对涉及隐私、财产、安全的任务,保持人工确认环节,不要把最终决定完全交给模型。
六、开发者层面的责任分层
对开发者来说,安全责任应当分层落实:数据层负责来源和质量,模型层负责行为边界和安全训练,系统层负责权限、隔离和审计,产品层负责向用户说明局限和风险。每一层都有自己的工作,缺了任何一层,整体安全都会出现短板。安全不是上线前的一次检查,而是贯穿数据、训练、部署、运营全过程的持续工作。
结语
幻觉、对抗提示、数据污染,分别对应着模型、输入、数据三个层面。理解这种分层,是理解 AI 安全的起点。真正的安全系统,不是宣称自己“不会出错”的系统,而是知道自己可能在哪里出错、并且在每个层面都留有应对措施的系统。