模型或 Prompt 变更如何做灰度评测、发布与快速回滚?
先用自己的话答,再看参考说法
60 秒是练习上限,不是必须凑满。原理题讲清因果,设计题讲清约束,项目题只讲真实证据。
别照着背。参考说法只用于对照;直接回答问题,简单题说清楚就收尾。项目题只用自己的经历和数字。
参考内容当前已显示;开始口述后会暂时隐藏。
面试时怎么答
灰度发布按离线回归、Shadow、Canary、分阶段放量的顺序回答,并明确三者验证的问题不同:兼容与性能、业务差异、真实风险暴露。门禁要覆盖质量、错误、延迟、成本和安全,异常时必须切回同一份完整制品快照;追问时再解释小流量统计功效。
可以这样答:
模型或 Prompt 不能直接全量替换,应走离线回归、Shadow、Canary、分阶段放量和自动回滚。区分:Shadow 只验证性能与兼容性,A/B 看用户或业务效果,Canary 用小比例真实流量限制故障半径。要注意,流量太小看不出质量差异,流量太大又失去保护。部署时要同时设任务成功率、错误率、P95 延迟、单次成本和安全事件护栏,异常时冻结放量并切回完整制品快照,复盘回滚 RTO 与受影响请求数。
核心回答
把模型、Prompt、检索索引、工具 Schema、安全策略和生成参数视为一个不可变候选版本。先通过确定性测试、离线黄金集、安全红队、延迟与成本门槛;再用脱敏生产流量做无副作用的 shadow;通过后按稳定用户或租户做小比例 canary,逐步扩大。发布同时观察任务质量、安全、p95/p99 延迟、错误、成本和人工接管,任一关键护栏越界就停止放量或把流量别名切回上一版本。
回滚路径必须在发布前准备并演练。只回滚模型却保留不兼容的 Prompt、Schema 或索引,可能制造新的故障,因此回滚单位应是完整发布清单。
展开说明
LLM 发布比普通二进制更难,因为输出具有随机性、质量标签可能延迟,供应商模型也可能更新。设计时要注意:
- 会话粘性:同一多轮会话尽量固定版本,避免中途行为突变,也防止实验样本相互污染。
- 指标分层:全局均值可能掩盖长文本、特定语言或高风险用户退化,应按关键场景切片。
- Shadow 边界:影子结果不能真的发邮件、写数据库或触发付费工具;副作用必须模拟或隔离。
- 统计判断:小流量噪声大,连续反复查看指标会增加误判;预先定义主指标、最小样本、停止条件和最长观察期。
- 供应商漂移:记录实际返回的模型标识,并用定时哨兵集检测未主动发布的变化。
工程实践
CI 产出候选清单与评测报告,部署层用版本别名或 feature flag 控制流量。仪表盘按候选/基线和场景切片展示差值,质量难以实时判断时采用规则代理指标加人工抽样。回滚后保留失败请求的脱敏回放包,将新 Bad Case 纳入回归集,并区分“模型退化”“路由错误”“数据版本不一致”等根因。
常见追问
- Shadow、A/B Test 和 Canary 各自解决什么问题? Shadow 验证兼容与性能但不返回结果;A/B 比较业务效果;Canary 让新版本承接少量真实请求以控制故障半径。
- 没有即时标准答案时,线上质量门槛怎样设置? 组合代理指标、规则校验、抽样人工评审和延迟反馈,并设置相对旧版本的非劣界,而非只依赖单一 Judge 分数。
- 为什么模型回滚成功后,系统质量仍可能没有恢复? Prompt、路由、索引、缓存或会话状态可能仍是新版本;回滚必须覆盖完整依赖快照并处理污染缓存。
一句话复习
先离线门禁、再无副作用影子、后粘性灰度,并把完整版本清单作为原子回滚单位。
参考资料
评论与补充
评论会直接显示在这道题下面。可以写自己的答法、继续追问或指出错误,不需要 GitHub 账号,也不会跳转到 Issue;内容会公开,请勿填写个人隐私、公司机密或受保密约束的材料。
正在连接站内评论服务…
正在加载评论…
还没有评论,你可以先写下自己的理解或追问。