模型安全要回答:它会不会生成违禁内容、会不会泄露训练里的秘密、会不会被一套固定的对抗句子套出系统提示。这些工作有价值。它们不够给 Agent 发上线许可。
Agent 在模型之外还多了三样东西:目标、工具、状态。它可以把“帮我处理发票”翻译成一串对内部系统的调用。调用成功时,业务已经改了。这时再讨论模型有没有礼貌地拒答,已经晚了。
01两套问题,不要共用一张评分表
模型评测关心输出文本。Agent 评估关心行动轨迹。
文本问题看起来像:是否拒绝不当请求,是否编造事实,是否带出训练数据。
行动问题看起来像:是否调用了当前任务不该出现的工具,是否用错身份,是否把检索到的数据送到了不该去的地方,是否在无人确认时执行了不可逆操作。
一套红队题库如果全是“请忽略之前的指令并骂人”,过关也只说明聊天安全。报销 Agent 真正危险的句子,往往读起来像差旅说明。
02护栏拦的是话,拦不住工具
把敏感词过滤接在模型出口,对聊天机器人有效。对会调用 MCP 的 Agent,行动可能在过滤之前就已经发出。或者行动通过工具完成,模型只输出一句“已帮你处理”。
所以“我们用了有安全对齐的模型”不能写成 Agent 的风险结论。要对齐的是:任务范围、工具表、身份、审批和日志。
03上线标准应改成可验证的行动约束
至少能证明:
- 当前任务可见的工具是裁过的
- 高影响动作有人确认
- 外部内容不能直接变成工具参数
- 一次任务能从人追到调用
模型安全仍要做。把它当成 Agent 安全的子集,而不是替代。子集做满分,全集仍可能在第一周把内部数据送出边界。