AI 工程基础体系 · 第 32/100 篇。内容覆盖机器学习、深度学习与生成式 AI;模型、数据、评测、权限和成本会作为同一生产系统处理。
负责任 AI:偏差、隐私、版权、透明度、人类监督和风险分级
负责任 AI 不是“给模型加一个合规说明”,而是把模型、训练数据、评测、权限、人工流程、运行成本和事故响应作为一个生产系统治理。系统的目标也不只是提高准确率,还包括:在不同人群和场景下保持可接受的错误分布,避免不必要的数据暴露,尊重数据和内容权利,使使用者知道系统如何工作并能纠正错误,同时在高风险决策中保留有效的人类控制。
NIST AI Risk Management Framework(AI RMF)把治理活动概括为 Govern、Map、Measure、Manage:建立治理责任,识别使用场景和风险,测量风险,持续管理风险。它是风险管理框架,不是某个模型的认证清单。OWASP 的 LLM 应用风险分类则更贴近生成式 AI 应用,例如提示注入、敏感信息泄露、供应链风险、过度代理、向量与嵌入弱点以及资源消耗失控。两者关注层次不同:AI RMF 管理整个生命周期,OWASP LLM Top 10 帮助工程团队识别应用层攻击面。
一、先定义“负责”:从模型质量转向系统风险
设一个 AI 系统接收输入 ,经过模型 产生输出 ,再由人或下游程序执行动作 。传统机器学习经常只优化预测损失:
其中 是目标标签, 是错误损失。但生产系统还要面对隐私损失 、安全损失 、公平性损失 、版权和合规损失 、运行成本 :
这些项不是简单地用同一种单位相加。高风险场景通常需要设置硬约束,例如“未通过权限检查的文档不得进入提示词”“高风险决策不能由模型单独作出”,而不是让模型用更高准确率抵消违反约束的行为。
因此,负责任 AI 至少包含六个相互制约的目标:
- 偏差:系统错误是否对不同群体不均衡,或者训练数据、标签和部署环境是否使结果系统性失真。
- 隐私:个人数据是否被不必要地收集、推断、暴露、记忆或用于不相称的处理。
- 版权:训练、检索、生成、存储和再发布过程中,是否涉及受保护内容、许可范围、署名和相似性风险。
- 透明度:用户、审计者和开发者是否能理解系统用途、依据、限制、版本和失败条件。
- 人类监督:人在关键环节是否拥有足够信息、权限和时间来发现、阻止和纠正模型错误。
- 风险分级:不同应用是否按照影响、暴露面、可逆性和不确定性采用不同的控制强度。
这里的“公平”“隐私”或“透明”都不是模型天然具备的属性,而是由数据、目标函数、接口权限、流程和组织责任共同决定的系统属性。
二、偏差:不是一个指标,而是一条因果链
1. 偏差的来源
表示偏差发生在数据没有覆盖真实用户或任务人群时。例如招聘数据主要来自历史上被录用的群体,模型可能学到“过去被选择的人长什么样”,而不是“谁适合这份工作”。
测量偏差来自特征或标签本身。医疗数据中的“是否接受治疗”可能不是“是否需要治疗”,而是“是否曾获得医疗服务”。如果不同群体获得服务的机会不同,直接把治疗记录当作疾病标签就会把制度差异编码进模型。
标签偏差来自标注者、流程或历史决策。审核“攻击性文本”的标签可能反映标注者对方言、口语或政治表达的偏好。
聚合偏差是用一个模型和一个目标处理本来机制不同的群体。例如总体准确率很高,但少数群体的召回率极低。
部署偏差发生在训练环境与实际环境不一致时。一个客服模型在内部测试集上表现良好,但上线后用户使用了不同语言、不同输入格式,或者攻击者主动构造输入,错误率便会上升。
偏差诊断必须保留分组变量、标签来源、采样规则和时间窗口。只看总体准确率会掩盖问题:
如果一个少数群体只占样本的 1%,总体指标几乎完全由多数群体决定。
2. 三类常见公平条件
设 为受保护属性或审计分组, 为模型预测, 为真实结果。
人口统计均等要求:
它关注不同群体被预测为正例的比例相同。例如不同群体获得贷款初审通过的比例相同。但如果各群体真实合格率不同,这个条件可能造成对真实风险的忽略。
机会均等要求在真实正例中,各群体的真正例率相同:
它适合“不要漏掉合格候选人”这类任务,但没有限制假正例率。
均等赔率同时要求真正例率和假正例率相同:
这通常比人口统计均等更严格。不同群体基准率不同、模型不是完美分类器时,人口统计均等、均等赔率和校准往往不能同时满足。这不是“选一个漂亮指标”能解决的冲突,而是必须结合业务伤害、法律要求、标签质量和人工复核设计。
3. 完整算例:总体准确率高仍可能不公平
假设两个群体各有 100 人,真实正例率不同:
| 群体 | TP | FN | FP | TN |
|---|---|---|---|---|
| A | 45 | 5 | 5 | 45 |
| B | 18 | 2 | 16 | 64 |
A 的准确率为 ,B 的准确率为 。总体准确率为:
仅看总体指标,模型似乎可用。但:
两组满足机会均等;而:
不满足均等赔率。B 组真实负例被误判为正例的比例是 A 组的两倍。若正例会触发调查或限制,B 组承担了更高的误报负担。
反例是:如果团队为了降低 B 组的假正例率而大幅提高 B 组阈值,可能降低其真正例率,导致真正合格的人更容易被漏掉。公平性不是“对每个指标都调到相同”,而是明确哪种错误更有害,再选择条件、阈值和申诉机制。
可以用下面的 Python 代码复核上表。它只依赖标准库,输入是每组的混淆矩阵,输出各组指标:
groups = {
"A": {"tp": 45, "fn": 5, "fp": 5, "tn": 45},
"B": {"tp": 18, "fn": 2, "fp": 16, "tn": 64},
}
for name, m in groups.items():
tpr = m["tp"] / (m["tp"] + m["fn"])
fpr = m["fp"] / (m["fp"] + m["tn"])
acc = (m["tp"] + m["tn"]) / sum(m.values())
print(f"{name}: accuracy={acc:.2%}, TPR={tpr:.2%}, FPR={fpr:.2%}")
预期输出接近:
A: accuracy=90.00%, TPR=90.00%, FPR=10.00%
B: accuracy=82.00%, TPR=90.00%, FPR=20.00%
前置条件是分组标签和真实标签定义可靠,且两组样本来自同一评测任务。若群体标签缺失、被错误推断或样本量极小,精确到小数点后的公平性结论会制造虚假确定性。生产中还要报告置信区间、样本量、时间漂移和交叉分组,例如“性别 × 年龄 × 语言”,因为总体分组通过并不代表交叉群体通过。
4. 生成式 AI 的偏差表现不同
生成式模型的偏差不只表现为分类错误,还可能表现为:
- 对不同语言、方言、姓名或文化背景产生不同的拒答率;
- 对职业、犯罪、能力等属性进行无依据联想;
- 对某些群体生成更低质量、更刻板或更少样本的内容;
- 在检索增强生成中,由于知识库覆盖不均而让某些群体缺少可见证据。
评测不能只使用一个“安全通过率”。应建立分层测试集,包含反事实对照、方言和语言变化、交叉群体、边界案例以及真实失败样本,并分别测量有害内容率、事实错误率、拒答率、帮助率和人工复核结果。反事实测试例如只改变姓名或群体标记,观察结果是否发生不应有的变化;但这只能发现一类偏差,不能证明系统整体公平。
三、隐私:限制的是信息生命周期,而不是只有数据库字段
1. 隐私和保密不是同一件事
保密性通常关注未授权者能否访问数据;隐私还关注数据是否被合理收集、用于合理目的、保留多久、能否被推断以及个人是否有相应控制权。一个只有管理员可访问、但无限期收集并用于新目的的数据集,可能仍然存在隐私问题。
AI 系统中的隐私泄露路径至少包括:
- 原始数据采集和标注;
- 特征工程、日志和追踪系统;
- 训练集、检查点、缓存和向量库;
- 提示词、检索片段和模型上下文;
- 输出、评测样本和人工反馈;
- 供应商 API、插件、工具和备份;
- 模型反演、成员推断和重复生成。
成员推断试图判断某条记录是否出现在训练集;属性推断试图从模型输出推断未直接提供的敏感属性;模型反演则试图根据模型行为恢复训练数据特征。模型不会因为“只输出概率”就自动没有隐私风险。
2. 差分隐私的形式化含义
一个随机算法 满足 -差分隐私,如果任意只差一条记录的数据集 ,以及任意输出集合 ,都有:
这里:
- 是相邻数据集,只包含一条记录的差异;
- 是任意可能的输出事件;
- 越小,单条记录对输出的影响越受限制;
- 是允许极小失败概率,不能被误解为“可忽略的隐私预算”。
直觉是:攻击者即使观察算法输出,也难以确定某个人是否参与了计算。差分隐私保护的是单条记录对结果的影响,不保证数据集中的所有信息都不泄露,也不解决权限配置错误、明文日志或输出中包含第三方秘密的问题。
常见机制是在统计查询中加入噪声。例如对计数查询 ,若相邻数据集的最大变化为敏感度 ,可使用拉普拉斯噪声:
查询次数增加会产生隐私组合成本。不能对同一数据重复查询、挑选“看起来最有利”的结果,却仍宣称每次都使用原来的 。复杂训练算法还需要记录采样率、步数、裁剪阈值和隐私会计方法;“给训练数据加噪声”本身不是差分隐私证明。
3. 隐私工程的关键因果链
数据最小化降低暴露面,但不能单独解决泄露。一个合理的数据流通常是:
flowchart LR
U[用户输入] --> G[网关与身份认证]
G --> R[敏感信息识别/脱敏]
R --> P[目的与权限策略]
P --> M[模型或检索服务]
M --> O[输出过滤与策略检查]
O --> H[人工复核或返回用户]
G --> L[最小化审计日志]
P --> X[保留期限与删除任务]
关键约束是:脱敏发生在进入外部模型或长期日志之前;权限检查发生在检索和工具调用之前;输出过滤不能替代输入侧控制;日志中保留可追踪性所需的事件元数据,但不默认保存完整敏感提示词。
在 RAG 系统中,“用户能搜索到文档”不能只靠向量相似度决定。正确顺序应是先根据租户、身份、文档 ACL 和用途过滤候选文档,再进行向量检索;否则模型可能从“不应可见”的文档中找到答案。即使检索结果合法,也要防止模型把其中的个人数据复制到回答、缓存或工具参数中。
常见失败表现包括:用户删除数据后,日志、向量库、缓存或训练快照仍能召回;团队为了调试把完整提示词写入第三方日志;系统把“用户提供的资料”与“可用于训练的数据”混为一谈。诊断时应使用带有唯一标记的测试记录,追踪其在输入、检索、缓存、输出、日志和备份中的生命周期,并验证删除请求是否覆盖每个副本。是否必须删除模型参数中的相关记忆,取决于训练方式、适用法律和组织承诺,不能用一句“模型已经训练完成”代替分析。
四、版权:区分训练许可、检索授权和输出相似性
版权风险不是“用了互联网数据”或“输出是模型生成的”两句话可以概括的结论。至少要分开讨论:
- 训练阶段:复制、处理和使用数据是否具有相应许可、例外或法律依据;
- 微调阶段:企业内部文档、代码和客户资料是否允许用于更新模型;
- 检索阶段:系统是否有权向特定用户展示原文、摘要或片段;
- 生成阶段:输出是否实质性复现了受保护表达;
- 发布阶段:用户是否把输出用于商业分发、软件交付或广告;
- 署名和来源:许可证是否要求保留版权声明、通知或署名。
法律结论依司法辖区、作品类型、合同、许可证和具体事实而变化,模型供应商的条款也可能重新分配责任。工程团队不能把“公开可访问”当作“可任意训练、转载或商用”,也不能把“模型生成”当作自动不受版权约束。
生产系统至少需要维护数据来源和权利元数据:来源 URL 或数据集标识、抓取时间、许可证、允许用途、禁止用途、版本、删除通知和责任人。检索系统还应携带文档级访问控制和来源信息。对代码模型,必须保留依赖许可证、训练数据政策和输出审查规则;对长文本生成,应检测与已知文档的高相似片段,避免让系统在提示下逐字续写受保护内容。
版权控制与隐私控制有一个重要区别:隐私强调个人信息和使用目的,版权强调受保护表达及权利许可。公开姓名可能是个人数据;公开技术文章可能涉及版权;同一数据可以同时触发两种不同治理流程。
五、透明度:让不同角色得到足够而非相同的信息
透明度不是公开全部模型权重,也不是在页面底部写“内容可能不准确”。它要求相关角色能够理解系统的用途、输入、输出、依据、限制、版本和申诉方式。
对用户,透明度通常包括:是否正在与 AI 交互、输出是否经过检索、引用来自哪里、系统不能做什么、如何纠正或申诉。对运维人员,需要知道模型版本、提示词版本、工具权限、检索索引版本、评测结果、延迟、成本和失败率。对审计者,需要能够重建一次决策所用的数据版本、策略版本、模型版本和人工操作。对受影响个人,则应说明结果的性质、可 contest 的渠道和是否存在人工复核。
可解释性是透明度的一部分,但二者不同。特征重要性、反事实解释或引用可以帮助解释某次结果;而模型卡、数据卡、变更记录和访问日志解释的是系统的范围、限制和生命周期。一个系统即使有“解释字段”,如果解释是模型事后编造的合理化文字,仍不能证明它真实反映了内部因果过程。
生成式模型的引用也有边界。引用来源只能说明回答使用了哪些材料,不能证明回答一定正确;如果引用片段没有真正支持结论,便产生“引用幻觉”。因此评测应检查引用的存在、相关性、覆盖度和结论支持关系,而不是只统计是否出现 URL。
透明度还不能泄露安全控制。向攻击者公开完整系统提示词、内部工具凭证或隐藏策略会扩大攻击面。合理做法是对外说明行为规则和限制,对授权审计者提供受控的详细记录,并对密钥、个人数据和内部安全细节进行隔离。
六、人类监督:必须能改变结果,而不是把责任转给人
人类监督(human oversight)是人在 AI 系统中拥有识别、暂停、修改、拒绝和升级权力,并且有足够信息和时间实际行使这些权力。把模型输出显示给人看,并不自动构成有效监督。
可以将监督分为三种:
- 人在回路中(human-in-the-loop):每个关键动作执行前都需要人工批准。
- 人在回路上(human-on-the-loop):模型自动运行,但人监控指标并能暂停或回滚。
- 人在回路外(human-out-of-the-loop):系统自动执行,人只在事后处理异常。
高影响、不可逆或对个人权利有显著影响的动作,通常需要更强的前置监督。例如模型可以草拟客服回复,但不应无条件修改账户权限、发放资金或删除证据。
有效监督需要五个条件:
- 可见性:显示输入来源、检索证据、模型置信度或不确定性、策略命中和工具动作;
- 能力:审核者理解任务和常见失败模式;
- 权限:审核者能拒绝、编辑、暂停和升级;
- 时间:审核配额不能逼迫人机械点击批准;
- 责任:明确谁对批准、发布和事故响应负责。
一个反例是“模型先自动拒绝,人工只能点击确认”,这叫人工签名,不叫人工控制。另一个反例是审核员每天处理大量相似建议,长期没有看到错误,逐渐产生自动化偏差。要验证监督有效性,应抽样复核已批准和已拒绝的结果,测量人工与模型的分歧、纠错率、审核耗时、升级率和漏审率。
七、风险分级:按影响和可控性决定控制强度
风险等级不是按模型大小划分。一个小分类器可能决定保险理赔,一个大语言模型可能只用于内部头脑风暴。应至少评估:
其中 是影响严重度, 是发生概率, 是暴露范围, 是不确定性或难以发现程度。该式是排序直觉,不是精确概率模型;它提醒团队不要只问“模型有多准”,还要问“错了会伤害谁、影响多久、能否恢复”。
可以采用四级控制:
| 等级 | 示例 | 最低控制 |
|---|---|---|
| 低风险 | 草拟标题、内部摘要、代码格式化 | 免责声明、基本日志、人工抽检 |
| 中风险 | 客服分流、企业知识问答、推荐排序 | 权限过滤、来源引用、离线评测、输出检查、回滚 |
| 高风险 | 医疗辅助、信贷初筛、招聘筛选、法律材料生成 | 分群评测、人工决策、申诉渠道、版本审批、持续监控 |
| 极高风险 | 自动执行资金转移、生产破坏性操作、决定个人关键权益 | 默认禁止或强制多方批准、最小权限、隔离环境、紧急停止 |
同一个系统可能包含多个等级的动作。聊天本身是低风险,调用“删除租户数据”的工具则是高风险动作。因此风险应绑定到“用例—用户—数据—工具—动作”,而不只绑定到模型名称。
风险分级应在上线前完成,但不能一次性结束。新数据源、新工具、新国家或地区、新用户群、新模型版本和成本策略都可能改变风险。每次变更应重新回答:输入是否扩大、权限是否增加、输出是否更自动化、失败是否更难发现、成本限制是否会诱发降级或绕过检查。
八、把治理落到生产架构
一个带 RAG 和 Agent 的生产系统,可以抽象为:
flowchart TD
C[客户端] --> G[API 网关]
G --> I[身份/租户/速率限制]
I --> P[策略决策点]
P --> Q[队列与预算控制]
Q --> O[编排器]
O --> R[ACL 过滤后的检索]
R --> M[模型服务]
M --> V[输出验证]
V --> T{是否需要工具或人工}
T -->|工具| A[最小权限工具执行器]
A --> V
T -->|人工| H[人工复核队列]
T -->|直接返回| U[用户]
G --> L[审计事件]
P --> L
R --> L
M --> L
A --> L
H --> L
关键状态可以定义为:
RECEIVED
-> AUTHORIZED
-> POLICY_CHECKED
-> RETRIEVED
-> GENERATED
-> VALIDATED
-> HUMAN_REVIEW 或 EXECUTED
-> RETURNED
任何状态都可以进入 BLOCKED、FAILED 或 CANCELLED。例如:
- 未认证:
RECEIVED -> BLOCKED; - 文档 ACL 不匹配:检索候选被丢弃,不进入提示词;
- 输出包含敏感数据:
GENERATED -> VALIDATED -> HUMAN_REVIEW; - 工具参数越权:不执行工具,记录策略命中;
- 队列预算耗尽:拒绝或降级为不调用工具的模式,而不是绕过安全检查。
策略决策点应独立于模型输出。模型可以提出“发送邮件”或“查询薪资”,但不能自行决定是否拥有权限。工具执行器必须重新验证调用者、租户、资源、参数和幂等键;只在提示词中写“不要越权”不能替代服务端授权。
并发和成本也是治理问题。 Agent 可能循环调用工具,多个请求可能同时修改同一资源,重试可能重复扣款。系统需要最大步数、超时、令牌预算、单租户并发上限、工具级配额、幂等控制和熔断。成本失控既可能造成财务损失,也可能降低安全检查质量,例如为了省钱切换到未评测的模型或缩短必要的审计记录。降级策略必须预先定义:可以关闭非必要工具或转人工,但不能在高风险动作中静默绕过权限和审批。
九、与提示注入、数据泄漏和供应链安全的关系
提示注入是攻击者通过用户输入、网页或检索文档影响模型执行不应执行的指令。它利用的是模型对“指令”和“数据”边界理解不稳定,而不是简单的字符串过滤问题。系统应把外部内容标记为不可信数据,使用结构化上下文,限制工具参数,并在服务端执行最终授权检查。
敏感信息泄漏可能来自用户输入、检索文档、系统提示词、工具返回值、日志和模型记忆。输出过滤是最后一道防线,不能替代数据最小化、租户隔离、访问控制和日志脱敏。测试时应构造跨租户查询、诱导复述秘密、编码绕过、长上下文覆盖和错误引用场景。
越权工具是 Agent 的核心风险:模型一旦能调用高权限 API,普通的文本生成错误就会升级为真实世界动作。工具应遵循最小权限、短期凭证、资源范围限制、参数校验、审批和可撤销性。读操作和写操作应分开,破坏性操作应要求显式确认或多方批准。
模型供应链包括基础模型、权重、Tokenizer、微调数据、依赖包、插件、评测脚本和容器镜像。来源不明的模型文件可能包含恶意代码或后门,依赖升级也可能改变行为。应记录哈希、来源、许可证、版本和评测结果,进行隔离加载和变更审批。红队测试不能只测试“模型是否说了危险内容”,还要测试数据外泄、提示注入、工具越权、资源消耗和多租户隔离。
十、评测、发布与事故恢复
负责任 AI 的评测至少有四层:
- 离线质量:准确率、召回率、校准、事实一致性和任务完成率;
- 分群和反事实:不同群体、语言、交叉群体和输入变体;
- 安全与隐私:提示注入、越权、秘密提取、成员推断、恶意文件和供应链;
- 系统级行为:延迟、成本、并发、重试、队列堆积、工具副作用和人工复核负载。
评测集不能完全来自训练数据或历史成功样本。应保留时间切分、真实失败样本、人工构造的对抗样本,并锁定测试集访问权限,避免“为了通过评测”反复调参造成测试集泄漏。
发布流程应保存模型、提示词、检索索引、策略、工具定义和评测数据的版本关系。灰度发布时同时观察质量、安全事件、分群差异、成本和人工升级率。若新版本只提高总体准确率,却使某组 FPR 翻倍或工具调用次数异常增加,就不能仅因主指标上升而扩大流量。
事故响应需要有可操作的停止路径:冻结模型或索引版本,撤销工具凭证,暂停高风险动作,隔离受影响租户,保留必要证据,评估暴露范围,通知责任方,修复后用回归测试验证。恢复不是“重新部署旧模型”这么简单,因为缓存、异步队列、已执行工具动作和外部副作用可能已经脱离模型版本;必须逐项核对未完成任务、重复执行风险和数据删除范围。
十一、常见误解与判断边界
“模型准确率高,所以系统可靠。” 准确率不衡量分群错误、隐私泄露、提示注入、工具副作用和不可逆伤害。
“加一个人工审核就合规。” 如果人工看不到证据、没有拒绝权限或被迫快速确认,审核只是责任转移。
“公开数据没有隐私和版权问题。” 可访问性不等于无限制处理权;公开数据也可能含个人信息、合同限制或受保护表达。
“把敏感词屏蔽就能防提示注入。” 攻击可以通过间接指令、编码、文档内容、工具返回值和多轮上下文实现;权限和执行隔离必须在服务端完成。
“差分隐私能解决所有泄露。” 差分隐私针对参与记录的统计影响,不替代访问控制、日志保护、输出审查和供应商治理。
“风险等级越高就越不能使用 AI。” 风险分级的目的不是一律禁止,而是让自动化程度、证据要求、人工监督、权限范围和恢复能力与潜在影响相匹配。
最终,负责任 AI 的验收问题不是“模型是否聪明”,而是:系统是否明确知道自己服务什么目的;是否能证明数据和权限来自哪里;是否能测量不同人群和攻击路径上的失败;是否有人拥有真实的停止和纠正能力;发生错误时,是否能定位版本、限制影响并恢复。只有这些机制同时存在,偏差、隐私、版权、透明度、人类监督和风险分级才不是文档中的口号,而是生产系统中可以验证的工程属性。
系列导航与关联阅读
- 系列入口:AI 工程完整学习路线:从机器学习与 Transformer 到 RAG、Agent 和生产治理
- 上一篇:AI 安全工程:提示注入、数据泄漏、越权工具、模型供应链和红队
- 下一篇:AI 生产系统架构:网关、模型、RAG、Agent、队列、存储和发布
官方资料
本文依据研究论文、标准组织与主流框架官方文档重新梳理;正文、示例与工程清单由 WR BLOG 编写。

评论
0 条讨论