AI 不只是"给出答案",更要"解释为什么给出这个答案"。审计日志是合规的底线,可解释性是信任的基石,两者共同构成 AI 决策可追溯的核心能力。
前置知识
核心概念
为什么需要审计日志
推理链记录设计
记录什么
不记录什么
存储格式:JSON 结构化日志
{ "request_id": "req-a7b3c9d2e1f0", "timestamp": "2024-12-01T10:30:00.123Z", "user_context": { "user_id": "u_12345", "role": "loan_officer", "session_id": "sess_abc" }, "model": { "name": "qwen2.5-72b", "version": "v3.2", "deployment": "prod-cluster-a" }, "input": { "prompt_hash": "e3b0c44298fc1c149afbf4c8996fb924", "summary": "贷款申请:金额50万,期限30年,申请人年龄34岁", "token_count": 1523 }, "parameters": { "temperature": 0.3, "top_p": 0.9, "max_tokens": 2048 }, "output": { "summary": "审批建议:通过,建议利率3.85%,需补充收入证明", "token_count": 324, "finish_reason": "stop" }, "performance": { "latency_ms": 1250, "ttft_ms": 320, "cost_usd": 0.0085 }, "safety": { "injection_detected": false, "toxicity_score": 0.02, "pii_detected": false }}
模型版本管理与追溯
Model Registry + 版本锁定
关键原则:
蓝绿部署中的版本对应
时间线:T1 ── 绿环境 v3.1(100% 流量)── 所有请求记录 model_version=v3.1T2 ── 部署蓝环境 v3.2(0% 流量)── 预热验证T3 ── 切换:绿 10% / 蓝 90% ── 请求分别记录对应版本T4 ── 绿环境下线 ── 所有请求记录 model_version=v3.2如果 T3 发现问题 → 立即切回绿环境 v3.1 → 审计日志中可追溯哪些请求受影响
A/B 测试记录
可解释性技术
注意力可视化
展示哪些输入 token 对输出影响最大:
输入:"申请人张三,月收入15000元,征信记录良好,申请房贷50万。"注意力权重热力图:[月收入15000元] ████████████████████ 0.32 ← 最强信号[征信记录良好] ██████████████ 0.22[申请房贷50万] ████████████ 0.18[申请人张三] ████ 0.06 ← 个人身份信息(弱信号,合理)
这说明模型主要基于收入、征信和贷款金额做判断,而非个人身份信息——这在公平性审计中很重要。
特征归因(Feature Attribution)
量化每个输入特征对输出的贡献度:
# 使用 LIME 或 SHAP 分析特征贡献features = { "月收入": +0.35, # 正向贡献,收入越高越可能获批 "征信评分": +0.28, # 正向贡献 "负债率": -0.22, # 负向贡献,负债越高越可能拒绝 "工作年限": +0.12, # 正向贡献 "年龄": +0.03, # 微弱影响(理想状态) "性别": +0.00, # 零影响(排除歧视)}
对比分析(Counterfactual Analysis)
"如果换个输入会怎样?"
原始输入: 月收入15000元,征信良好 → 审批通过反事实1: 月收入8000元,征信良好 → 审批拒绝(收入不够)反事实2: 月收入15000元,征信不良 → 审批拒绝(征信问题)反事实3: 月收入15000元,征信良好,女性 → 审批通过(性别不影响,排除歧视)
这种方法在法律和合规场景特别有用——可以证明决策是基于合理的业务因素,而非歧视性因素。
部署视角
审计数据流架构
存储选型
保留策略
超过保留期后,按照数据安全标准执行销毁流程。
面试视角
满分回答:"为什么拒了这个贷款申请?——设计完整审计链"
面试官问题:"用户投诉 AI 信贷系统无理由拒绝了他的申请,你怎么设计审计链来应对?"
满分回答框架:
第一步:快速定位
"首先通过 request_id 或用户信息定位到该笔申请的完整推理记录。审计日志中记录了:
第二步:追溯决策依据
"从审计日志中提取决策的关键特征归因:
可以明确告诉用户:拒绝是因为收入、负债率和征信评分三个因素综合评估未达标,而非基于性别、年龄等歧视性因素。"
第三步:版本追溯
"确认该笔申请使用的模型版本,并对比:
如果发现模型版本有问题,立即回滚并重新评估受影响的所有申请。"
第四步:人工复核
"启动人工复核流程:
最佳实践