先这样答
结论是:模型和 Prompt 升级要同时设计灰度、影子流量、回滚和会话粘性。灰度可以按流量百分比逐步放量,也可以按租户逐步放量。放量过程中要持续监控核心指标。指标稳定后,再继续扩大范围。
影子流量让新版本并行接收线上请求,但不把新版本结果返回给用户。这样可以在不影响用户的情况下,对比新旧版本的输出质量。它适合用来做无风险验证,先观察新版本的实际表现。
回滚要设置指标越线后的自动切回机制。发现核心指标越线时,系统要快速切回旧版本。旧版本需要常驻,才能保证回滚足够快。会话粘性也要一起处理,让同一会话锁定同一版本。这样可以避免用户在两个版本之间来回切换,减少体验割裂。
面试官会怎么追问
-
「灰度应该按流量百分比做,还是按租户做?」 两种方式都可以。可以按流量百分比逐步放量,也可以按租户逐步放量。无论采用哪种方式,都要监控核心指标。
-
「影子流量既然不返回结果,怎么验证新版本?」 让新版本并行接收线上请求,但不把结果返回给用户。然后对比新旧版本的输出质量。这样可以在不影响用户的情况下完成无风险验证。
-
「指标越线后,怎样保证回滚足够快?」 让系统在指标越线时自动切回旧版本。旧版本要保持常驻,避免回滚时还要重新准备版本。会话还要保持粘性,让同一会话继续使用固定版本。
回答的坑
- 只做灰度而不设置指标越线后的自动回滚,出现问题时就无法快速切回旧版本。
- 只按请求分配版本而不保持会话粘性,会让同一会话在两版之间来回切换,造成体验割裂。
同系列的题
—— 本题完 ——