本期精读论文

如果你只关心一个问题的答案——「我让 AI 自动优化 agent 的脚手架,到底有没有用、为什么、怎么改」——那么 2026 年 10 月底 arXiv 上的这三篇论文,恰好构成了这个问题最完整的一次回答:第一篇负责「审计」,指出当前的增益大多是幻象;第二篇负责「理论」,解释增益与代价在数学上到底由什么构成;第三篇负责「修正」,给出一条被验证有效的正向改造路径。

需要先声明读法:本文名为精读,实际是「三篇对照精读」——每篇内部按动机、方法、实验的顺序展开,但重心放在三篇互相印证与互相补位的地方。文中所有数字均取自论文正文与附录,关键处标注了来源表格;对论文未明说、属于笔者推断的内容,会以「笔者认为」或等价措辞显式标记。三个代码库均已开源(BiPA: github.com/valleysprings/BiPA.git;HRP: github.com/2020-qqtcg/HRP;RuHarness 论文未附链接),感兴趣的读者可以按数字复现。

一、论文背景

1.1 领域地基:harness 是什么,为什么值得优化

LLM agent 从来不是「一个模型」在干活。模型之外,还有一层包裹它的脚手架——业内称之为 harness:它包含系统提示词、工具定义、控制循环、记忆管理、终止条件。OpenCode、SWE-agent、DeepAgents 这些名字,本质上都是 harness 的不同实现。模型的每一次决策都被 harness 编码成上下文,模型的每一次输出又被 harness 解码成可执行的动作。

harness 对性能的影响是巨大的。论文 2 给了一个直观的数字:把同一个冻结的 Qwen3.5-9B 模型放进五个不同的 coding-agent harness 里跑 Terminal-Bench Lite,准确率从 47.9% 一路排到 64.1%——不换模型、不换权重,仅换「外壳」就拉开了 16 个百分点。这自然催生了一个研究方向:既然 harness 影响这么大,能不能让 AI 自己去优化 harness?于是有了 skill 优化器(改写塞进上下文的自然语言技能文档)、harness 进化框架(自动修订提示、工具与控制逻辑)这一整条「agent 自进化」赛道。

但这条赛道上一直悬着两个没有被认真回答的问题:优化器报告的增益是真的吗? 以及 如果模型在 harness A 下训练、再换到 harness B 下部署,学到的东西还剩多少? 第一个问题是测量问题,第二个问题是理论问题。三篇论文分别击中了这两个问题,并给出了第三个问题的答案——怎么把优化做对。

1.2 初学者概念阶梯

为了照顾没接触过这个领域的读者,先把本文反复出现的概念排成四级台阶,每一级只依赖上一级:

  • 第一级:turn(轮)与 token。 agent 与模型的一次请求-响应循环叫一个 turn;每个 turn 模型读入的文本量按 token 计费。关键在于:绝大多数 harness 在每个 turn 都会把之前完整对话历史重新发给模型一遍——这是理解论文 1 成本分析的钥匙。
  • 第二级:skill(技能)与 skill 优化器。 skill 是一段写在 agent 上下文里的自然语言操作规程(例如「宣布完成前必须跑一次完整验证」)。skill 优化器是一个自动改写这段文字的外循环:编辑器模型读训练轨迹、提出修改,门控(gate)在小 dev 集上比较修改前后成功率,涨了就保留。GEPA、SkillOpt、SkillAdam 是三个代表方法。
  • 第三级:policy(策略)与 harness 的数学关系。 把 harness 形式化为三元组 I = (c, d, e):编码器 c 把状态写成上下文,解码器 d 把模型输出翻译成动作,执行器 e 跑这个动作。固定权重的模型经过不同 I 会表现出不同的语义策略——这是论文 2 全部理论的出发点。
  • 第四级:rubric(评分准则)与共进化。 rubric 是一组可判定的行为标准(「给出最终答案前,agent 逐条陈述每条约束的证据」)。让 rubric 随着 harness 的演化同步更新、始终对准当前最紧迫的行为弱点,就是论文 3 的 RuHarness。

四个台阶搭好后,三篇论文的位置可以这样一句话记住:论文 1 站在第二级上问「skill 优化器的报告可信吗」;论文 2 站在第三级上问「policy 与 harness 在数学上是什么关系」;论文 3 站在第二、三、四级之间问「评估 harness 的准则(第四级)要不要跟 harness(第三级)一起变」。第一级的 turn/token 计费结构则是贯穿三篇的经济学基础——论文 1 的成本审计、论文 2 的 mismatch 累积(沿轨迹每个决策一个 KL 损失)、论文 3 的多坐标干预,背后都是「交互深度决定成本」这同一条物理约束。

1.3 为什么把这三篇放在一起读

单看任何一篇,都可能得出片面结论。只读论文 1,会觉得 harness 优化是皇帝的新衣;只读论文 3,会觉得 harness 优化前途光明。放在一起才能看到完整的图景:论文 1 证明错误的评估协议(小 dev 集择优 + 只看成功率)必然制造增益幻象;论文 2 证明错误的比较协议(固定权重冻结比较 harness)在数学上就混淆了 harness 天花板与模型适配度两个量;论文 3 则示范了正确的打开方式——把诊断信号本身也做成演化的对象,并用独立验证集门控每一次更新。三篇的实验对象高度重叠(都在 Terminal-Bench 系、都用 Qwen 系模型),参考文献互相引用(Lin et al. 2026、Wang et al. 2026 这两篇 harness 进化审计被论文 1 和论文 3 同时引用),构成一个自洽的「问题-理论-方案」闭环。这正是把它们放在一个下午读完的价值。

二、论文定位和关联工作

2.1 谱系定位

三篇论文都坐落在「agent 自进化」大树上,但各自占据不同的分支位置:

  • 论文 1(BiPA) 属于「评估审计」分支。它的近亲是 Liu et al. 2026(发现 skill 进化稀疏且脆弱)、Wang et al. 2026(发现 TB2.1 上 harness 进化增益不抵同预算多次运行)、Lin et al. 2026(发现「会写 harness 更新」不等于「能从更新中受益」)。BiPA 的差异化在于:前人只量成功率,BiPA 同时量「skill 到底改变了 agent 的什么行为、这些行为花了多少 token」——它是一台测量仪器,不是一个新优化器。
  • 论文 2(识别定理) 属于「理论」分支。它的思想源头是正则化 MDP(Geist et al. 2019 的 soft Bellman 理论、O’Donoghue 2022 的 Bregman 散度-价值恒等式)与 DPO 系(Rafailov 系「你的语言模型 secretly 是奖励模型/Q 函数」的命名即致敬对象)。它回答的是一个前人没问过的问题:policy 从 harness 里究竟学到了什么、什么东西在 harness 更换后还能存活。
  • 论文 3(RuHarness) 属于「方法」分支。它的直接对手是 Self-Harness、Meta-Harness、AHE 三个 harness 进化基线,思想上的近亲是 EvoLM/EvoRubrics/DynamicRubric 这批「rubric 与策略共进化」工作。差异化定位很清晰:前人要么 rubric 静态、要么 rubric 与 policy 共进化,唯独「rubric 与 harness 共进化」这个组合是空的。

2.2 差异化对照表

维度论文 1(BiPA)论文 2(识别定理)论文 3(RuHarness)
论文性质测量仪器 + 审计结论理论 + 受控实验验证方法框架 + 基准对比
核心问题优化器增益是真的吗policy 与 harness 什么关系怎样持续优化 harness
分析对象GEPA / SkillOpt / SkillAdam六个合成 harness + 五个 coding harnessEvoAgentBench 五域任务
使用的模型DeepSeek-V4.1-Flash、GPT-6-LunaQwen3.5-2B(主模型)、GPT-5.6-luna(teacher)Qwen3.5-35B-A3B、GLM-4.7-Flash
关键产出四条设计原则ceiling−mismatch 评估坐标rubric 前沿 + 六坐标 harness
对增益的态度增益多为幻象增益需分解后判断增益可以被正确方法获得
发表机构上海AI实验室等五家港科大(广州)+ 港科大哈工大 + 清华

2.3 三篇共同面对的「前序共识」

三篇论文都建立在同一个 2025-2026 年间形成的研究共识之上:harness 进化的增益在 held-out 任务上可疑。Wang et al. 2026c 的受控评估(被论文 3 的引言直接引用)显示 harness 进化的改进在未见任务上会减弱;Lin et al. 2026 证明写更新与受益更新是两回事。论文 1 把这个共识从「增益减弱」推进到「增益可能根本不存在」;论文 2 给出增益为何难以判断的数学原因;论文 3 则把「为何现有方法不泛化」归因于诊断信号的静态化,并动手修复。可以说,没有这批前序审计工作,就没有这三篇论文的问题意识。

2.4 三篇的互引与互补结构

值得注意的是三篇论文之间的「隔空对话」关系。论文 1 的 related work 讨论了 harness 进化评估(Wang et al. 2026、Lin et al. 2026),并在结论中明确把 BiPA 的适用范围从 skill 优化器扩展到 harness 与模型优化器;论文 2 的 related work 覆盖了 harness 蒸馏(Harness-Zero)与 harness-权重联合适应(SIA、Co-Harness、WHALE),并为这批方法提供了「何时该换 harness、何时该训权重」的判断坐标;论文 3 的 related work 则明确指出「rubric 与 policy/response 共进化已有工作,rubric 与 harness 共进化是空白」。三篇拼起来,恰好覆盖了「harness 优化」这个对象的评估层(论文 1)、理论层(论文 2)、方法层(论文 3),而且时间上同周发布(均为 2026 年 10 月 27 日 v1)——这不是巧合,而是这个子领域在 2025-2026 年积累的审计压力同期释放的结果。

三、问题定义

3.1 论文 1 的形式化:两个审计问题

论文 1 把 skill 优化过程形式化为:种子技能 S0 出发,编辑器基于训练轨迹提出候选,门控在 dev 集 V(至多 30 个任务)上按接受规则决定保留与否,最终返回按 dev 成功率选出的技能 S 并报告 dev 增益 G。审计问题有两个:

问题一(增益真伪):学得技能的测试成功率提升是否超过种子自身多次运行的波动范围?其报告的 dev 增益 G 是否超过「纯选择效应」所能产生的增益 G0?这里 G0 的来源是统计学上经典的 winner’s curse(赢家诅咒):在噪声很大的小 dev 集上,从 4~8 个候选里挑最好的、再跟种子表现最差的一次运行比,即使所有候选与种子一字不差,期望上也会「涨」出好几分。

问题二(成本归因):学得技能多读的每一个输入 token,究竟来自哪种行为?论文定义了配对的成本比率 ρ = exp(L(S)),其中 L(S) 是逐任务 log token 比的均值(对数尺度使长短任务权重一致),再把 Δlog X 拆解成四种行为之和(见第四节)。ρ > 1 意味着这个技能读得更多。

挑战在于:这些量不能靠改优化器来测(那就不是审计了),必须完全从 episode 日志事后重构;而且成功率是 episode 末尾一次性打分的,无法像 token 那样沿 turn 分解——论文也坦承这是 BiPA 最重要的局限。

3.2 论文 2 的形式化:识别与分解

论文 2 在 KL 正则控制的框架下问三个递进的问题。问题一(学到什么):在 harness I 诱导的控制问题里,最优策略 Π* 是动作分数的 softmax——分数 F* = Q* + τ·log πref 把长期价值与参考先验合成一个标量场;那么一个训练到最优的策略,其行为能「反推出」harness 的哪些信息?问题二(为何迁移失败):把训练接口 I1 的 checkpoint 冻结搬到部署接口 I2,其分数误差可以精确拆成三份——target shift(最优分数本身变了)+ training residual(训练没练到位的残余)+ readout drift(同一权重经不同接口读出的分数漂移)。问题三(代价几何与恢复条件):迁移损失了多少回报?什么时候再训练能把一次「看似有害」的 harness 升级变成真收益?

关键挑战是可辨识性:行为只能确定分数的「相对值」(同状态内每个动作加同一常数不改变 softmax),绝对价值必须在别处补回来——这正是 ceiling-mismatch 分解的动机。论文用受控环境(把每个 harness 编译成有限状态图、精确求解 soft Bellman 最优)绕开了真实环境中无法求解最优的策略困境,代价是主实验限制在三个 MiniWoB++ 任务族上。

3.3 论文 3 的形式化:追踪漂移的失效分布

论文 3 把持续 harness 优化形式化为状态 St = (Ht, Rt)——harness 与 rubric 池的联合体——上的交替演化:Ht 在任务集上跑出轨迹 Tt,rubric 进化算子 ER 从 Tt 中发现并重估准则得到 Rt+1,harness 进化算子 EH 依据优先级准则前沿更新出 Ht+1。核心问题:行为弱点随 harness 演化而漂移时,如何让诊断信号跟上?

三个具体挑战:一,任务级反馈(成败 0/1)信息量太低,不足以定位行为缺陷;二,静态准则会过拟合已被修复的旧弱点,甚至把优化引向不相关的方向;三,准则的统计量来自有限轨迹,小样本下的高utility可能是噪声。RuHarness 用「结果盲判 + 四态生命周期 + 后验分位数保守排序」逐一对付这三点。

3.4 三个问题的公共骨架:被优化的对象与评估它的信号

把三篇的形式化并排放在一张桌上看,会发现它们共享同一个骨架——一个双层优化系统:外层(优化器/进化算子)修改内层(skill/policy/harness),内层在任务上产生表现,外层依据某个评估信号决定下一步。三篇分别攻击这个骨架的三个连接处:

  • 论文 1 攻击「信号 → 决策」的连接:外层依据的信号(小 dev 集成功率差)本身含系统性正偏(winner’s curse),因此外层的保留决策在统计上不可靠。修复方案在信号侧(提高接受门槛)与计费侧(把 token 成本纳入账本)。
  • 论文 2 攻击「对象 → 部署」的连接:内层在训练接口下学到的东西,经部署接口读出时会漂移;且内层的价值贡献天然分解为两个不可混同的项(ceiling 与 mismatch),单点评估无法区分。修复方案是换评估坐标系(同时报 C 与 M)与换训练流程(对有害修订做适配而非回滚)。
  • 论文 3 攻击「外层自身的演化」:外层的评估信号(rubric)本身也是被优化对象的一部分,不更新它,整个双层系统会在弱点分布漂移后失去方向。修复方案是把评估信号做成带生命周期的动态池。

这个骨架不限于 agent:自动超参搜索、自动课程学习、组织里的 OKR 复盘,都是同构的双层系统,三篇论文的攻击点(信号偏倚、对象-部署失配、评估者僵化)也都可以平移过去对照检查——第七节的通用灵感多数由此展开。

四、解法

4.1 BiPA:选择重放 + 二部图归因

机制一:选择重放(selection replay)。 思路极其干净:既然要判断「增益是不是选择噪声给的」,那就让所有候选与种子完全相同,只保留优化器的接受规则,看这套规则自己能「涨」多少。实现上,先给每个 dev 任务拟合一个 Beta(a,b) 难度先验(用种子的 dev/test episode 极大似然拟合——数据显示大多数任务要么几乎总被解出、要么几乎总解不出,a、b 均小于 1),再从后验 Beta(a+s, b+n−s) 中抽样任务难度、按此难度掷硬币模拟每个候选的 dev 分,反复 10 万次,统计「纯选择」报告的增益 G0 达到实测增益 G 的概率 P(G0 ≥ G)。直觉:如果「什么都不改」都有五成概率涨出你报告的分数,那这个分数就不是任何改进的证据。

机制二:turn-上下文二部图。 把每个 episode 记成一张二部图:左侧是 turn,右侧是上下文成分(技能文本、提示其余部分、各工具输出、对话消息),边携带该 turn 实际读到的 token 数。token 按内容长度比例分摊到各成分,保证加总精确。这张图回答「多读的 token 是什么内容」。

机制三:turn 弹性与四项行为分解。 无历史压缩的 harness 中,第 r 个 turn 读 F + (r−1)h 个 token(F 是每 turn 固定前缀、h 是每 turn 新增内容),整个 episode 共读 RF + R(R−1)h/2。对这个式子取对数微分,得到论文最漂亮的 Proposition 1:turn 弹性 eR = 1 + sH·R/(R−1) 恒大于 1,长 episode 中趋近 2——即 turn 数多 1%,输入 token 至少多 1%、长任务中接近多 2%。原因就是每加一个 turn 都要重读全部历史。再利用 R = N/m(turn 数 = 工具调用数 ÷ 每 turn 调用数),把 Δlog X 精确拆成四项:

Δlog X ≈ eR·Δlog N   (more actions:更多动作)
       − eR·Δlog m    (turn-splitting:同样动作摊到更多 turn)
       + sH·Δlog h    (content per turn:每 turn 新增内容更多)
       + sF·Δlog F    (skill text:技能文本更长)

四项各有直觉:第一项是 agent 真的多干了活;第二项是同样的活被拆成更多轮(例如「一次一个调用」的串行化规则)——这是最贵的一项,因为它乘上了弹性系数;第三、四项是被动重读更多文本。前两项合称 turn terms,即「额外 turn 的代价」。这个分解是恒等式层面的会计拆分,不含因果假设——它告诉你额外 token 与哪种行为同行,而因果链由第八个 finding 的规则-行为匹配补上。

对 Proposition 1 的两点补充直觉。 其一,「eR < 2 当且仅当 h < 2F」给出了弹性的上界条件:只有当每轮新增内容超过前缀两倍时,弹性才会在该轮接近 2——意味着前缀越重的系统(长系统提示、长技能文本),前期加轮越便宜;历史越长的对话,后期加轮越昂贵,同一技能对短任务与长任务的代价完全不同。其二,论文用「重计费」实验做了因果验证:把已记录的 episode 改按「只对最后一轮新增历史计费」重新记账(等价于完美 KV cache 定价或历史压缩),turn 斜率从 1.47 降到 1.04——恰如理论预言;但即使在这种理想计价下,学得技能仍读 1.051.36 倍 token,说明成本不只是「历史重发」的计价问题,行为本身也变贵了。缓存定价下(缓存 0.1、输出 4 的相对价格)同样如此:所有技能仍比种子贵 1.051.27 倍。换一种计价方式救不了行为性的浪费。

4.2 识别定理:从 log odds 到 ceiling−mismatch

第一块积木:行为识别命题(Proposition 3.1)。 在 KL 正则控制下,最优策略形如 Π*(a|s) ∝ πref(a|s)·exp(Q*(s,a)/τ)。定义动作分数 F* = Q* + τ·log πref 后,最优策略就是 softmax(F*/τ)。于是有一个既平凡又深刻的观察:softmax 对同状态内所有动作的分数加同一常数不变,所以最优策略的 log odds 唯一确定相对分数场——τ·log[Π(a|s)/Π(b|s)] = F*(s,a) − F*(s,b)。一个训练到最优的 policy 因此「秘密携带」了它的训练 harness 的全部相对偏好,尽管它的权重里不含 harness 的任何代码。反之,不同的(参考先验, 奖励, 转移律)三元组可以共享同一个分数场——机制不可辨识,行为可辨识。这解释了论文标题:your policy is secretly a harness。

第二块积木:三段误差分解。 冻结权重从接口 I1 搬到 I2,部署误差 = target shift + training residual + readout drift。最惊人的是 readout drift 可以被单独隔离:设计「等价最优决策」的纯呈现变化(反转观测 JSON 字段顺序、重排动作编码),此时最优分数场逐点不变(数值验证到 1e-16 量级),一切误差都是 readout drift。

第三块积木:ceiling−mismatch 恒等式。 相对分数只定决策、不定价值,于是用正则性能差恒等式(Proposition 5.1)把价值补回来:部署回报 J = C(I) − M(θ, I),其中天花板 C 是 harness 最优正则回报(与权重无关),mismatch M 是策略沿自身轨迹累积的 KL 损失(τ/(1−γ)·E[KLn(Π||Π*)],occupancy 加权——策略常走的路上犯错最贵)。训练只动 M,换 harness 动 C 和 M 两个——这一行字就是整篇论文对 harness 评估实践的批评内核:固定模型的冻结比较把「harness 提供多少」与「当前 checkpoint 会用多少」混在一个数里,因此会错杀天花板更高、只是暂时不适配的新 harness。

第四块积木:适配恢复阈值与可测估计。 Corollary 5.2 给出:一次让冻结模型变差的 harness 修订,再训练后反超原组合,当且仅当适配后的 mismatch 低于阈值 T = ΔC + M(θ0, I1)。实践上 mismatch 可以只靠采样动作估计(Eq. 11):按折扣占用度随机停采状态、每个状态采 N 个动作平滑成分布、对最优分布求 KL;编码器无法求解最优时,让更强的 teacher 模型顶替最优位置,ceiling 用 teacher 的正则回报估计、mismatch 用 Proposition 6.1 的分数误差上界(ε²/(4τ(1−γ)))估计。

4.3 RuHarness:让评分准则跟上进化的脚步

RuHarness 的交替循环每一轮做两件事,方向恰好与 BiPA 的批评互补——BiPA 说「门控只看成功率会收下噪声」,RuHarness 的门控就换成独立验证集 + 显著性阈值 ε;BiPA 说「编辑器只加规则不删」,RuHarness 的 rubric 池自带淘汰机制。

机制一:结果盲判(outcome-blind judging)。 每条候选准则是「一句可观察行为的陈述」,judge 只看轨迹中的行为证据、不许看任务成败,判 Satisfied / Violated / N/A 三值。盲判的目的在公式里:准则的五个诊断统计量——判别力 D(失败轨迹违规率减成功轨迹违规率)、覆盖率 C(失败轨迹中被该准则覆盖的比例)、预测力 P(违规条件下失败率的提升)、新颖性 N(只被该准则抓住的失败占比)、冗余度 Red(与其他准则违规集合的最大 Jaccard)——全部从「结果 × 判定」的 2×3 列联表计算。如果 judge 看得见结果,这些统计量就被结果标签污染了。时变效用 U(c) = αD + βC + γP + δN − λRed 每轮重算:被修复的弱点效用自动衰减、新冒头的弱点自动升权。

机制二:四态生命周期。 每条准则处于 probation / active / dormant / retired 四态之一:新生准则先过出生检查(>80% 判 N/A 的永不适用者、失败轨迹上零违规的永不触发者、全体违规率超 90% 的无差别触发者一律拒收),进入试用期后预测力转正才转正为 active;active 准则连续三轮触发率低于 5% 转 dormant(失效隐退),dormant 触发率回升到 15% 可复活(弱点复发即重新上岗),持续无信息者退休。只有 active 准则参与优先级排序。排序不用点估计而用 Dirichlet 后验(Jeffreys 先验加 0.5 伪计数、抽 2000 样本)的下 0.2 分位数——保守分位数压制小样本虚高,这与 BiPA「重赢需复现」的原则在统计精神上完全同源。

机制三:六坐标 harness 映射与协同候选。 可编辑的 harness 被组织成六个功能坐标——Equip(技能与工具装备)、Instruct(指令)、Act(行动策略)、Observe(观测处理)、Remember(记忆管理)、Terminate(终止控制)。Top-K 准则前沿(K=10)按多对多映射到坐标(一条准则可对应多个坐标),每轮生成至多三个协同候选(单个候选至多改三个组件,候选内部保留组件间交互),先经轻量一致性校验,再在独立验证集上比拼,只有超过阈值 ε=0.05 才提交。注意这个门控结构与论文 1 批判的「30 任务 dev 集上挑最好」结构完全不同:验证集与演化任务分离、有显著性阈值、无更新则保留当前 harness——这正是把 BiPA 的 Principle 1 落地为工程。

六坐标本身值得多说一句,因为它是对「harness 到底是什么」的一次温和而实用的本体论。此前的工作要么把 harness 当成一坨可执行代码整体搜索(Meta-Harness),要么按组件清单逐项修(AHE);六坐标的取舍介于两者之间——坐标是功能轴而非代码模块:同一个「终止控制」功能可能落在 prompt 里的一句指令、也可能落在代码里的一个循环条件。按功能轴组织搜索空间,让「一条弱点准则 → 一组坐标改动」的映射比「一条弱点 → 一段代码 diff」更稳定、更可解释。案例轨迹里可以看到这种映射的灵活性:同是验证类弱点,R1 落在 Observe(观测时查错),R4/R5 落在 Terminate(完成门检查),R8 落在 Remember(读取前检查文件存在性)——弱点的性质决定落点,而不是被代码结构绑架。

另外两个工程细节容易被摘要掩盖。其一是多对多映射加协同候选的原因:单个行为弱点(如「答案前未验证约束」)往往横跨指令(Instruct 要求声明证据)与终止(Terminate 强制检查矩阵)两个坐标,若拆成两次独立更新会互相稀释甚至互相覆盖;论文要求候选内保留组件间交互、跨候选保持差异(证据、机制、目标准则、组件集至少一项不同),且明说「宁可少生成,重复候选浪费一次全量评估」。其二是校验器只做拒绝不做重写:轻量校验只判断候选与诊断证据的一致性,不估计性能也不改写——把「提议」与「评判」的职责切开,避免自我强化的回路。这两个细节都是对论文 1 所批判现象(编辑器自由堆叠 + 门控信息不足)的针对性设计。

五、实验洞察

5.1 论文 1 核心数据:增益消失、成本留下

Table 1 是论文 1 的主表(avg@3 成功率,ρ/ρturns/ρcalls 为相对种子的 token/turn/调用比):

设置(模型×基准)最优学得技能 vs 种子token 比 ρ 范围落后技能
DeepSeek × TB2GEPA 74.1 vs 种子 75.9(−1.9)1.34~1.43SkillOpt −11.1
DeepSeek × τ3-benchSkillOpt 79.1 vs 76.4(+2.7)1.09~1.22SkillAdam −1.3
DeepSeek × AutoBenchSkillAdam 44.7 vs 45.0(−0.3)1.08~1.25SkillOpt −3.3
GPT-6-Luna × τ3-benchGEPA 65.3 vs 69.3(−4.0)1.01~1.05SkillOpt −6.2
GPT-6-Luna × AutoBenchSkillAdam 43.6 vs 37.2(+6.4)1.07~1.32—

十六个学得技能汇总:测试成功率平均只比种子高 0.1 点(DeepSeek 的九个平均还低 1.4 点),但输入 token 平均多读 16%(九个 DeepSeek 技能 1.08~1.43 倍,八个里每一个 test run 读的 token 都比种子任何一次 run 多)。四个 finding 值得单独划出:

  • Finding 2(增益归零的机制):三个优化器报告的 dev 增益 340 点,选择重放显示「候选与种子完全相同」时达到同等增益的概率为 0.210.99——增益基本可由选择噪声全权解释。路径分析更扎实:τ3-bench 上沿保留链逐轮测,SkillOpt 的 dev 增益爬了 6.7 点,测试差始终在初始值 ±2.7 点内。任务级拆解同样对称:dev 上新解 12.5% / 新丢 2.7%(门控使然),test 上新解 8.9% / 新丢 6.9%——与种子自身两次 run 之间的波动(1.9~7.8%)同级。
  • Finding 3(锐化而非扩展):学得技能把「本来就会解的任务」解得更稳定(成功上升的任务中 68% 工具序列更一致),但覆盖面几乎不扩张——六个模型×基准组合上学得技能合计划新覆盖 57 个种子未解任务,同时丢掉 62 个种子已解任务(符号检验)。种子相对无技能 agent 则是净扩张(+36/−13,p=0.001)。
  • Finding 5(迁移单向坍塌):九个跨模型/跨基准迁移中八个低于种子(最多 −9.3 点),但 token 成本跟着技能走(TB2 技能到 AutoBench 仍读 1.24~1.49 倍)。「收益不迁移、成本随身带」是全文最刺眼的工程结论。
  • Finding 6~8(成本机制链):59 个可溯源 DeepSeek 编辑中 58 个加长技能(Luna 侧 33/38),337 条新增规则中 52% 要求复查、18% 要求串行化、零条要求少读;被保留与被拒绝的编辑平均都给父代加 1014% token(Mann-Whitney p=0.46,门控完全不筛成本)。agent 忠实执行这些规则:AutoBench 上种子的 56% 写操作与其他写共享 turn,学得技能下至多 0.3%——「一次一个调用」被不折不扣执行,串行写是 turn-splitting 的主力。turn 弹性预言被数据命中:任务内回归的 turn 斜率 1.351.58(+10% turn 对应 +14~16% token),而输出 token 与调用数斜率 ≤1.03。四项分解汇总:turn terms 贡献 73%、skill text 贡献 21%——成本主要是行为性的(多轮),不是文本性的(字多);Figure 10b 佐证:编辑引起的 token 变化方差 93% 由 turn 数变化解释,技能长度只解释 10%。
  • 内容归因的补充细节:按上下文成分拆分多读的 token,九个 DeepSeek 技能中七个的大头是工具输出(因为额外 turn 反复重读早前的工具结果),两个 TB2 例外分别是技能文本(GEPA,95k/133k)与对话消息(SkillOpt,193k/446k)。τ3-bench 上 SkillOpt 多读的 137k token 中 79k 是工具输出、46k 是技能文本本身——技能文本在每轮前缀里被重发,其成本被 turn 数放大,这解释了为什么「技能变长」在长 episode 中的代价远超字数本身。

主结果之外有一个重要的诚实注脚:从 13 词的极简种子出发时,SkillOpt/GEPA 在 AutoBench 上把成功率从 25.0 拉到 43.3/44.4(+18~19 点)——但只是追平手写种子的水平(37.2 → 42.8/41.4),且学得技能重新推导出的核心规则恰是种子的验证条款加串行写。所以结论不是「优化器无用」,而是「从一个已 decent 的种子出发,当前的接受规则找不到超出它的东西」。

5.1.1 四条设计原则的量化支撑

论文 1 不止于批判,还用任务模型仿真了四条修正原则各自的收益,这部分常被快速浏览掉,其实是全文最可操作的输出:

  • Principle 1(接受门槛):仿真对比四种接受规则——规则 (1) 单次 dev 赢即接受(SkillOpt/SkillAdam 现状)会放行 2441% 的未变候选;规则 (2) 赢过临界值只放行 2.73.2% 的未变候选,但也会拒掉 7986% 的「真解两任务」改进;规则 (3) 要求连赢两轮 dev,放行未变候选降到 617%,同时保住 55~94% 的真改进——这是四条曲线里最好的操作点。论文还做了一个追溯式检验:30 个被保留的编辑中 29 个若按规则 (2) 会被拒绝,这 29 个平均给 log token 加 0.101——也就是说现有门控放进来的几乎全是「不显著且有成本」的编辑。
  • Principle 2(按 turn 计费):59 个编辑里 turn 数变化解释 token 变化方差的 93%、技能长度只解释 10%;而且按需加载技能(on-demand loading)省不了钱——SkillOpt 的 τ3 技能常驻 1.226 倍、按需 1.230 倍,成本差被技能调用的额外 turn 吃掉了。计费对象选错,优化方向就全错。
  • Principle 3(允许删除与合并):三个 DeepSeek 编辑器在 59 次编辑里只有 1 次缩短技能。反事实重算显示,若把学得技能的调用按种子的密度打包,AutoBench 的 log ρ 从 0.17 减半到 0.08——串行化规则贡献了可削减成本的大半,但其中多数串行写是必要的(AutoBench 每次写操作加载-修改-保存整个模拟世界,两个并发写会互相覆盖)。所以正确的削减对象是「仍然串行的独立读」,论文估算这值大约每 episode 一个 turn。
  • Principle 4(把既往成本反馈给编辑器):保留与拒绝的编辑加 token 的比例是 73% 对 76%(无差别),59 个编辑里只有 5 个「既不丢分又不加 token」——一个同时要求两者的门控将拒绝几乎所有编辑。结论是成本无法事后过滤,只能在编辑产生时预防:让编辑器看到自己此前每条规则各花了多少额外 turn 与 token。

5.1.2 噪声结构为何如此致命:任务难度双峰

BiPA 附录里有一个容易被忽略但对理解全文至关重要的测量:三个基准的任务难度先验拟合出来分别是 Beta(0.10,0.05)、Beta(0.55,0.19)、Beta(0.16,0.17)——全部 a<1、b<1,意味着大多数任务落在「几乎总被解出」或「几乎总解不出」两个极端。TB2 的 18 个测试任务里只有 1 个、τ3-bench 75 个里 16 个、AutoBench 120 个里 22 个处于「有时成有时败」的中间地带。这就从分布结构上解释了为什么小 dev 集择优必然翻车:能被选择效应搬动的任务本来就少,而这少数任务的通过率在 0.5 附近抖动最猛,恰好成为 winner’s curse 的全部来源。任何在长时程基准上做择优的人,都应该先画出自己任务集的这个双峰分布——它直接告诉你 dev 集的统计上限。

5.2 论文 2 核心数据:同一最优、65 点落差与冻结比较的失灵

  • 偏好 harness 特异化:六个 harness 下各训 1024 步,几何误差(中心化分数对最优的 MSE)降 69%~90%,且 held-out 任务上同样降;6×6 迁移矩阵中,每个部署 harness 下误差最低的 checkpoint 恰是该 harness 训出来的那个——post-training 把偏好推向训练 harness 的最优,并使其特异。
  • 最优决策不变、成功率崩塌:H0 训练的 checkpoint(85.0%)在五种纯呈现变化下:反转观测字段 → 19.2%(52.0% 状态的最优先动作改变,mismatch 0.015→0.484);换编码 → 57.1~68.2%;列表化菜单 → 86.0%(几乎无损)。最优策略与 ceiling 数值上完全不动(差 <1e-15),所以 66 点的崩塌全部来自 readout drift——模型「会做」与模型「此刻做」是两回事。
  • 适配反杀:H1(批量点击)ceiling 比 H0 高 0.012,但冻结搬过去 mismatch 涨 0.123,回报跌 0.110——冻结比较必拒。同预算适配 1024 步后:H1 适配对 88.17% > 源 checkpoint 85.05% > H0 续训 83.37%,恢复差 +0.0084、超续训 +0.0084(95% CI 均不含零)。适配中先发生 harness 排序反转(checkpoint 开始更喜欢 H1),后反超源对——阈值 T=0.0273 被越过。
  • 九个 swap 的预测:被冻结比较拒绝且 T>0 的九个迁移中,七个升 ceiling 者适配后全部反超源对、两个降 ceiling 者零收益。冻结损失与最终增益几乎无关(H0→H1 冻结损失最大却净赚;H0→H5 与 H4→H3 冻结损失相同,前者并列最大增益后者零收益);预测式 T−r2 把八个增益排到 Spearman ρ=0.95,冻结回报变化只有 ρ=0.17。
  • 真实 harness 上的排序复现:五个 coding harness(Terminus-2 / mini-SWE-agent / DeepSeek Harness / Pi / DeepAgents)× 冻结 Qwen3.5-9B,准确率 64.1%~47.9%。teacher(GPT-5.6-luna)估计的 Ĉ − M̂ 完美复现五者排序(ρ=1.0),而 ceiling 单独(ρ=0.7,会把 mini-SWE-agent 排第一)或 mismatch 单独(ρ=−0.7,会把 Pi 排第二)都排错。机制归因也很清楚:DeepAgents 的每决策 mismatch 与 Terminus-2 相近,但它让模型做的决策数近三倍(14.2 vs 4.9),mismatch 沿轨迹累积成最大——多一次模型调用就多一次扣分机会,这与论文 1 的 turn 弹性在精神上遥相呼应。

5.2.1 采样估计的工程可行性

论文 2 的方法要落地,绕不开一个现实问题:部署中的 agent 只暴露采样动作、也求不了最优。第六节的两组实验专门回答这一点。大变化场景(跨执行配置:点击可靠性从 0.5 扫到 1、点击成本从 0 扫到 0.05、三种编码方式)里,「ceiling − 采样 mismatch」把回报变化预测误差从 ceiling-only 的 0.235 降到 0.0023——约百倍改善,72 个比较中 71 个方向判对;与同预算的频率 rollout(0.0024)打平。小差异场景(适配过程中每 32~1024 步的恢复差与排序差,量级只有百分之几)里,mismatch 法比频率 rollout 准约十倍(恢复 RMSE 0.00245 vs 0.02672),因为前者只估 mismatch、把 ceiling 差交给 oracle,而后者要硬估整个回报。这对实践者的启示是:当两个系统的 ceiling 差可以精确计算(或合理假设)时,把有限的测量预算全部押在 mismatch 侧是更优的分配。校准实验还量化了预算-精度曲线:每任务每条件 42,553 次 actor 查询的预算下最大偏差降到 0.003 以下,而 357 次查询时偏差高达 0.25——精确诊断不便宜,但可标定。

5.2.2 呈现变化的等级结构与安全迁移边界

五种呈现变化造成的损伤其实高度结构化:列表化菜单(R2)几乎无损(86.0%,readout RMS 仅 0.054),动作编码三种重排(R3-R5)居中(57.168.2%,RMS 约 0.170.18),反转观测字段(R1)毁灭性(19.2%,RMS 0.200)。且 ceiling 的数值验证差异小于 1e-15,mismatch 与回报的损失一一对应(0.484 的 mismatch 恰好等于 return 从 0.423 跌到 −0.046)。这暗示 readout drift 的严重程度与「训练时输出 token 与新接口输出 token 的对应关系被破坏的程度」成正比——附录 D.4 的 Proposition D.2 把它形式化为:若新旧接口的输出存在保纤维的双射 T,且模型对 T 前后输出的 log 概率差有界于 δ,则 readout 漂移范数不超过 τ√n·δ。对做 harness 迁移的工程师,这是可操作的检查清单:迁移时保持动作编码稳定、输出格式与训练时按 token 对齐,就能把 readout drift 压到有界小。

5.3 论文 3 核心数据:held-out 优势与「静态 rubric 反噬」

EvoAgentBench 五域(held-in / held-out 平均 Pass@1):

方法(Qwen3.5-35B-A3B)held-inheld-out方法(GLM-4.7-Flash)held-inheld-out
Vanilla Agent54.644.2Vanilla Agent33.624.5
最强基线(Self-Harness / Meta-Harness)60.4~60.746.5~49.2最强基线(Meta-Harness / Self-Harness)40.4~40.631.1~32.7
RuHarness62.453.7RuHarness43.338.0

两个骨干模型上 RuHarness 比最强基线 held-in +1.7/+2.7、held-out +4.5/+5.3——held-out 优势约是 held-in 的两到三倍,说明增益不只是拟合演化任务。消融表的信息量比主表更大:

  • 去掉整个 rubric 模块(退化为纯轨迹驱动 harness 进化):held-out 53.7 → 45.8(−7.9)——证实任务级反馈确实不足以诊断行为缺陷。
  • 保留初始 rubric 但冻结不进化:held-out 进一步跌到 44.4,比完全去掉还差 1.4 点。这是全文最反直觉的数字:过时的诊断比没有诊断更糟——旧准则持续把优化火力引向已修复或不相关的方向。这就是标题「When the Critic Falls Behind」的实证分量。
  • 去掉前沿筛选、把全部准则喂给生成器:held-out 49.0(−4.7)。附录给出原因:全池中位数核心诊断值 0.215、29.9% 的准则诊断值非正;前沿对应 0.442 与 0.5%——不加筛选的「更多准则」意味着近三成噪声指导。

机制分析三条链互相印证:(1) 前沿 Jaccard 相似度对初始前沿骤降后保持低位、相邻轮先降后回升——早期大幅重塑弱点集合、后期局部微调;(2) 进入前沿的准则在判别力/覆盖率/预测力上同步上升、退出者反向,轮换反映诊断相关性的真实变化而非随机更替;(3) 准则入前沿后违规率第一轮几乎不动、随后逐轮下降——优先级先于改善,且经门控采纳更新的一组违规削减持续为正(+3 轮后均值 +4.61pp),未采纳组无趋势。演化轨迹上,基线在早轮快速冲高后平台化,RuHarness 后期持续爬升且 held-out 波动更小。三个随机种子下优势稳定(如 Qwen×知识工作 held-out 50.0±2.0 vs AHE 47.3±3.1)。

5.3.1 两条案例轨迹:诊断如何一步步变细

论文附录的两个共进化案例把「rubric 进化」从抽象概念落到了具体行为,值得复述。知识工作域的轨迹是验证要求的五级递进:R1 发现「脚本写了不等于跑了」→ 加 OBSERVE 规则要求每个脚本执行并查错;R3 发现「发现失败不等于理解失败」→ 要求检查错误输出、定位原因;R4 发现「跑通了不等于交付物存在」→ 加 TERMINATE 检查输出文件存在且文件名正确;R5 发现「口头确认不可靠」→ 升级为程序化验证(用 os.path.basename 检查文件名);R8 发现「事后验证不如事前检查」→ 把文件存在性检查挪到读取引用文件之前。信息检索域同样五级:全文检索取代片段判断 → 片段出现即标注防止过早匹配 → 逐约束陈述证据 → 证据组织成约束满足矩阵。两条轨迹共同展示了一个规律:每条准则被 harness 吸收后,下一层更细粒度的弱点才暴露出来——这正是「弱点分布随优化漂移」的微观证据,也解释了为什么静态准则必然落后。

5.3.2 与 BiPa 批评的结构性对齐

把 RuHarness 的门控与 BiPA 批判的门控逐项对照,能看到设计上的直接回应。BiPA 指出 SkillOpt 类门控「单次 dev 赢即接受」放行 24~41% 未变候选;RuHarness 的接受条件是「独立验证集上改进超过 ε=0.05 才提交,否则保留当前 harness」——验证集与演化任务分离消除了「在训练分布上择优」的偏倚,ε 阈值相当于 BiPA 仿真中规则 (2) 的临界值。BiPA 指出门控不筛成本(保留与拒绝的编辑同样加 token);RuHarness 的候选生成被约束为「至多三个组件、单一协调假设、需通过一致性校验」——每轮提交的是带证据引用的可证伪假设而非自由文本堆叠,且无显著改进就不动 harness,从结构上抑制了「只加不减」的膨胀倾向。当然,RuHarness 没有直接计量 token 成本,这是它与 BiPA Principle 2 之间尚存的缝隙。

5.4 跨论文合读:三条互相印证的线索

(本节为笔者综合三篇实验数据所做的交叉解读,单篇论文均未直接给出以下结论。)

线索一:小集择优是增益幻象的共同温床。 论文 1 的 selection replay 证明 ≤30 任务 dev 集上「最好候选 vs 最差起点」的比较必然正偏;论文 2 的冻结比较证明单 checkpoint 评估混淆 C 与 M;论文 3 的对策是独立验证集 + ε 阈值 + 无改进即不更新。三篇合起来,任何 harness 进化报告若不说明「选择偏倚如何被控制」,读者都有理由先扣一半信任分。

线索二:成本随轮数/决策数非线性累积。 论文 1 的 turn 弹性(1% turn ≥1% token,长程趋近 2%)与论文 2 的 occupancy 加权 mismatch(多一次决策多一次 KL 损失机会,DeepAgents 三倍决策数滚成最大 mismatch)是同一现象的两个数学侧面:agent 系统的成本/损失都对「交互深度」超线性。这给所有「加一层检查/多问一轮」式的 harness 改进划了条红线——先算边际收益是否盖过乘性成本。

线索三:修正方向殊途同归。 论文 1 的 Principle 1/2(接受门槛高于选择噪声、按 turn 计费)在论文 3 中以工程形态出现(验证门控、ε 显著性阈值);论文 1 的 Principle 3/4(允许删除合并、把既往成本反馈给编辑器)在论文 3 中对应 rubric 的 dormant/retired 生命周期与逐轮重估的效用。两篇一篇批判一篇建设,落点是同一个设计空间。

5.5 各篇的边界与可攻击点

批判性阅读也要留一份对等的怀疑,三篇各自的软肋值得点出:

  • 论文 1:覆盖面是三个优化器、两个模型、三个基准、单一共享种子——结论对外推到其他优化器家族(例如允许删除规则的编辑器)是否成立未知。个别设置(τ3-bench 的 SkillOpt +2.7、Luna×AutoBench 的 SkillAdam +6.4)显示并非全盘无效,作者也诚实标注了唯一一个超出种子自身波动的技能(Luna 的 SkillAdam on AutoBench,+6.4 对 5.8 的 run-to-run spread)。此外 selection replay 依赖 Beta-Bernoulli 任务模型与 episode 独立性假设,对难度随时间漂移的基准(如动态用户模拟器)需要重新校准。分解恒等式只做会计归因、不做因果归因——「规则导致串行写」的因果链靠的是规则文本与行为命名的匹配,作者自己也承认需要单规则受控重写来最终钉死。
  • 论文 2:主实验在三个 MiniWoB++ 任务族与六个合成 harness 上完成,动作菜单单 token 化、策略可精确读出——这与真实 coding agent 的开放动作空间相去甚远;真实 harness 部分依赖 teacher(GPT-5.6-luna)顶替最优,而 teacher 并非最优,Ĉ 严格说只是 ceiling 的下界,排序复现(n=5)也还是小样本。识别命题本身要求「训练到最优」,真实后训练只在逼近最优的路上——论文用几何误差下降 69~90% 佐证逼近程度,但没有给出「多接近最优时命题近似成立」的定量界。
  • 论文 3:全部实验在单一 agent 框架(DeepAgent 实例化)内完成,六坐标抽象的普适性未经其他架构验证;演化轮数固定为十轮,「更长时间尺度下 rubric 会不会也进入停滞」是开放问题;五个诊断统计量的权重(α=γ=1.0,β=δ=λ=0.5)为手工设定,论文未提供权重敏感性分析;结果盲判依赖 judge 模型的忠实性——judge 若能从行为证据间接推断出成败,盲判的隔离作用会被削弱(论文未测量 judge 的「破盲率」)。

把三篇的边界放在一起看有个有趣的对称:论文 1 的结论在合成任务上最弱(TB2 任务少、噪声大)、在真实长程任务上最强;论文 2 相反,理论在受控环境最强、到真实 harness 靠近似;论文 3 的方法只在真实环境验证、没有受控环境的机制确认。三篇各自的短板恰好是另外两篇的长板——这也是组队阅读的又一层理由。

六、知识反推

从三篇的实验结果倒推,可以提炼出五条超出单篇结论的领域规律。

规律一:agent 优化的瓶颈已从「探索能力」移到「评估信度」。 三个优化器都不缺提出好修改的能力(学得技能确实锐化了行为、AutoBench 上串行写规则确实解决了并发写互踩问题),缺的是分辨「真改进」与「运气」的统计功效。当任务成功率天然双峰(要么总成、要么总败,Beta(0.1,0.05) 一类的先验)、每集又只能跑一两次时,30 个任务的信息量根本撑不起 4~8 选 1 的择优。这不是某个优化器的 bug,而是长时程任务场景下的结构性约束——评估协议本身成了第一性问题。

规律二:模型的「会」与「做」之间隔着一层接口,这层接口的漂移可以吞掉一切。 论文 2 的呈现实验(最优决策不变、成功率 85→19.2)是全年最有冲击力的对照实验之一。它反推出的规律是:后训练得到的偏好是经由训练接口读出的(readout through interface),不是接口无关的抽象偏好。凡是「换了输入格式就掉点」的现象(prompt 格式敏感性的文献里比比皆是),现在有了一个精确的归因框架——不是模型不懂任务,是 readout drift。

规律三:监督信号的有效期短于系统组件的改进周期时,静态监督会从资产变负债。 论文 3 的「冻结 rubric 比没有 rubric 更差」是一条普适系统论规律:诊断对象(行为弱点分布)在优化过程中被诊断者自身改变(harness 更新 → 新弱点浮现),任何固定准则集的边际信息量必然衰减,衰减过零后就成了误导。凡是自引用的优化系统(自演化 agent、自动课程学习、自奖励 RL)都要面对这条规律——critic 必须比 actor 爬得快,否则就是负资产。

规律四:成本归因必须沿「重读结构」展开,标称长度不是成本。 论文 1 用数据钉死了「技能长度只解释 10% 的 token 方差、turn 数解释 93%」,即朴素直觉(技能文本变长 → token 变多)在重发历史的 harness 里是次要通道;主通道是规则诱导的行为改变(复查、串行化)通过乘性弹性放大。反推方法论:在循环重发的系统里做成本审计,先建重发结构的行为级模型,再谈文本级压缩——这解释了为什么 skill 压缩类工作(SkillZip Pro 等)的收益上限有限。

规律五:作者共同的方法论签名——「把混杂变量做成可分离的量」。 三篇的实验设计共享一个套路:BiPA 用「候选=种子」的选择重放把选择效应与编辑效应分离,用四项分解把 token 变化按行为分离;识别定理用「最优决策等价」的呈现变化把 readout drift 与 target shift 分离,用 C−M 恒等式把 harness 贡献与 checkpoint 贡献分离;RuHarness 用结果盲判把准则信息量与结果标签分离,用 dormant/retired 把「暂时无效」与「永久无效」分离。面对「A 影响 B、B 又影响 A」的纠缠系统,先造一个可以把其中一个变量钉死的对照,是这批论文最值得学的一手。

规律六:能精确求解的受控环境是理论工作的「数值实验台」,其价值不可被真实环境替代。 论文 2 敢把识别命题、三段分解、恢复阈值一路验证到 1e-15 的数值精度,靠的是把每个 harness 编译成有限无环图、用 FP64 动态规划精确解 soft Bellman——在真实 coding harness 里这些量永远只能估计。同理,BiPA 的 selection replay 之所以能下「增益是选择噪声」的结论,是因为它可以在仿真里把「编辑效应」严格置零跑十万次。这两个设计的共同点:先在编辑效应/接口效应可控为零的环境里建立基线分布,再拿实测值去比。这条方法论对一切「无法做消融实验」的领域(经济学、流行病学、天文学)都有借鉴——构造零效应参照系,是观测科学走向因果推断的第一步。

七、通用灵感

灵感一:任何「择优报告」都要先问一句——对照组跑了吗? 选择重放的思路可以零成本迁移到无数场景:A/B 测试中新旧版本如果都从同一分布抽样,择优本身就会制造提升;招聘中「面了 50 人取最好的」与「面了 5 人取最好的」,前者的表面优势含大量选择偏倚;自动调参工具报告「比默认好 3%」时,先看它从多少组配置里挑。可操作的纪律是:报告任何 best-of-K 结果时,同时报告「K 份纯噪声基线达到同幅度的概率」。这个概率高,结论作废。

灵感二:评估复杂系统时,找到它的「ceiling − mismatch」分解。 论文 2 的分解之所以有力,是因为两项分别对应两个完全不同的干预杠杆:ceiling 低是设计问题(换接口/换机制),mismatch 高是适配问题(训练/微调/熟悉期)。现实中大量争论源于把两者混谈——「这个新工具不好用」(可能是天花板高但团队还没适配)与「这个工具天花板就低」(换谁来都白搭)的对策完全相反。迁移到组织管理:新流程上线初期的绩效下跌不能直接判死刑,要先估出「流程理论上限的提升」是否大于「团队 mismatch 的暂时损失」,并预算出 mismatch 消化的时间。

灵感三:指导者与被改进者要共同演化,否则指导会过期。 RuHarness 的 rubric 生命周期(probation→active→dormant→retired,可复活)是一个可直接移植到人类组织的设计:导师的指导内容、code review 的检查清单、团队的规范文档,都对应某个时点的「失效分布」;被指导者进步后,旧的检查项会从「抓主要矛盾」退化为「噪音甚至误导」。dormant 态的设计尤其精妙——不删掉暂时失效的准则,只是搁置并持续监控触发率,复发即自动唤醒。这比「定期大改规范」和「永不改规范」两种极端都更符合失效模式漂移的真实动力学。

灵感四:在「每次循环都重付历史成本」的系统里,减少循环次数比压缩单次内容更有效。 turn 弹性告诉我们:无压缩循环系统中,轮数是成本的乘性放大器(弹性趋近 2 意味着轮数翻倍、token 近四倍)。这对所有「对话式迭代」的流程设计都有启发——人机协作里每多一轮确认,成本不是加法而是乘法;批量处理独立事项(论文 1 指出的「独立读操作并行发出」)不是锦上添花而是结构性降本。反过来,当你想给流程加一道检查(多一轮),先问这轮检查乘上弹性系数后还剩多少净收益。

灵感五:用「可判定的行为陈述」替代「结果标签」做中间层监督。 结果盲判 rubric 的本质是把稀疏的 0/1 终局信号,升维成一组成「satisfied/violated/N-A」三值判定的行为级命题,再从命题与结果的列联表中提取监督信号。这个两层结构可以搬到任何终局奖励稀疏的领域:学生教育的终局是考试,但日常可判定的是「做题前是否画图」这类行为命题;代码评审的终局是线上事故,但日常可判定的是「每个 public 函数是否有失败测试」。关键技巧照搬两条:命题必须写成肯定式行为(「做了什么」而非「没做什么」),且判定者不得偷看终局标签——信息量全在「命题判定 × 结果」的交叉表里。

灵感六:理论受控环境与真实系统的「双层验证」模式。 论文 2 的做法值得所有做系统理论的人抄作业:在合成环境里把一切量精确求解(有限图、精确最优、精确 mismatch),把定理验证到数值精度;再到真实系统里用近似量(teacher 顶替最优、采样估计 mismatch)复现关键结论(排序预测 ρ=1.0)。合成层的价值不是直接结论而是机制确认,真实层的价值是外部效度。任何「理论主张 + 系统实证」的工作都可以套这个双层结构,避免合成层被批「玩具」或真实层被批「只是相关」。

灵感七:把「谁在评估」与「被评估对象」放在同一时间轴上审查。 三篇论文合起来最深的启示是评估者的时间维度:BiPA 揭示评估者(门控)若只看一次噪声观测会被选择效应欺骗;RuHarness 揭示评估者(rubric)若停在 t0 时刻的弱点快照上会主动误导后期的优化;论文 2 则揭示评估者(冻结比较)若只测一个时间点(当前 checkpoint)会把「暂时的不适配」误判为「永久的低价值」。三者的共同解药是时间上的冗余:多次重复观测(BiPA 的重赢要求)、持续重估(RuHarness 的逐轮重算)、多 checkpoint 比较(论文 2 的评估建议)。任何一个「自动优化 + 自动评估」的系统,无论对象是模型、代码还是组织流程,都值得画出「评估信号的有效期」与「优化周期」两条时间轴——前者短于后者时,系统必然进入误导循环。

结语:审计之后,harness 优化的下一个十年

把三篇论文压成一句话:增益从哪来(BiPA:大多从选择噪声来)、增益由什么构成(识别定理:ceiling 减 mismatch,两项要分开看)、增益该怎么挣(RuHarness:让监督与系统共同演化)。

这三步恰好对应一门工程学科走向成熟的经典路径:先是测量仪器的出现(热力学之于蒸汽机),然后是状态变量的理论化(温度、熵),最后是受理论指导的设计实践(卡诺循环)。harness 工程正在经历同样的过程——BiPA 是温度计,识别定理是熵,RuHarness 是第一台按卡诺原理设计的引擎。

往下一步看,三篇论文联合指向的开放问题至少有三个。其一,成功率的可分解归因:BiPA 能分解成本是因为 token 与调用可沿 turn 加总,而成功只在 episode 末尾打一次分;作者自己指出,把成功率分解到规则层面需要黑盒模型内部的状态价值函数——这是当前条件下不可能完成的任务,除非模型侧开放过程信号。其二,mismatch 的预测而不只是测量:论文 2 的阈值 T 与估计 M̂ 都在事前测量,但要指导「该不该适配」的决策,需要预测「适配后 mismatch 会掉多快」——这本质上是学习效率的建模问题,论文只用了「适配后 mismatch 会降到直训水平(r2)」这一近似假设。其三,rubric 生命周期的理论化:RuHarness 的四态转换规则(触发率 5%/15%、持续 3/4 轮等)是手工超参,何时进 dormant、何时退休理论上应该由弱点分布的漂移模型决定——把这个生命周期从工程启发式升级为最优停止问题,是方法与理论之间最显眼的空档。

对从业者而言,当下最实用的三条行动项:审计自己的优化回路是否存在选择重放可解释的「增益」(把未变候选喂进接受规则跑一遍重放,成本只是一段仿真脚本);评估任何 harness 变更时同时报告 ceiling 侧与 mismatch 侧的证据(多 checkpoint、多呈现稳健性、决策数统计);给持续进化系统装上带生命周期的、结果盲的诊断层(每条准则写成可判定的肯定式行为陈述,judge 不许看成败标签)。做完这三件事,你的 harness 优化才真正开始「挣钱」而不是「记账」。