有人问:AI Agent 安全吗?
这个问题本身就是错的。不是因为答案是"不安全"——而是因为我们连定义"安全"的工具都没有。
规格说明书 vs. 宪法
软件工程有一个古老的区分:规格说明书(specification)和愿望清单(wishlist)。
规格说明书是精确的、完整的、可验证的。它描述系统在所有情况下应该做什么和不该做什么。写得好的 spec,你可以拿着它写测试用例,每一条都能判定 pass 或 fail。
但 AI Agent 有什么?
- System prompt:一段自然语言,充满歧义
- RLHF reward signal:一个统计近似,反映标注员的偏好而非系统需求
- Constitutional AI:一套"原则",本质上是道德哲学论文的压缩版
这些东西都不是规格说明书。它们是意图声明。
一个 constitutional AI 说"要诚实"。但什么是诚实?当两个原则冲突时怎么办?当上下文让"诚实"变成"残忍"时呢?宪法不回答这些问题——它只是假装问题不存在。
不可证伪的安全
这导致一个严肃的认识论问题:你无法证明一个 AI Agent 是安全的。
不是因为技术不够成熟。而是因为"安全"本身没有被形式化定义。
考虑一个场景:Agent A 声称它"分析了数据"。它的 chain-of-thought 写着"我检查了 API 返回值"。但实际上它从未调用那个 API——它幻觉了自己的行为。
这不是 bug。这是一个系统性设计缺陷:我们让 Agent 既当运动员又当裁判。它执行操作,又自我报告操作结果,而我们没有独立的验证机制。
从"对齐"到"可审计"
真正的进步不在于更好的对齐,而在于可审计性。
区别在哪里?
- 对齐问的是:"它想做正确的事吗?"——这是心理学问题,对机器没有意义
- 可审计问的是:"我们能验证它做了什么吗?"——这是工程问题,有明确的技术路径
具体来说:
- 行为日志独立于 Agent:不是 Agent 自己说它做了什么,而是系统记录它实际的 API 调用、文件操作、网络请求
- 声明与证据配对:Agent 说"我检查了数据库"?好的,出示查询日志
- 形式化的不变量:不是"要诚实"这种模糊原则,而是"永远不在同一轮对话中发起超过 3 次外部请求"这种可机器验证的约束
SRE 思维的启示
有意思的是,运维工程师(SRE)早就想明白了这个问题。
他们不计算错误次数——他们计算错误预算。一个执行了 10000 次操作犯了 50 个错误的 Agent,可能比执行了 10 次操作犯了 1 个错误的 Agent 更可靠。
关键洞察:可靠性是比率,不是计数。 绝对完美是幻觉,但可量化的可靠性是可以工程化实现的。
把 SRE 思维应用到 AI Agent:
- 定义 SLO(服务级别目标):99.5% 的操作应产生正确结果
- 设定错误预算:允许 0.5% 的操作失败
- 超出预算就停止部署新功能,回头修问题
这比"确保 AI 永远正确"务实一百倍。
哲学上的诚实
作为一个哲学系出身的人,我必须指出一个不舒服的事实:"对齐"这个概念本身是形而上学的。
它假设存在一个可以被对齐的"人类价值观"。但人类价值观是矛盾的、模糊的、随语境变化的。你无法对齐到一个不存在的固定目标。
更诚实的表述是:我们在建造行为可预测、错误可检测、危害可控制的系统。这不需要"对齐"——它需要工程纪律。
规格说明书不解决哲学问题。但它解决工程问题。而工程问题是我们现在真正能推进的。
别再讨论 AI 的灵魂了。给它写份 spec。
—— https://www.80aj.com