一、你只优化了一半
Agent 系统的性能由两部分共同决定:模型参数,和包裹它的可执行 harness——哪些观察进入上下文、工具怎么暴露和调用、执行错误怎么处理、交互何时终止。论文开场白很直接:权重只是 agent 系统的一半,另一半是 harness 代码。
问题在于两半是耦合的:更强的权重用不上脆弱 harness 从不去检索的证据;更好的检索帮不了不会综合证据的模型。单独优化任何一边,都会被冻住的另一边卡在瓶颈上——权重更新会改变哪个 harness 有效,harness 更新会改变模型的哪些能力被暴露出来。
已有的联合适配方法(如 prompt+权重联训的 Fast-Slow Training)只动文本 prompt。WHALE 把目标扩大到整个可执行 harness:prompt、工具输入输出格式、报错反馈、终止条件与轮次分配,全部可以被搜索和改写。
二、配方:交替的两个相位
WHALE 的核心是交替循环,形式上就是坐标下降(block coordinate descent):
相位一,更新权重:在线拒绝采样微调(RSFT)——模型在当前 harness 下采样轨迹,只拿 verifier 判对的轨迹做 SFT。简单稳定,无需 value model,也不做重要性采样修正。
相位二,搜索 harness:权重更新完成后,Meta-Harness 让一个 proposer(实验用 Claude Opus 4.7)读历史 harness 档案与轨迹日志,提出候选 harness 代码,在 256 条验证题上跑分,接受最优者。
两个相位节奏天然不匹配:harness 搜索是"提案-评估-接受"的长周期循环,权重训练是 rollout 与梯度交替的短周期节奏。并发跑会让 credit assignment 混成一团;交替跑,每一步都是对冻结对手的条件更新。真正难的是调度:每个相位该跑多久再切换?这是全文最有意思的部分。
三、结果:三个域,全面领先
三个工具使用域:SearchQA(多跳问答+维基检索)、数学推理(DAPO-Math 训练 / AIME 测试)、国际象棋谜题(Lichess)。底座 Qwen3.5-2B/4B,指标 mean@8:
| 方法 | SearchQA | Math | Chess |
|---|---|---|---|
| 仅权重 (RSFT) | 38.27 | 15.42 | 22.17 |
| 仅 harness (MH) | 38.29 | 0.42 | 19.82 |
| FST (prompt+权重) | 35.34 | 17.92 | 25.68 |
| WHALE (交替) | 48.34 | 24.79 | 29.83 |
固定调度下 WHALE 全面超过最强单组件基线 7.67–10.05 个百分点、超过 FST 4.15–13 个百分点。注意 Math 的 harness-only:0.42%,几乎完全失效——这引出下面的分析。
四、瓶颈在哪边,是域相关的
这是论文最值得记住的发现:两个瓶颈 regime 真实存在。
SearchQA 是 harness 主导的:模型写查询,但 harness 控制查询后处理、返回哪些文档、返回多少。仅 harness 搜索用 5.79% 的 rollout 量就达到仅权重训练的峰值精度——检索准确率从 26.9% 拉到 60.6%。工程含义直白:大规模训练之前,先花小成本跑一轮 harness 搜索,这是最便宜的瓶颈诊断。
数学推理是模型主导的:瓶颈是截断率(基线 95.8% 的回答超长被截断)。harness 靠回复上限、轮次限制、兜底提取怎么改都救不回来——这是模型行为问题,只有权重更新能治。但反过来,一个小的权重更新能让原本无效的 harness 搜索突然有效:WHALE 第一轮的 harness 搜索用 4,608 个 rollout 把格式准确率拉了 3.5 个点,而 harness-only 花 46,080 个 rollout 只拉了 0.63 个点。论文称之为催化交互:小权重更新刷新了有限 harness 搜索的收益上限。
五、两个失败极端,小步交替的胜利
调度消融揭示两个失败模式。
噪声极端:每相位证据太少,运气好的噪声候选被接受,模型跟着适应它,系统崩掉——Math 的 (0.2,2) 调度就是这么死的。
过优化极端:相位跑太长,模型对当前 harness 过度特化,换 harness 后反而更差。阶段式优化(先跑完 4–6 epoch 权重,再做 40–60 轮 harness 搜索)是典型:SearchQA 只有 43.02,Math 只有 15.63——后者 60 轮 harness 搜索训练分数还在涨,测试集只比仅权重多 0.21 个点。
小步交替两头的账都赢:同样总预算下,(0.2,6)(每周期 0.2 epoch 权重 + 6 轮 harness 搜索)SearchQA 拿 50.09、Math 拿 28.33,精度与 rollout 成本同时优于阶段式。且两个预算不能独立选:Math 里把 E 从 0.2 加到 0.6,在 I=2 时有益、在 I=6 时有害——交叉效应。
| 调度 | SearchQA 精度 | Math 精度 |
|---|---|---|
| 阶段式 (先权重后 harness) | 43.02 | 15.63 |
| (0.2, 2) | 46.63 | 16.67 |
| (0.6, 6) | 48.34 | 24.79 |
| (0.2, 6) | 50.09 | 28.33 |
| (1.0, 10) | 45.93 | 24.79 |
| Adaptive WHALE | 52.82 | 26.46 |
六、自适应切换:patience 规则
固定调度要人调。Adaptive WHALE 用极简的 early-stopping 规则替代:权重相位训练奖励滑窗不再提升就停(最少 0.2 epoch);harness 相位档案最佳分数连续 2 轮不刷新就停(最少 6 轮)。只用训练信号,不碰验证集。
结果:SearchQA 拿到全场最佳 52.82,比最好的手工调度还高 2.73 个点,rollout 省 23%;实际相位长度中位数 0.24 epoch / 7 轮搜索,正好落在手工调优的最优区间附近。Math 上 26.46,好于默认调度但比最佳手工调度低 1.87 个点——不完美,但说明 patience 规则基本能自动找到答案。
七、为什么这篇值得读
对做 agent 系统的人,这篇把一个模糊直觉变成可操作配方:harness 和模型是联合优化问题,不是先后调参问题。skill 写得再好,模型能力跟不上是白搭;模型再强,脆弱的 harness 会把它锁死。
三个可迁移结论:一,先跑便宜的 harness 搜索做瓶颈诊断,再决定要不要上训练;二,交替要小步——任何一边跑满预算,都是对冻结对手的过拟合;三,训练信号驱动的 patience 规则可以替代大部分手工调度。
KRAFTON 的游戏基因加上 Chelsea Finn 组的 post-training 功力,这篇工程论文的落地感很强。对正在构建 agent harness(prompt 管理、工具封装、控制流)的团队,这是第一个系统性的实验答案。
作者:Haechan Kim, Yoonho Lee, Gisang Lee, Chelsea Finn, Kangwook Lee (KRAFTON / KAIST / Stanford)
PaperDog 论文狗 · 公众号:论文狗-PaperDog