这种差距存在的工程原因是,生产环境中的 AI 流水线是针对正向路径优化的。智能体读取请求,获取上下文,选择工具,生成输出并返回。推理追踪确实存在,但它是为值班工程师记录的,而不是为用户记录的。模型实际看到的输入快照存储在一个存储库中;限制决策的政策包存储在另一个库中;模型版本是部署上的一个标签,而不是决策记录中的一个字段。三周后询问“为什么拒绝这个用户?”通常意味着需要关联四个日志库,并祈祷它们的存储周期(retention windows)是一致的。要求“在不同的假设下重新评估此案例”几乎总是意味着针对相同的上下文运行相同的提示词,并预见性地得到相同的答案。
梳理任何 AI 辅助产品中用户可见的决策边界,你会发现一长串在事后看来团队会将其归类为“可申诉”的输出——以及极少数真正允许用户申诉的 UI 功能。智能体拒绝了退款。内容审核流水线删除了一篇帖子。内容排序器埋没了创作者的视频。身份服务将账号标记为可疑并强制进入重新验证循环。招聘工具悄悄地给简历打低分。推荐系统停止向曾经购买过的买家展示商家的产品。
每一项都是“模型说是就是”。每一项也都是监管机构现在希望你能够解释,并在许多情况下允许用户提出异议的决策。欧盟 AI 法案(EU AI Act)第 86 条规定的解释权,赋予了受高风险 AI 决策影响的人获得“AI 系统在决策过程中所起作用的清晰且有意义的解释”的权利。而 GDPR 第 22 条长期以来一直要求,对于具有法律或类似重大影响的纯自动化决策,数据主体必须能够获得人工干预、表达观点并对决策提出异议。虽然这些措辞比最新一代模型还要久远,但义务并未改变:一条通往人工的真实路径,并有获得不同结果的真实机会。
第一是针对每项决策的持久化记录。不是一个 span,不是一行日志,而是一条记录。对于每一项跨过“可能影响用户利益”阈值的决策,你需要一行数据来捕获:模型看到的完整输入快照(规范化处理,以便对相同输入的两次运行哈希值一致)、模型版本和供应商、限制输出的政策包或规则版本、尝试过的工具调用及其结果,以及返回给用户的最终输出。该记录需要自己的存储策略,与你的热观测存储解耦。12 个月是不够的;对于高风险决策,监管机构的要求更接近 3 到 7 年,而 AI 法案对高风险系统审计追踪的预期进一步推高了这个数字。这条记录是审计员上门时索要的东西,也是你的“二次审核”流水线在用户申诉时读取的内容。
第二是具有 SLA 的面向用户的申诉端点。不是一个没有决策标识符、最后进入客服工单队列的联系表单;而是一个真实的、具有模式(schema)的端点,用户(或代表他们的客服人员)可以提交”我想审核决策 <id>”以及原始决策不具备的新上下文。该端点创建一个申诉案例,将其链接到持久化决策记录,并开始计时。计时很重要。没有 SLA 的申诉是一个在积压工作中悄悄消亡的申诉,对于任何需要快速解决的用户来说,“我们会尽快回复你”与“不行”的结果是一样的。Cove 的申诉 API 是内容审核领域的一个例子;同样的想法可以推广到你的用户关心的任何决策类别。向你的申诉端点发送 POST 请求会创建一个案例;向你的回调(或客服工具)发送 POST 请求会记录解决结果;两者都可以永久链接到原始决策 ID。
第三是一个不仅仅是重复运行第一条流水线的二次审核流水线。这是团队最容易偷工减料并毁掉整个架构的地方。如果申诉处理器只是用原始上下文重新调用原始智能体,模型——在 temperature 为 0 时是确定性的,在其他情况下也近似确定——会产生相同的答案,而用户会收到一段措辞委婉的“我们已审核你的案例并维持原判”,而实际上没有任何人工审核过。有意义的人工审核(Meaningful human review)——这是 GDPR 执行者和英国信息专员办公室(ICO)多年来一直在强调的术语——是指拥有权力和能力推翻决策的人工审核。为了实现这一点,二次审核流水线需要至少执行以下操作之一:运行一个具有更长上下文窗口和不同系统提示词的不同模型、直接升级到附带案例记录的人工审核队列,或者应用一个专门为申诉路径存在的、更宽松的政策包。通常,这三者都需要。
并非每个模型输出都值得分配一个申诉端点。如果用户让 AI 智能体总结 PDF 但得到了一个糟糕的摘要,并不需要为此保留七年的可质疑性记录。但如果用户申请退款被拒绝,则确实需要。在这两者之间存在一条界线,你团队中的某个人需要明确地划定它,否则你的持久化记录库将充斥着对话摘要噪音,而你的申诉队列将塞满要求客服修改要点的用户。
划定这条界线是一个产品决策,而非工程决策,但工程团队必须负责执行它。最干净的执行方式是在网关层(gateway layer):在已经进行成本归因、限流和供应商路由的同一个地方,也应该对决策进行分类,写入持久化记录,并将决策 ID 返回给应用程序。处理高风险结果的应用可以免费获得可质疑性功能;而那些不处理高风险结果的应用则无需支付成本。对于任何在生产环境中运行超过两个或三个 AI 功能的组织来说,这是集中化 LLM 网关的有力理由之一。
如果你现在就在生产环境中发布由 AI 介入的决策,找出可质疑性缺口最快的方法就是亲自走一遍流程。挑选一个最近的否决案例——退款申请、内容删除、验证失败——并尝试回答四个问题。模型实际看到的输入是什么(逐字节还原)?是哪个模型版本和策略包产生的输出?在面向用户的产品中,用户可以在哪里申请对该特定决策进行人工复核?当该请求进入时,运行的是什么流水线?它是否与原始流程有足够的差异,从而能够产生不同的答案?