可申诉性与申诉

10 分钟读完

C19
运维 · 治理与合规

可申诉性:一次你重建不出来的申诉,只是一次带着文书工作的抛硬币。

申诉在决定作出六周之后才到,而那时模型已经过了两个版本、检索索引重建过、政策文件改过、提示词调过两轮。你重跑出来的,是一个不同的系统在回答一个不同的问题——于是复核者并不是在检查一个决定,他是在作出一个新决定并管它叫复核。可申诉性不是一张表单加一个信箱;它是把原始输入重新摆到一个有权推翻它的人面前的能力。这份能力,是在决定作出的那一刻、在你的保留策略里买下的,否则根本无从谈起。

STEP 1

三项不同的权利,惯常被压成一项。

团队会去建"一套申诉流程",然后很晚才发现:这些义务是可分的,来自不同的法律文件,落在不同的当事方头上。

  • 获得人工介入的权利——GDPR 第 22 条第 3 款,适用于"仅基于自动化处理"、且产生法律效果或类似重大影响的决定。数据主体可以要求人工介入、表达自己的观点、并对该决定提出异议。注意触发条件里的仅:一个只会盖章的人不会把你移出第 22 条;一个真有权限和信息的人才会。
  • 获得对个体决定之解释的权利——欧盟《人工智能法案》第 86 条,由部署方(而非提供方)向受决定影响的人承担;该决定须基于附件三所列高风险系统(第 2 项除外)作出,并对其产生法律效果或类似重大不利影响。它是被动的、按需触发的:就该 AI 系统在决策程序中所起的作用以及所作决定的主要要素,给出清晰而有意义的解释。
  • 提出异议并要求重新审议的权利——这是实体性的那一项,也是唯一能改变结果的那一项。前两项是它的输入。

它们是叠加的,不是二选一;而你本就身处其中的行业规则——信贷、保险、雇佣、社会给付、医疗——通常还会在上面追加自己的时限与告知内容。按决定类型把它们梳理一遍,记下哪一条适用于哪里;这份对照表应当放在智能体清册旁边,而不是放在一份幻灯片里。

《人工智能法案》的义务落在部署方身上,是最让人意外的那个细节。如果模型或智能体是你买来的,那份解释仍然得由你给出,而所依据的证据,供应商未必对外暴露。把"我们能不能用手上持有的数据解释一个个体决定"做成一道采购问题,而不是第一起投诉之后才有的发现。

STEP 2

你的保留策略就是你的申诉策略。

一个智能体式的决定不是表里的一行;它是一条流水线的输出,而这条流水线的每一个部件都在漂移。要把原始决定摆到复核者面前,你必须在它发生的那一刻把整套都钉住,因为事后没有一样是找得回来的。

# Pin at decision time. None of these can be reconstructed later.

decision_id        # the join key for everything below
subject_ref        # who it was about, and under which case
model_id + version # the exact deployed build, not "gpt-5-ish"
prompt_version     # hash of system prompt + tool definitions
policy_version     # the rules doc as it read that day
retrieved_docs     # ids AND content hashes — the index gets rebuilt
tool_calls         # arguments and results, not just names
inputs_as_supplied # the applicant's data before any normalisation
outcome + reasons  # the decision, and the grounds given to the subject
human_step         # who reviewed, what they saw, what they could change

# Retention: the longest of the appeal window, the limitation
# period, and the sector rule. Usually years, not the 30 days
# your trace backend defaults to.

其中有两行是系统真正翻车的地方。检索内容的哈希:一次重建索引或一次文档编辑,会静默地改变"同一个查询"返回什么,而拿今天的语料去比对的复核者,看不到模型当时看到的东西——这正是重建索引与嵌入迁移里的那个迁移风险。以及保留时长:追踪工具的定价与配置是为调试服务的,带采样、窗口很短;而申诉窗口以月计,诉讼时效以年计。被采样的追踪对可观测性而言够用,对可申诉性而言是致命的:被申诉的那个决定,按定义就不是你随机留下的那一个。

所以要为有法律效果的决定单独辟一条不采样、长保留的通路;并注意它如今与保留期与法务保全是双向互动的——你既要留得够久以便作答,也要在案子转为争讼时能对它下保全。

STEP 3

重跑一遍模型不是复核。

诱人的实现,是一个用原始输入重新执行整条流水线、并报告结果有没有变的按钮。它便宜、能产出一份文档,而且近乎一文不值——因为第二次运行与第一次并不独立。它共用同一个模型、同一份提示词、同一套检索语料和同一种框定,于是只要错误出自其中任何一样,它就会把原来的错误重现一遍——而多数时候正是如此。

当"人在回路"做得不好时,情况更糟。先把模型的决定和它自陈的置信度摆到复核者眼前,你就造出了一台批量制造赞同的机器:谄媚把模型复核者拉向桌面上已有的东西,自动化偏见把人类复核者拉向同一个方向。两种情形下,第二意见都与第一意见相关,而相关的意见不会互相抵消——这正是生成-核验落差论证过的那一点。

  • 给复核者一个不同的信息基础,而不是一次重跑。申请人新提交的证据、源文件本身而非模型对它的摘要、政策原文。如果唯一的新输入是"又问了模型一遍",那就没有任何东西被复核过。
  • 在复核者形成自己的判断之前,扣住模型的置信度,并且考虑连它的建议一起扣住。锚定就是自动化偏见的全部机制,而调整呈现顺序不花一分钱。
  • 复核者必须能在不请示的情况下推翻。第 22 条第 3 款不会因为有一个只能往上报的人而被满足。权限、领域胜任力与时间,是让复核有分量的三样东西,而第三样正是被一个队列考核指标悄悄拿走的。
  • 把推翻率当作一项控制指标看,而不是一项成绩。接近零意味着复核只是仪式;接近一半意味着一线决策已经坏了。两者都不值得庆祝,而前者正是常被当成成功报上去的那一个。
STEP 4

把告知书设计好,因为它决定了有没有人申诉得起来。

多数申诉通道在进入队列之前就已经失败了,失败在那份决定告知书上。一个看不出这个决定取决于什么的人,无法对它提出异议;而一项要求当事人去猜理由的权利,只是名义上的权利。

  • 说明有自动化系统参与,以及它做了什么。《人工智能法案》要的是该系统在程序中所起的作用——筛选、打分、建议、还是决定——用一个非专业人士读一遍就懂的措辞。
  • 给出这个决定所取决于的主要要素,而不是一张特征重要性图。"您申报的 3 至 5 月收入与所提供的工资单无法匹配"是可以被异议的。"风险分 0.83"不是。
  • 写明途径、期限,以及什么证据有用。告诉对方"什么会改变这个答案",是整份告知书里杠杆最高的一句话,它能把很大一部分申诉转化成一次上传文件,而不是一个案子。
  • 别让申诉比申请更难。如果这个决定是通过一个 App、在九秒内作出的,而申诉却要邮寄一份纸质表格,那你造的是一道筛子,监管方也会照筛子来读它。
  • 把你实际发出去的那份告知书记录下来,带版本。当事人被告知了什么,本身就是证据,而"我们本来会说"不构成抗辩。

当决定是由智能体以对话方式送达时,披露与理由必须在对话里存活下来——那份转写就是告知书,需要与一封信件同等的版本管理。这件事的交互设计一侧是透明性与可解释性。

STEP 5

推翻是一个副作用问题,不是一次状态变更。

在申诉悬而未决的这段时间里,那个决定并没有原地不动。一条智能体式流水线依着它行动过:发了信、停了一笔给付、开了一个催收案子、给第三方去过函、更新了一个被另一个模型消费的分数。把一个标志位从 declined 改成 approved,逆转的是一行记录,而不是上面这些。

  • 按决定类型事先把下游影响列全,并与决定记录一同存下。你无法为一个列不出来的动作做补偿,而这份清单短到只需写一次——这正是修复智能体的副作用所围绕的那本台账。
  • 通知你曾告知过的第三方。一家征信机构、一个合作方、另一个部门。只逆转而不撤回,会让原来的决定继续在外流通,而在若干监管体系下这本身就是一次违规。
  • 在时间上、而不只是结果上让当事人复原。把权益追溯生效、退回费用、免掉争议期间产生的利息。一次拖了十一周、除了状态什么都没恢复的申诉,处理的是记录,不是损害。
  • 把被推翻的决定从记忆与训练路径里清掉。一个被推翻的结果如果继续留在记忆库、一份缓存摘要或一份微调语料里,它会被重演一次——而第二次它看起来还很"一致"。
STEP 6

申诉队列是你能拿到的质量最高的评测数据。

在别的任何地方你都得花钱买标注。而在这里,有动机的人替你指认系统的错误、补上缺失的证据,再由一位够格的复核者作出裁断——免费、结构化地排在队列里、而且持续不断。把申诉纯粹当成合规成本的团队,把这些扔掉了,然后再立一个标注项目去把它重建出来。

  • 给每一次推翻按原因编码,用一套固定的分类:输入数据有误、当事人手里有而系统没拿到的证据、政策读错、检索漏召、模型出错、政策从未涵盖的边缘情形。这个分布会告诉你该修什么,而它正是你本来要开一场工作坊才编得出来的那份失败分类法。
  • 把被推翻的案例升格进回归测试集,以正确结果作为标签。这是整栋楼里最干净的一份评测集,而且它自己会长大。
  • 按人群分组对申诉率与推翻率设告警。某一个群体上的抬头同时是一个公平性信号和一个漂移信号,而且它通常比任何聚合质量指标早动几周——一个有名有姓的生产反馈信号。
  • 把处理时长当作服务水平来报。申诉是会衰减的:证据会过期、损害会累积,而一项迟了十一周才被行使的权利已经部分失效。这个数字才告诉你这条通道是不是真的。

从 STEP 2 那份钉住清单和一个数字开始。给每一个有法律效果的决定,在作出时写下那十个字段,走一条不采样、按"申诉窗口、诉讼时效与行业规则三者取长"来保留的通路——正是这一处改动让往后每一项义务都答得出来,而它一旦事后补做就一文不值。然后把推翻率仪表化,并把它当作控制指标来读:接近零意味着你的人工复核只是仪式,第 22 条并未被满足,无论你雇了多少复核者。这一页上的其余一切——告知书、副作用台账、评测集——都可以以后再建。那份记录不行。

延伸:审计留痕讲这一切所挂靠的那条主线,面向智能体的欧盟 AI 法案讲第 86 条在部署方义务里的位置,问责与角色讲由谁在推翻上签字,公共给付经办智能体讲一个这页上每一行都已是法定要求的领域。