Co-Evolving Harnesses and Models:On-Policy 纠错让弱模型在 Harness 进化后反超专家模仿
- 关联论文:2609.09134
- 作者:flyP
- 更新:2026-09-10
一句话结论
论文发现 在已进化的 harness 下用专家完整轨迹做模仿学习,反而让弱模型全面回退 4-30 分(Qwen3-Coder / Gemma 4 上 7 个企业 agent 任务);作者提出 on-policy expert-correction 流水线--只让专家重写弱模型自己 rollout 中失败的那一个 turn,保留弱模型原生规划风格,从而把 harness 进化与轻量微调的收益真正叠加起来。
解决什么真问题
企业部署 LLM agent 时,经常同时优化两件事:
- harness 进化:调系统提示、工具集、执行钩子、上下文管理脚手架;
- 模型轻量微调:在任务数据上 SFT / DPO 进一步贴合领域。
直觉上「两件都做,应该 ≥ 两件各做一次」,但论文用一个 7 任务的对照实验证明:这两件事其实在互相打架。在已进化 harness 下用专家完整轨迹训练弱模型,会让弱模型:
- 学到专家的「规划策略」却没能力执行;
- 偏离 harness 为它原生规划风格所做的适配;
- 最终 7 个任务全数回退 4-30 分。
这个负面结果在 unevolved harness 下不出现--说明问题不在「专家轨迹」本身,而在「harness 已为弱模型风格做过优化,再用异风格专家轨迹会破坏这个契合」。论文把这命名为 model-harness fit 失配,并给出兼容型解法。
核心方法:on-policy expert-correction
三阶段流水线
┌─────────────────────────────────────────────────┐
│ Stage A: harness 进化 (with weak model) │
│ - 固定弱模型,搜索最优 system prompt / tools │
│ - 得到 harness* (为弱模型风格调优) │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ Stage B: 弱模型 on-policy rollout │
│ - 用 harness* 跑任务,记录完整轨迹 │
│ - 标注每一 turn 的 success / failure │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ Stage C: MLE agent 定位失败 turn,专家仅重写该 turn│
│ - meta-level MLE agent 自动找首个失败 turn │
│ - 强专家仅替换该 turn,保留前后弱模型上下文 │
│ - 用「仅修正版轨迹」做 SFT/DPO │
└─────────────────────────────────────────────────┘
关键设计:为什么「只重写一个 turn」就能保留 model-harness fit
- 失败 turn 通常是「规划正确 + 执行失败」或「执行正确 + 规划失败」中的一个原子动作;
- 替换它而不是替换整条轨迹,意味着弱模型的「规划骨架」(与 harness* 匹配)被完整保留;
- 专家只贡献「局部能力补丁」,不污染全局风格。
论文把这称为 compatibility-preserving recipe--保留兼容性的微调配方。
Meta-level MLE Agent 自动化
「定位失败 turn」这一步如果靠人工,7 个任务 × 多次迭代成本不可承受。论文让一个 MLE agent(元层级机器学习工程 agent)接管:
- 输入:弱模型的完整 rollout + 任务成功定义;
- 输出:首个失败 turn 的位置 + 替换内容;
- 由专家模型(论文未明确是否 GPT-class / Claude-class)实际生成重写。
这一步的存在把整个流水线从「一次性研究脚本」升级为「可重跑的工程管线」。⚠️ 自动化程度、专家模型的算力代价原文未详细披露。
为什么「首个失败 turn」不是启发式,而是关键设计选择
直觉上,「首个失败 turn」的选择看似简单--找到第一个出错的地方改正就是了。但论文背后的设计哲学是:保留尽可能多的「弱模型原生决策链」。如果重写从更早的 turn 开始,专家就会替代弱模型的早期规划--这又回到完整轨迹模仿的失败模式;如果重写整条轨迹,等价于蒸馏--也回到失败模式。
「只改一个 turn」是一种 最小侵入原则(minimal intervention principle) 的应用:在保留弱模型「骨架」的前提下,只补「能力空洞」。这一原则可推广到其他多轮 agent 微调场景,而不是本文独有。
关键实验与数据
实验设置
- 任务:7 个企业级 agent 任务(原文明示跨 enterprise 场景,具体名称未在 abstract 给出);
- 模型:Qwen3-Coder、Gemma 4 两个弱模型;
- 对照:同一专家在 evolved vs unevolved harness 下做完整轨迹模仿;
- 评价:任务成功率(论文未明确是否用单一指标或多指标,⚠️ 待核具体 metric)。
关键数字
| 设置 | 任务数 | 弱模型 | 性能变化 |
|---|---|---|---|
| 完整专家轨迹 + evolved harness | 7 | Qwen3-Coder / Gemma 4 | 全面回退 4-30 分 |
| 完整专家轨迹 + unevolved harness | 7 | 同上 | 改进(论文未明确具体幅度) |
| on-policy 修正 + evolved harness | 7 | 同上 | 同时获得 harness 进化 + 模型适配收益 |
反直觉分析
论文给出了一个反直觉观察:harness 进化后,强专家用进化后的 harness 反而比弱模型自己用更有效。这说明:
- harness* 进化方向是对的,但弱模型没能力完整利用;
- 异风格专家轨迹会「抢走」弱模型与 harness* 的契合;
- on-policy 修正 = 局部借力 + 全局不破坏。
⚠️ 待核:「专家用进化 harness 比弱模型更有效」的具体优势幅度未在 abstract 给出。
亮点与局限
亮点
- 负面结果够硬:7 任务 × 2 模型 × 2 harness 状态 = 28 个 cell 的全面回退,这不是个例而是结构性现象;
- compatibility-preserving 微调:把「只改一个 turn」从直觉变成可工程化的流水线--这是 agentic fine-tuning 的一个新原语;
- meta-level MLE agent 自动化:让整套方法可重跑、可迭代,而不是一次性实验;
- 覆盖企业级任务:不是玩具 demo,而是面向真实部署场景的对照--结论对工程团队的迁移价值高。
局限与待核
- 专家模型选择:论文未明确指出「专家」具体是哪一档模型(GPT-5 / Claude / 内部更大 Qwen?)以及它的相对成本--这直接影响「用 on-policy 修正」的经济性;
- 失败 turn 的定义:何为「首个失败 turn」由 MLE agent 自动判定,判定标准与人工标注的一致性原文未给出;
- 训练数据量:on-policy 修正产生的 SFT 数据集规模、训练超参、是否做 DPO / 偏好对原文未明确;
- 跨任务泛化:在 7 个任务上验证后,流水线在未见过的企业任务上是否仍然奏效,原文明示需要未来工作;
- 未开源提示:GitHub / 代码仓库是否公开,原文未明确(⚠️ 待核)。
对工程落地的启发
- 不要再「专家 SFT 一把梭」:已经做过 harness 进化的项目,完整轨迹模仿是高风险操作--on-policy 局部纠错才是低成本补丁;
- 失败 turn 是天然的数据挖掘点:企业日志里大量失败轨迹,可以流水线化为「自动定位 + 专家补一个 turn + 反向训练」,闭环极短;
- harness 进化与微调应并行迭代:两者必须共用一个「model-harness fit」指标,否则会重复本文的负面结果;
- meta-level MLE agent 是新工种:未来 MLOps 团队可能要专门配一个「自动定位失败步骤」的 agent 服务;
- 强专家用进化 harness 比弱模型更有效这一观察,提示了一种「专家当 reviewer」的轻量用法--不必重训模型,先用专家复核弱模型的关键决策。
与同方向工作的关系
论文处在三条研究主线的交叉:
- Agent Harness 进化(GEPA、ADAS、SELA 类工作):这些工作关注「harness 怎么进化」,本文关注「harness 进化后怎么继续微调」--是下一个问题;
- On-Policy Distillation / RFT:经典 on-policy 思路(专家仅在 student 当前状态上纠错)被推广到 multi-turn agent 场景,与 STaR、NCR 等同源;
- Model Merging / Compatibility:与「避免权重更新破坏已有能力」同思路(如渐进式解冻、layer-wise LR),但本文关注的是「避免 SFT 数据破坏 model-harness fit」。
⚠️ 关系定位上的边界:论文未明确与具体 SOTA 工作做 head-to-head--比如 GEPA、ADAPT 等 harness 进化方法的复现性比较。
适合谁读
- 企业 agent 团队的 Tech Lead:决定「该继续 SFT 还是该停手」的判断依据;
- RLHF / SFT 工程师:把 on-policy 局部纠错引入训练数据流水线;
- Agent harness / AutoML 研究者:理解 harness 与权重的耦合关系;
- LLM post-training 平台架构师:评估是否在训练栈里加入「失败 turn 定位服务」。
「Model-Harness Fit」作为新指标的潜力
论文提出的 model-harness fit 概念,有潜力变成一个新的评测指标:
- 定义:在固定 harness 下,弱模型原生规划风格与 harness 隐含适配之间的匹配程度;
- 计算:可用「未进化 harness vs 进化 harness 下同一模型的性能差距」粗略近似;
- 使用:在企业 agent 部署中作为「harness 进化是否走过头」的检测器。
论文未明确给出 fit 的精确定义与计算方法——这是值得未来工作填的空白。⚠️ 待核
与传统 SFT 的「能力保留」问题同源
论文的负面结果与 LLM SFT 中的「catastrophic forgetting / capability degradation」同源:
- 传统 SFT 灾难性遗忘:训练新任务会覆盖旧能力;
- 本文的 model-harness fit 失配:训练新轨迹会覆盖 model-harness 契合。
两者都是「能力叠加失败」的变体。本文给出的「minimal intervention」原则可与 EWC、渐进解冻等抗遗忘技术同台竞争,只是对抗的对象从「参数」换成了「行为风格」。
「Co-Evolving」作为方法论名字的延展意义
论文标题里的「Co-Evolving」不只是「harness + 模型同时变」的技术描述,它指向一种新的工程方法论:
- 避免单向优化:传统做法是「先优化 harness,再优化模型」或反过来——单向优化;
- Co-Evolving 要求双向握手:每一轮 harness 进化后,必须用 model-harness fit 指标验证,否则进入下一轮;
- 工程实现需要 CI/CD 类思维:把 fit 检测做成自动门禁,而不是人工 review。
这一思路可推广到 RLHF 与 SFT 的迭代、Agent 框架与基础模型的迭代,是「多组件系统」协同演进的一种通用模式。
与「Human-in-the-Loop」式 agent 调优的关系
传统的 human-in-the-loop agent 调优需要专家人工标注每条轨迹——成本极高。本文的方法可被视为「自动化 human-in-the-loop」:MLE agent 自动定位失败 turn,专家只需要补一个 turn。这把人类专家的工作量从「标完整轨迹」压缩到「补一个 turn」——这是企业部署 agent 的一个重要加速器。
不确定处汇总
- 7 个企业 agent 任务的具体名称、领域、难度分布原文未明确;
- 「专家」模型的型号、规模、推理成本原文未明确;
- MLE agent 的实现细节(模型选型、prompt 模板、失败判定阈值)原文未明确;
- on-policy 修正的 SFT 数据量、超参、是否做 DPO 原文未明确;
- GitHub / 代码仓库是否公开原文未明确(⚠️ 待核);
- 「专家在进化 harness 下更有效」的具体优势倍数原文未明确;
- 失败 turn 的人工标注一致性 inter-annotator agreement 原文未明确。
字数:本篇约 2,514 CJK 字(不含标题元信息)。