直接切换版本的风险
新版提示词/模型上线最危险的做法是**直接切** ✗:效果无法对比、出问题无从归因、回滚靠临时改配置 ✗。
**影子模式**(shadow)就是让新版本在**不影响用户**的前提下先跑一段。
影子模式的三种形态
1. **双跑对比**(最常用):真实请求同时发给新旧两版,**只返回旧版结果**,新版结果只记录;
2. **离线回放**:把历史请求重放给新版,与当时的旧版输出逐条对比(不需要线上流量);
3. **小流量并行**:把 1% 流量真实走新版(用户看得见),其余走旧版 —— 这已属灰度,不是严格影子。
**双跑对比**最适合高风险改动(提示词大改、模型换代)。
双跑对比要比什么
⚠️ **成本提醒**:双跑会让**成本与并发翻倍** ✗ —— 必须限时(例如 3 天)、限比例(例如 10% 流量)、
并提前把额度与告警准备好 ✔。
上线判据要事先写死
```
✓ 格式合规率 ≥ 旧版
✓ 逐条对比中「更差」占比 ≤ 5%
✓ 失败类型没有新增的严重类别(编造、越权)
✓ P95 延迟 ≤ 旧版 × 1.2
✓ 单位成本 ≤ 预算线
```
任一不达标 → **不上线**(而不是"再看看" ✗)。
影子模式的两个陷阱
正确做法是**按比例随机采样真实请求** ✔。
落地顺序
1. 先做**离线回放**(零成本、零风险,能用历史请求先筛掉明显更差的版本);
2. 通过后再做**双跑对比**(限时、限比例、有告警);
3. 达标后小流量灰度 → 全量;
4. 全程保留**一键回滚**开关 ✔(没有回滚就不要全量 ✗)。