日期:2026-08-01
我们的 AI 网关统一接入了多家模型实例,业务方经常想对比"新模型 vs 旧模型""新 prompt vs 旧 prompt"的效果,但一直没正经的实验能力。流量没法稳定分割,实验组的请求混在正常流量里,结果数据掺在一起,结论怎么算都不可信。要么不敢上、要么一上就全量、出问题再回滚,风险全压在一次切换上。网关团队要的是:能定义实验、流量切得干净、效果比得明白、放量有门槛。
我们在网关层加了实验模块。一次实验定义实验组(新版本)和对照组(基线),按流量比例或标签(用户/渠道/部门)稳定分割。同一实验的请求带实验标记,结果指标(准确率、满意度、成本、延迟)分组建模对比。实验看板实时出指标差与显著性,达标后可一键放量或回滚。实验隔离保证对照组不被实验污染。
挑战一是流量稳定分割与一致性。分割要"稳"——同一用户多次请求必须落同一组,否则指标被自己搅乱。我们用带盐的哈希把路由键映射到实验桶,桶分配固定,保证会话内一致。
挑战二是实验组隔离。实验组的特殊 prompt/模型不能泄漏到对照组,我们在路由层按实验标记严格隔离,对照组走纯基线,杜绝交叉污染导致结论失真。
挑战三是显著性判定与安全放量。指标差小可能是噪声,我们做统计显著性检验,未达显著不轻易放量;放量走灰度比例逐步加,同时盯住成本与延迟不退化。
网关接入约四十个实验的脱敏示意值:实验组流量隔离度(对照组混入率)从约 8% 降到约 0.2%;因分割不稳导致的无效实验(结论不可信)从约 35% 降到约 3%;一次实验从定义到出可信结论的周期从约 5 天缩到约 1.5 天;显著达标的实验安全放量回滚率约 5%;因显著门槛拦截的"伪提升"约 12 起,避免了一批误放量。
第一,实验先分割再对比,分割要稳定(同用户同桶),否则指标自相残杀。第二,实验组必须隔离,对照组走纯基线,污染即失真。第三,放量要显著性门槛 + 灰度,伪提升靠统计拦下。我们把实验模块抽成通用件,新模型接入主要配实验口径。
没有干净的实验能力,模型迭代就是赌。我们最早对比新模型全靠手感切流量,实验组对照组的请求混在一起,算出来的"提升"连自己都不信。加实验模块后,关键在"稳分割"——同一用户哈希到固定桶,会话内不漂移,指标才干净。
隔离是另一道命门。实验组的新 prompt 绝不能漏到对照组,否则对照组被污染,对比全废,我们路由层按实验标记硬隔离,对照组只走基线。放量最忌"看着涨了就全推",很多是小样本噪声,我们做显著性检验加灰度比例放量,门槛拦下了一批伪提升。实验模块抽成通用件后,新模型接入只配实验口径,对比能力成了网关标配,模型迭代从赌命变可控。
案例片段(已脱敏): ```
实验定义与流量分割(伪代码节选)
exp = define_experiment(name, treatment='v2', control='v1', split=0.1, by='user_tag') bucket = hash(user_id + salt) % 100 # 稳定分割 group = 'treatment' if bucket < split*100 else 'control' route(req, model=exp[group], isolate=True) # 组间硬隔离 report = compare(metrics(group), baseline='control', significant=p_value < 0.05) if report.significant and report.lift > 0: rollout(exp, step=0.2) ``` 稳定哈希分割;组间硬隔离;显著门槛放量。
实验模块跑顺后,模型迭代节奏明显加快。以前一个新模型要掂量半个月敢不敢上,怕一上出问题;现在定义实验、切一小撮流量、看显著性,两三天就有结论,不行就回滚,成本极低。团队从怕上线变成爱做实验。我们还把实验沉淀成知识库。哪些改动带来显著提升、哪些看似提升实为噪声,都记录在案。下次类似改动直接参考历史实验,不再重复踩坑。实验模块的价值不止于一次对比,更在于把什么有效积累成组织记忆,让迭代越来越聪明。
给网关同学的提醒:实验定义要简单明了。我们见过有人把实验配得极其复杂,多因素交叉,结果指标拆不开、结论出不来。一次只验证一个变量,新模型或新 prompt,结论才干净、可复用。显著性门槛也别设太高以致永远不放量,也别太低以致放一堆噪声。我们按业务容忍度设 p 值和最小样本量,达标即灰度放量。实验文化的关键是快迭代、小步验证,让每次上线都带着证据,而不是带着赌注。
实验的流量分割我们支持多种维度。按用户、按渠道、按部门都能切,业务方按需选。一次促销我们按渠道切新模型,发现某渠道提升显著、另一渠道持平,结论比混在一起清楚得多。对照组的纯度我们盯得很紧。实验组的新 prompt 绝不许泄漏,路由层硬隔离,监控定期抽查对照组是否混入实验流量。一次抽查发现配置漏了隔离,我们立刻叫停实验重来。污染即作废,不留情面。实验结果我们沉淀成看板。准确率、满意度、成本、延迟四个维度分组建模,趋势实时出。业务方不用等我们出报告,自己看板上看。数据透明,决策就快。最后一句话:网关做实验能力,不是为了炫技,是为了让模型迭代可证伪。没有干净的实验,所有提升都是传说。把流量切干净、把组间隔干净、把结论验干净,迭代才敢快。