只看成功页面,等于把样本限定在“已经通过或已经完成”的那一批结果上,失败、超时、被拦截和未完成的记录被排除在外。这样得到的通过率、平均耗时和风险分布都会偏向乐观,据此调整阈值或放量,很可能在规模化后遇到大量例外。
假设你在某个安全检测平台上做小范围验证:手动挑了几十个页面或接口提交检测,返回结果几乎都是通过或低风险。于是你判断当前规则可以覆盖主要场景,把同样的配置推到全量任务。上线后却发现失败、超时和待人工确认的比例明显上升。
这个矛盾不一定说明平台不稳定,也不一定说明规则本身错了。更常见的原因是:最初那批样本本身就是从成功结果里挑出来的,它们和全量流量的构成不同。只看成功页面时,你看到的是一组已经经过筛选的样本,而不是随机样本。
面对“小样本成功、规模化失败”,至少有两种解释需要分开:
这两种解释指向的动作不同。前者要改抽样方式,后者要改运行配置。如果混在一起,容易把并发问题误判成规则问题,或者反过来。
要判断属于哪一种,可以看以下几类可核查的证据:
这些证据只能缩小解释范围,不能单靠某一个指标就断定原因。例如失败率上升,既可能是样本构成变化,也可能是上游限流,还可能是统计口径变化。需要把输入特征、重跑结果和运行日志放在一起看。
假设你正在为一个安全检测平台配置新的检测规则,准备从试运行转向全量。可以先把“成功页面”这个样本池换成按来源分层的抽样池:从不同入口、不同参数类型、不同时间段的记录中各取一部分,其中必须包含已知的失败、超时和待确认记录。
具体动作是:在提交全量任务前,先构造一个包含成功与失败记录的混合验证集,用与全量相同的并发和超时配置跑一遍。记录每个分组的通过率、失败阶段和耗时分布。如果混合验证集中失败记录仍然失败,而成功记录保持通过,说明规则本身可以区分,问题主要在样本选择;如果成功记录也开始失败,则需要先调整运行条件,再谈规则放量。
这个动作的结果会直接影响下一步:混合验证集通过,才适合扩大样本;混合验证集不通过,应先定位是输入类型、并发还是依赖服务的问题,而不是继续增加成功样本的数量。
上述方法适用于“小样本成功、规模化出现例外”的场景,前提是你能够获取失败记录和运行日志。如果平台只提供成功结果,或者失败记录被自动清理,就需要先解决数据可见性问题,否则任何抽样修正都缺少依据。
另外,成功页面的定义本身可能随业务变化。今天算成功的状态,明天可能因为规则更新被归为待确认。因此,比较不同批次的通过率时,要先确认统计口径是否一致。第三方估算、平台报告和站内统计的口径不同,不能直接相减或互相替代。
最后,样本筛选偏差不会因为样本量变大而自动消失。如果抽样方式不变,只是把同一类成功页面从一百个增加到一万个,偏差仍然存在,只是被更大的数字掩盖了。真正要改的是“谁进入样本”,而不是“样本有多少”。