从模型、Prompt、RAG、工具、护栏、路由和评测集的版本快照,到上线闸门、Canary、监控、回滚与复盘,理解 AI 系统怎样安全进入生产
| 环节 | 它回答什么 | 缺失时会怎样 | 关键产物 |
|---|---|---|---|
| 变更提案 | 这次变更要解决什么问题 | 系统被连续小改动推着走,没人知道目标 | 变更说明、影响面、成功标准、回滚条件 |
| 资产快照 | 上线前后到底哪些东西变了 | 质量退化后无法定位是模型、Prompt、索引还是工具导致 | 模型版本、Prompt 版本、RAG 索引、工具 schema、护栏策略、评测集 |
| 风险分级 | 这次变更会影响哪些用户和业务风险 | 低风险改动被拖慢,高风险改动被轻率发布 | 风险等级、审批人、灰度范围、人工接管策略 |
| 发布闸门 | 上线前最低要通过哪些验证 | 修复局部问题时引入质量、安全或成本回归 | 离线 Eval、安全回归、成本回归、人工验收 |
| 灰度实验 | 真实流量里是否真的更好 | 离线分数好看,但线上体验、延迟或风险变差 | Canary、A/B、分人群放量、灰度指标 |
| 监控止血 | 出现异常时怎样快速发现并降级 | 事故扩大后才被用户投诉发现 | 告警阈值、自动熔断、降级策略、值班通知 |
| 回滚复盘 | 如何恢复、解释和沉淀坏例 | 同类事故反复出现,团队只记得“那次发坏了” | 回滚记录、trace 证据、坏例样本、复盘结论 |
AI 发布治理不是把模型 API 包进 CI/CD,而是把不确定输出、外部知识、工具副作用、安全策略和业务风险一起纳入变更纪律。
| 变更对象 | 常见动作 | 主要风险 | 必须快照什么 |
|---|---|---|---|
| 模型 | 换供应商、换版本、换规格、量化、微调模型上线 | 能力分布改变、拒答策略变、成本延迟变化、长尾退化 | 模型名、版本、参数、温度、上下文窗口、路由条件 |
| Prompt / System 指令 | 改角色、格式、工具说明、拒答边界、输出模板 | 工具参数漂移、格式回归、安全边界松动、过度拒答 | 模板版本、变量、系统指令、示例、解析器版本 |
| RAG 知识库 | 更新文档、重切 chunk、换 embedding、换 rerank、重建索引 | 错召回、漏召回、旧知识覆盖新知识、引用不忠实 | 语料版本、索引版本、chunk 策略、检索参数、权限过滤 |
| 工具 / Agent 协议 | 新增工具、改 schema、放开权限、调整执行顺序 | 越权操作、参数误填、循环调用、外部系统副作用 | 工具 schema、权限策略、超时重试、审计字段、最大步数 |
| 护栏 / 策略 | 改审核规则、拒答策略、注入检测、人工升级阈值 | 误拒误放、策略冲突、风险样本漏过、用户体验下降 | 策略版本、风险分类、阈值、人工复核口径、红队集 |
| 模型路由 / 网关 | 改模型分层、fallback、限流、配额、缓存 | 质量不一致、成本波动、故障放大、审计缺口 | 路由规则、fallback 链、缓存策略、配额、灰度分流规则 |
| 评测集 / Judge | 增删样本、改 rubric、换 Judge 模型、调评分权重 | 上线闸门本身漂移,分数不可比 | 数据集版本、rubric、Judge 版本、人工校准样本 |
一次“优化回答质量”可能同时改 Prompt、知识库、检索参数、模型版本和安全策略。没有资产快照,线上效果变化就会变成一团雾。
| 风险级别 | 典型场景 | 发布策略 | 人工介入 |
|---|---|---|---|
| 低风险 | 内部助手文案优化、只读总结、非关键格式修复 | 离线回归通过后小流量灰度 | 抽样复核即可 |
| 中风险 | 企业知识问答、客服建议、销售辅助、代码建议 | 固定回归集 + 业务样本验收 + 分人群灰度 | 用户确认或人工接管入口 |
| 高风险 | 金融、医疗、法律、安全、权限工具、自动执行动作 | 安全红队 + 审批 + 极小流量 + 明确回滚点 | 关键动作前审批,异常自动升级 |
| 不可自治 | 不可逆操作、重大权益影响、合规禁止自动决策 | AI 只能建议或生成草稿 | 必须由人类确认和负责 |
风险分级看的不是“这个模型有多强”,而是错误输出会不会造成真实损失、越权动作、合规风险或难以撤销的副作用。
| 闸门类型 | 看什么指标 | 失败时动作 | 相邻专题 |
|---|---|---|---|
| 离线 Eval | 任务质量、格式、引用、工具调用、拒答边界 | 回到误差分析或缩小变更 | 模型评测 / Eval |
| Trace 复核 | 上下文、检索、工具、模型输出和后处理是否可解释 | 补观测字段或阻止发布 | LLMOps / 可观测性 |
| 安全回归 | 注入、越权、隐私、误拒误放、危险工具 | 补护栏、降级权限或走人工审批 | AI 安全 / 护栏 |
| 发布工程 | 版本快照、自动化发布、回滚脚本、审批记录 | 补齐发布工单和恢复路径 | 发布工程 |
| 灰度方式 | 适合什么 | 关键指标 | 注意点 |
|---|---|---|---|
| 内部灰度 | 新模型、新 Prompt、新工具上线前早期验证 | 人工反馈、坏例数、格式失败、明显风险 | 内部用户分布不等于真实用户分布 |
| 小流量 Canary | 影响面可控但需要真实流量验证的改动 | 投诉、接管、拒答率、延迟、成本、工具失败 | 要提前定义自动停止条件 |
| 分人群放量 | 不同客户、区域、业务线风险差异明显 | 人群切片质量、业务完成率、风险事件 | 不能只看总体平均值 |
| A/B 实验 | 比较两个候选 Prompt、模型、检索策略或 UX | 任务完成率、满意度、人工接管、单位成本 | AI 输出有噪声,实验要留足样本和时间 |
| 影子流量 | 想验证新链路但不影响用户结果 | 候选输出质量、成本、延迟、风险命中 | 要控制数据权限和日志脱敏 |
成熟灰度一定有清晰的观察窗口、放量节奏、告警阈值、停止条件和回滚负责人。没有这些,灰度只是把事故拆成慢一点发生。
| 故障表现 | 可能根因 | 优先止血动作 | 后续沉淀 |
|---|---|---|---|
| 答案质量突然下降 | 模型切换、Prompt 回归、RAG 索引错误、Judge 漂移 | 切回旧版本,暂停放量,保留 trace | 坏例进回归集,补版本差异分析 |
| 提示注入或越权工具 | 上下文可信度弱、工具权限过宽、护栏策略松动 | 关闭危险工具或强制人工确认 | 补红队样本、权限边界和审计规则 |
| 成本爆炸 | 上下文膨胀、重试循环、大模型路由过宽、缓存失效 | 限流、降级小模型、缩短上下文、关闭重试 | 补成本告警和预算闸门 |
| 延迟和超时上升 | 模型供应商异常、GPU 队列堆积、长请求混跑 | 切 fallback、分流长请求、关闭低优先级任务 | 补容量水位和供应商连续性预案 |
| 误拒或误放增加 | 安全策略、阈值或模型行为改变 | 恢复旧策略,扩大人工复核 | 补安全切片和人工标注口径 |
很多 AI 发布事故不是没有回滚按钮,而是没有“可回滚资产”。如果 RAG 索引、Prompt、工具 schema、护栏策略和路由规则没有版本,回滚会变成手工猜谜。
对工程团队来说,审计证据链让一次失败可以被复现、被归因、被修复。对业务和合规来说,它让系统影响、责任和恢复动作可解释。
| 证据 ID | 在哪生成 | 必须绑定什么 | 后续用途 |
|---|---|---|---|
| change_id | 变更提案 | 变更目标、资产范围、owner、风险等级、回滚条件 | 把一次发布里的模型、Prompt、RAG、工具、护栏和路由改动归到同一张工单 |
| eval_run_id | 离线评测 / 回放 | 样本集版本、Judge 版本、人工校准、切片分数、失败样本 | 证明候选版本在发布前通过或没有通过哪些证据 |
| release_gate_id | 发布闸门 | 质量、安全、成本、延迟、权限、审批和风险豁免 | 回答“为什么允许灰度、为什么阻断、谁批准了例外” |
| canary_cohort_id | 灰度放量 | 人群、租户、流量比例、时间窗、停止阈值、线上指标 | 把线上反馈、投诉、Trace 和指标归因到具体灰度批次 |
| evidence_pack_id | 审计 / 事故预检 | 变更、评测、发布、灰度、请求 Trace、工具动作和止血记录 | 事故、客户沟通、合规审计和复盘时一键拉取证据 |
| incident_id / fixed_version | 事故响应 / 修复发布 | 影响面、根因、止血动作、修复版本、回归样本、恢复验证 | 把一次事故闭环到下一次评测、发布和防复发检查 |
AI 变更进入生产后,最怕的是评测、灰度、请求 Trace 和事故复盘各自成岛。只要这些 ID 能互相引用,一次线上异常就能从用户请求回到发布闸门,再回到评测样本和修复版本。
如果说 LLMOps 页解释“怎样看见系统行为”,评测到发布闸门页解释“证据怎样变成上线或回滚判断”,AI 事故响应页解释“已经出事时怎样止血、保全证据、恢复和演练”,反馈闭环页解释“坏例怎样回流改进”,那么本页解释“改动怎样带着证据、闸门和回滚路径进入生产”。它是 AI 系统从可观测走向可发布、可恢复、可审计的桥。
工程侧可以继续对照 发布工程、可观测性 / SRE 和 事故指挥与应急响应。