Skip to content

第二十四章 受控进化闭环:门禁、灰度、回滚与反投机 ​

证据地位:本章综合公开研究与作者工程推导。权限矩阵、试验数量、区间和费用是教学设计,不是生产测量,也不代表适用于所有组织的统一阈值。

前四章按可变对象讨论改进,本章把它们接到同一条发布链:登记实验,隔离数据,形成候选,独立确认,有限发布,持续回标。控制是否可信,要看失败候选能否被识别、错误版本能否停止,以及试验结论是否仍有独立证据。

1. 职责分层不能替代信任边界 ​

“治理平面”表示候选无权改写的控制与评价职责,不表示这些代码永远不变。演化功能中既有候选生成,也有评测和发布;它们可以出现在同一架构层,却不应因此共享修改评价资产或批准自身的凭证。

主体及功能可读数据可写或发起不允许
提案器,演化功能的候选域开发材料、获准的聚合反馈候选及修改说明读取封存资产,修改分母或晋级
候选执行沙箱,受限运行域本次任务输入、允许的工作区和工具结果隔离产物、受限动作读取隐藏答案、测试目录或评价凭证
评价服务,独立证据域指定评价资产、封存候选及原始运行记录重算结果,提交签名报告随候选修改评价规则
经验库与训练作业,各自受限的数据域经许可且标签匹配的经验或训练快照新条目、参数候选将封存反馈直接转入经验或训练
发布控制器,治理域报告、批准、兼容清单及最新撤销状态签发版本、冻结与回滚接受候选自报分数作为最终证据

提案向治理域提交,原始证据进入独立存储,批准后的版本由发布控制器签发。小团队可以共用进程或人员,但要用权限和审计落实职责边界;高风险任务还需可验证的隔离。测试目录只读并不能防泄漏,候选代码也属于需要限制的读取主体。

2. 登记实验与选择规则 ​

在看结果前固定假设、发布对象、主要指标、合格任务定义、实验单位、配对方式、重复次数、关键切片、失败和重试规则、停止条件及风险范围。任务顺序随机交错,模型与环境尽可能固定;无法固定的供应商变化要被检测和记录,不能把未知漂移继续当作同一实验。

第十九章给出差值、非劣与风险界,第二十三章给出 2×2。这里沿用 120 个独立任务、每组每题 2 次运行的教学合同。总共 240 次运行不是 240 个独立任务;分析按任务保留配对和重复,必要时按同源任务簇估计区间。

yaml
experiment:
  family: dynamic-discovery-2026w38
  allocated_tasks_per_arm: 120
  repeats_per_task_per_arm: 2
  primary_metric: verified_completion_per_allocated_run
  min_gain_percentage_points: 2
  critical_slice_noninferiority_margin_pp: 3
  confidence: preregistered_paired_intervals
  retry: same_external_failure_rule_and_budget_for_both_arms
  unactivated: retain_in_primary_analysis
  unresolved_after_retry: count_as_not_completed
  selection: at_most_8_candidates_on_validation
  final_confirmation: one_frozen_bundle_on_sealed_set
  stop: fixed_sample_or_integrity_safety_budget_stop

这是本书的协议示意,不是现成工具配置。主要优效、成本改善下的质量容忍、关键切片非劣,应事先确定采用哪种合同。样本不足可以得出“证据不足”,不能为推动上线临时放宽界限。多候选、多切片和持续查看分别可能增加选择偏差,应预先设置独立确认、同时区间、多重比较校正或顺序规则。

3. 留出验证与封存终测各有用途 ​

数据域用途与反馈后续限制
开发集定位失败、生成和修复候选,可给详细诊断不能再当未见泛化证据
留出验证集未用于本轮拟合,但用于选型、比较和停止登记累计使用,承认它已经影响选择
封存终测集确认预先锁定的最终版本,只返回约定粒度不能用于继续筛选、调试或提炼经验
线上与灰度数据观察真实分布、运营费用和迟发事故按租户、许可和保留期处理;转作经验须重新过门

“held-out”只说明相对某个训练或开发过程留出,不自动等于 sealed。HarnessEvolve 用留出验证选择快照,HarnessDev 区分反馈评测与不向创建者回传的后续评价,二者分别说明选型与独立观察的用途。不能把论文中的数据名称直接当成企业终测权限已经满足的证明。HarnessEvolve v1、HarnessDev v1

访问预算要按实验族累计,不能每换一个候选编号就归零。一次查询登记数据集版本、候选摘要、调用者、反馈接收者、输出粒度、累计次数与派生用途。纯通过或失败也是信息;对同一批数据反复“改一点再问一次”,仍会影响选择。

例如,本教学实验族允许验证集最多 8 个候选、累计 16 次聚合反馈,封存集只确认一个冻结版本一次。这是操作限额,不是一个可证明的隐私或信息论保证。超出后不能仅新建实验名继续使用原测试:要按独立方案重新划分、换入新封存数据,或将后续结果明确列为探索性。固定样本内预注册的重复由一次确认协议统一管理,不以重复为名额外选择赢家。

终测失败后可以停止;若要详细诊断并修复,应经授权将相关材料降级到开发用途,后续改进改用新的独立终测。样本标识、失败说明、摘要、技能、检索索引、合成数据和训练快照都继承暴露标签,避免 L1→L2→L3→L4 的间接泄漏。新数据还须按任务来源去重,不能只是换一层措辞。

4. 完整性先于分数 ​

输入摘要、候选树、环境镜像、模型标识、评价器版本和分配清单须进入证据包。正式运行中未返回、未激活、超时、取消或被标为环境无效的样本都保留。外部故障由控制面独立归类,在两组相同限额内重试,原始失败与全部费用入账;不能让候选通过制造超时抬高均分。

下表展示候选组的一份虚构终态清单。激活与终态是交叉维度,重试又是过程事件,三者不能加在一起当作更多样本:

最终状态全部已分配运行其中未激活
可信完成1924
任务检查失败304
超时未完成82
外部故障重试后仍未完成62
取消未完成40
合计24012

主成功率为 192/240=80%。228 次激活中的完成数是 188,188/228 只能另作条件分析,不能替换 80%。假定其中 18 次运行各发生一次获准重试,底层尝试总数就是 258,主要分母仍为 240;6 次最终环境失败包含在这 18 次内,原始失败不得消失。

费用也独立核算。假设候选搜索 12、正常任务执行 50、验证 20、重试增量 6、环境 8、人工接管 4,共 100 个教学费用单位,则单位可信完成费用是 100/192≈0.521。这里各项互斥,重试增量没有在执行项里再算一次。正式报告还要列真实 token、金额、人工时间及固定成本摊销,不能只报成功路径的模型费。

异常比例突变、封存资产访问、产物无法读取、重复任务编号或版本缺失,都会使结论待审。完整性失败时应暂停判定、保留原始记录,不是删除异常样本后继续授予增益。

EvilGenie 与 SpecBench 分别提供奖励投机和长时编码规格投机的研究实例,可用于设计反例。它们提醒我们,可见测试通过不等于目标达成;评价还要检查是否改写了测试、规避了任务或访问了不该读取的资产。EvilGenie、SpecBench

5. 一次“不晋级”的决定 ​

沿用上述教学设定,基线完成 180/240=75%,候选为 80%,点估计增加 5 个百分点。假设按任务配对得到主要差值区间 [+2.2, +7.8],超过最小有意义增益 +2;但预注册关键切片的校正后区间是 [−4, +1],没有超过非劣下界 −3。决定是不晋级,不能用总体改善抵消这个切片的证据缺口。这些区间是教学设定,不是从两项总计数算出;真实计算必须保留任务级配对记录。

即使严重违规为零,也只表示本批次零观测;还要报告暴露和风险界。统计通过也不是唯一门,权限扩大、来源许可缺失或无法回滚仍可拒绝发布。

HarnessDev 的反馈轨迹与后续未见任务结果并不总同向,适合提醒选择器不能回看终测再挑“最佳版本”。Harness-of-Harness 则把项目内 QA 与外部基准评分分开,后者不回传开发循环。可以借鉴这种反馈隔离,但角色分开不等于模型错误统计独立,也不等于获得了生产安全认证。HarnessDev v1、Harness-of-Harness v1

6. 影子运行、灰度与紧急撤销 ​

影子运行接收真实或近真实输入但不提交外部变更;灰度在批准的任务与流量范围内产生真实结果。首轮宜限制高损失、不可逆动作。离线评测测固定条件,灰度还要看未知工具错误、异常出网、时延、返工、用户纠正和迟发事故。样本尚少的关键切片不能借总体均值自动放行。

发布单元包括模型、提示、工具、检索规则、执行镜像、经验库快照和评价合同的兼容组合。健康任务保持版本粘性,防止中途静默切换导致证据无法对应;但授权不是冻结快照。每次受控动作及最终提交都要检查当前有效授权与最新撤销状态,紧急撤销优先于版本粘性。

教学演练:任务 A 用配置包 b43 生成了候选,尚未提交;安全响应随后撤销其中的技能 s3。发布控制器先停止新使用,执行端拒绝 A 持旧批准提交,回收相关能力并暂停任务。清理受影响缓存和上下文后,从健康组合新建尝试,重新验证候选及授权;已提交的外部动作按实际状态对账,不重复发送。

普通性能回退可以让健康在途任务按既定策略收尾;安全撤销不能这么处理。若旧组合也包含被撤销资产,不能为了“回到旧版”重新启用它。回退记录须证明产物可取回、所需版本可用、状态兼容、撤销仍生效及外部动作已核对,而不是只写一个旧版本号。

7. 发布记录、批准与演练 ​

来源记录保存父版本、变更对象、数据暴露、完整费用、评价协议、选择理由、批准、灰度结果、事故及退役。产品负责人定义效用,领域专家维护任务合同,安全方定义硬门,平台维护运行环境,评价方管理确认资产,发布负责人承担晋级决定。可以一人多角,不能让候选持有同一套读写和批准能力。

json
{
  "release": "harness-43",
  "parent": "harness-42",
  "candidate": "mut-981",
  "experiment_family": "dynamic-discovery-2026w38",
  "eval_report": "eval:2026w38:771",
  "approvals": ["product", "security", "runtime-owner"],
  "canary": {"slice": "low-risk-code", "result": "pass"},
  "rollback_bundle": "harness-42+model-12+memory-87",
  "recheck_revocations_before_action": true
}

这只是记录结构示意,不是上一节被拒候选的实际发布证据。批准界面应先展示差异、分母、硬门、关键切片、最大回归和回退路径,不让候选长篇自述主导判断。人类也会疲劳和锚定,应观察批准等待、分歧、批准后回滚与豁免到期,而不是把有人点击当作无误保证。

定期演练越界修改、终测泄漏、重复外部动作、在途撤销及旧镜像缺失。检查发现、冻结、对账、恢复和证据更新是否连贯。候选失败但门禁正确阻断,是正常探索;错误候选进入生产,才需要追查评价或治理缺陷。恢复后也要为调查设置数据权限和保留期限。

8. 自动化权限与变更对象分别管理 ​

自动收集证据、生成候选、运行隔离评测、影子验证、有限灰度和特定表面自动晋级,是不同授权能力,可按风险分别开关,不是 L1—L4 的升级顺序。自动化范围扩大应依赖检查能力、事故表现和恢复演练,不能凭一次低风险提示实验推及权限根或生产写入。

观察与目标可直接选择的对象必需比较
单次局部失败,可隔离且反馈快L1 有界搜索收敛、全部费用、停止与副作用
可复用做法,适用范围明确L2 条目或技能启用/禁用、精度与召回、撤销传播
接口或执行规则缺陷明确L3 接口、校验或工作流模型与任务条件下的差值及兼容
行为学习或部署压缩值得投入L4 参数与训练数据许可、2×2、能力保留及总费用

例如三个仓库都把 timeout_ms 当秒,若接口缺少单位约束,可直接修改为带单位的结构并加入校验。没有义务先发布提醒技能。若曾试过技能而需要字段的任务经常没有触发,应报告合格机会中的召回不足;只有在无关任务中过度触发,才是精度问题。测试多个模型仍有数量级错误,可以继续研究参数方案,但结论只是已测范围的模型相关残差。

9. 治理也可以更新,确认权不能同轮转移 ​

门禁、攻击集和审批流程会老化,应有独立版本与验收。被评 Harness 不能同轮修改评分器,被评评分器也不能自己挑确认数据。若候选总被安全门拒绝,放宽准则与改进候选是两个不同实验,要分别用历史事故、新攻击、误拒成本和复核一致性评价,再冻结组合。

保留现状、删除无效提示、将成熟技能转为确定性接口,都可能是合理改进。费用和风险不能仅从一层转移到人工或另一层后就称为收益。四类对象最终共享的是一套可复查决定:改了什么,证据能支持到哪里,如何限制暴露,何时停止或撤销。下一篇把这些决定放进具体交付与企业架构。

公开阅读版本