4. 上线期 · WorkKit
灰度发布与回滚预案
PM
架构
设计连续的灰度发布流程和可执行的回滚预案
触发场景
构建期完成,评测集通过准入线。上线不是开关动作,而是从内部测试到小范围用户到全量发布的连续灰度过程。
输入清单
- ◆ 回归评测通过报告
- ◆ 合规终审清单
- ◆ 系统架构文档(含降级策略)
- ◆ 监控仪表盘已就绪
▶ 提示词 基础版 / 进阶版
你是一位 AI 产品发布工程师。请帮我设计灰度发布方案。
产品信息:
- 功能:{{FEATURE}}
- 目标用户量:{{USER_COUNT}}
- 可接受的故障时间:{{MTTR}}
请设计:
1. **灰度阶段**:
- Stage 1:内部测试(建议 5-10% 流量,持续 3-5 个工作日)
- Stage 2:小范围用户(建议 10-30% 流量,持续 5-10 个工作日)
- Stage 3:扩大范围(建议 50% 流量,持续 5 个工作日)
- Stage 4:全量发布
2. **回滚触发条件**:
- 准确率低于阈值
- 延迟超过阈值
- 用户投诉超过阈值
- 安全事件
3. **回滚流程**:
- 自动回滚 vs 手动回滚
- 回滚到哪个版本
- 回滚后的用户通知
4. **观察指标**:每个灰度阶段需要监控的关键指标
产出记录
将 AI 返回的结果填入下方模板,形成可追踪的项目文档。
灰度发布与回滚预案记录
功能名称: 目标用户量:
灰度阶段计划
| 阶段 | 流量比例 | 持续时间 | 通过条件 | 状态 |
|---|---|---|---|---|
| 内部测试 | ___% | ___ 天 | ___ | 待执行 |
| 小范围用户 | ___% | ___ 天 | ___ | 待执行 |
| 扩大范围 | ___% | ___ 天 | ___ | 待执行 |
| 全量发布 | 100% | — | — | 待执行 |
回滚触发条件
| 指标 | 回滚阈值 | 检测方式 |
|---|---|---|
| 准确率 | < ___% | 自动 |
| 延迟 P95 | > ___ms | 自动 |
| 用户投诉 | > ___ 次/小时 | 半自动 |
| 安全事件 | 任意 | 手动 |
回滚流程
- 回滚方式:自动 / 手动
- 回滚目标版本:___
- 回滚执行人:___
- 回滚后用户通知:___
制定人 / 日期:___ / ___
灰度发布流程
将 AI 返回的 Mermaid 流程图粘贴在下方。
___
查看填写示例
示例场景
【示例】灰度发布与回滚预案——智能客服意图识别
功能名称:AI 意图识别路由 目标用户量:日均 5000 来电用户
灰度阶段计划
| 阶段 | 流量比例 | 持续时间 | 通过条件 | 状态 |
|---|---|---|---|---|
| 内部测试 | 5% | 5 天 | 准确率 ≥ 85%,零 P0 故障 | 待执行 |
| 小范围用户 | 5% | 7 天 | 准确率 ≥ 85%,用户投诉 ≤ 5 条 | 待执行 |
| 扩大范围 | 20% | 5 天 | 准确率 ≥ 83%,转人工率 ≤ 25% | 待执行 |
| 全量发布 | 100% | — | 连续 3 天无异常 | 待执行 |
回滚触发条件
| 指标 | 回滚阈值 | 检测方式 |
|---|---|---|
| 准确率 | < 80% | 自动(每日采样评测) |
| 延迟 P95 | > 2s | 自动(APM) |
| 用户投诉 | > 10 次/小时 | 半自动(客服主管上报) |
| 安全事件 | 任意 | 手动 |
回滚流程
- 回滚方式:自动(准确率/延迟)+ 手动(安全事件)
- 回滚目标版本:v1.0.0(全人工模式)
- 回滚执行人:值班运维
- 回滚后用户通知:通话提示"系统升级中,转人工服务"
制定人 / 日期:张明 / 2026-05-06
灰度发布流程图
flowchart TD
A([开始:智能客服意图识别上线]) --> B[内部测试 5% 流量]
B --> C{准确率 ≥ 85%?\n零 P0 故障?}
C -- 是 --> D[小范围用户 5% 流量]
C -- 否 --> R1[⏪ 自动回滚至 v1.0.0]
R1 --> END1([结束:回滚完成])
D --> E{准确率 ≥ 85%?\n投诉 ≤ 5 条?}
E -- 是 --> F[扩大范围 20% 流量]
E -- 否 --> R2[⏪ 自动回滚至 v1.0.0]
R2 --> END2([结束:回滚完成])
F --> G{准确率 ≥ 83%?\n转人工率 ≤ 25%?}
G -- 是 --> H[✅ 全量发布 100%]
G -- 否 --> R3[⏪ 手动回滚至 v1.0.0]
R3 --> END3([结束:回滚完成])
H --> END4([结束:发布成功])
自检 Checklist
- 是否定义了至少三个灰度阶段?
- 回滚触发条件是否可量化、可自动检测?
- 回滚流程是否可在 5 分钟内执行?
- 是否有用户通知预案?
衍生动作
- 方案完成:进入合规终审清单
- 回滚依赖人工:考虑添加自动化回滚脚本
作者 手记
灰度发布的关键是"明确每个阶段的通过条件"。很多团队的灰度就是"放一部分流量看看",但"看看"不等于"有标准地看"。建议把每个阶段的通过条件写得像评测集一样具体。