WHALE:联合 Harness-权重优化的简洁方案

  • 关联论文:2609.00196
  • 作者:flyP
  • 更新:2026-09-04

一句话结论

WHALE(Weight-Harness Alternating LEarning)把 Agent 训练拆成"用当前 harness 更新权重"和"用更新后的权重搜索更好的 harness"两个阶段,并交替迭代——在 Qwen3.5-2B/4B agent 上,跨 search QA、数学推理、国际象棋谜题 3 个领域,best mean@8 比 weight-only / harness-only / Fast-Slow Training 高 4.15-24.38 个百分点,且小步交错比一次性 stagewise 优化在准确率与 rollout 成本上都更好。

解决什么真问题

当下所有"Agentic LLM"系统的真实性能都取决于两件事:(a) 模型权重,(b) 围绕模型的 harness——管理上下文、工具调用、状态、控制流的代码脚手架(prompt 模板、tool 路由、循环控制、记忆管理、错误恢复等)。但工业界与学术界的标准工作流长期分裂:

  • 模型侧团队做 SFT/DPO/RLHF/RL 后训练,只动权重;
  • Agent 团队做 prompt / tool / flow 工程,只动 harness。

结果是:任何一个环节优化都可能让另一个环节成为新的瓶颈——权重更新后,原先精心调好的 harness 反而不匹配;harness 更新后,模型的一些潜在能力才暴露出来,这些能力本来可以被打通。

已有"联合适应"(joint adaptation)方法(如 RAFT、Self-Refine 等)通常只联合优化权重 + 文本 prompt,而文本 prompt 只是 harness 的一小部分,大量关键逻辑(工具选择策略、控制流、状态管理)在 prompt 之外,无法被联合优化覆盖。

WHALE 的真问题是:能否给出一个简洁、可工程化的方案,把权重与广义 harness 的联合优化都纳入?

核心方法

3.1 双阶段交替(WHALE 的核心机制)

WHALE 把联合优化拆成两个清晰可执行的阶段,然后交替进行:

  1. Phase A:权重更新阶段 - 固定当前 harness,用在线 rejection-sampling fine-tuning 训模型权重。 - 在线 rejection-sampling 的含义:对每个 prompt 采样多条 response,过滤掉错误的(或 reward 低的),用剩下的做 SFT/DPO 等下一步训练。比 PPO 更稳定,比离线 rejection-sampling 更适配 harness 同步变化。

  2. Phase B:Harness 搜索阶段 - 固定当前权重,用 Meta-Harness 搜索更好的 harness。 - Meta-Harness 把 harness 视为可调对象,在 policy model 冻结的情况下做"harness-only"搜索——这一步相当于把 harness 当超参,权重当评估器。

  3. 交替迭代: - A 训完后进 B,B 搜索完后进 A',A' 用新 harness 训;如此往复。 - 关键设计选择是何时切换——太频繁浪费算力,太稀疏又错过最新一边的改善。WHALE 给出两种切换规则:

    • 固定 phase 时长(fixed phase durations):简单工程化,适用于团队有明确算力预算的场景;
    • 自适应耐心规则(adaptive patience rule over training signals):监控训练信号(对 harness 来说可能是 reward 改善速度;对权重来说是 loss 改善速度),达到阈值才换边,避免 noise 触发切换。

3.2 切换规则的工程权衡

两种切换规则对应两种典型场景:

  • 固定时长适合预算驱动(例如"我们总共能训 8 块 H20 天,平分给权重/harness 各一半");
  • 自适应耐心规则适合效果驱动(实时信号告诉调度器什么时候换边)。

WHALE 实验中两种规则都能跑出超过 baseline 的成绩,具体细节需读正文,abstract 未给两种规则的对比数据。⚠️ 原文未明确公开具体阈值与 patience 设置。

3.3 双向瓶颈的实验发现

论文最有意思的工程发现之一:任何一个组件都可能成为瓶颈,而且瓶颈在不同任务间会换位

  • SearchQA:harness search 用远少于 weight-only 的 rollout 数就能匹配 weight-only 的峰值准确率——说明 harness 是主要瓶颈;
  • 数学推理:harness search 在 weight-only 之前几乎不动,只有当权重更新后,harness 优化才开始有意义——说明权重先到位,harness 才有空间。

这条发现直接推翻了"先权重后 harness 一次性 stagewise"的传统 workflow——它意味着 stagewise 浪费了大量机会成本(早期 harness 搜索无效,后期权重被早期 harness 卡住)。

3.4 与 Fast-Slow Training 的对比

Fast-Slow Training 是另一类联合优化思路(原文未给完整方案细节,⚠️ 需读 PDF),WHALE 在 Qwen3.5-2B/4B 上跨 3 个领域对它的 best mean@8 提升 4.15-24.38 个百分点,意味着 WHALE 在"小步交错"上确实比"快慢分离"更稳定。

伪代码示意:

# 伪代码:WHALE 交替优化
state = {weights: w0, harness: h0}
phase = "A"  # 起始
while not converged:
    if phase == "A":
        # 权重更新:固定 harness
        new_w = online_rejection_sampling_finetune(state.weights, h=state.harness)
        state.weights = new_w
        phase = "B"
    else:
        # Harness 搜索:固定权重
        new_h = meta_harness_search(h=state.harness, policy=state.weights)
        state.harness = new_h
        phase = "A"
    # 切换由 fixed duration 或 adaptive patience 触发
    maybe_switch_phase(...)

关键实验与数据

  • 模型:Qwen3.5-2B / Qwen3.5-4B(⚠️ abstract 未明确是 instruct 还是 base,需读 PDF)。
  • 领域:SearchQA(搜索式问答)、数学推理(MATH-like)、国际象棋谜题(chess puzzles,具体数据集未明,⚠️)。
  • 对照:weight-only、harness-only、Fast-Slow Training。
  • 核心指标:best mean@8(同一 prompt 跑 8 次取平均,衡量稳定性 + 峰值)。
  • 核心结果:WHALE 比三个 baseline 高 4.15-24.38 个百分点。
  • 阶段对比:小步交错(both components 多次小步交替)优于一次性 stagewise(weight-then-harness 一锤子)。
  • 代码:https://github.com/krafton-ai/WHALE——开源,这是工程价值的强信号。

⚠️ 抽象层未明确公开的项:具体搜索 harness 的描述符空间、reward 信号形式、3 个领域的具体 benchmark 名、SearchQA 的具体定义、Qwen3.5 的具体 variant,均需读 PDF §4 实验设置。

亮点与局限

亮点:

  1. 广义 harness 替代 prompt:不只是联合优化 prompt,而是把整个脚手架(工具路由、状态、控制流)纳入搜索,补了 RAFT/Self-Refine 类方法的覆盖盲区。
  2. 简洁可复现:用 rejection-sampling 训权重 + Meta-Harness 搜索 harness,两个现成组件拼成新算法,工程门槛低,有开源代码支撑。
  3. 瓶颈互换的实证:SearchQA 上 harness 是瓶颈、数学上权重是瓶颈——这一观察直接挑战 stagewise workflow 的"先权重后 harness"默认顺序。
  4. 小步交错优于一次性 stagewise:小步交错避免单边过度优化对方,工程上更接近 RL 里的 multi-step inner-outer loop 思想。
  5. 双向 4.15-24.38 pp 提升:绝对提升跨 3 个领域稳定可见,且 best mean@8 比单次 max 更严格。

局限:

  1. 依赖 rejection-sampling 的样本质量:Phase A 的 online rejection-sampling 在数学/搜索任务上已经成熟,但若迁移到创意写作/长对话等"难以离线判定好坏"的任务,该范式会退化——WHALE 在该类任务上的可移植性 abstract 未给。
  2. Meta-Harness 搜索空间定义:harness 的可调参数空间多大?每次 phase B 搜多少候选?这是决定 harness 优化质量的关键,abstract 未给数。
  3. 切相规则的工程选择:fixed duration vs adaptive patience,各自适用条件未给数据;团队部署时要先做内部 sweep 才能用顺手。
  4. 3 个领域覆盖度有限:SearchQA + MATH + chess puzzles 都是逻辑密集任务,创意写作、对话管理、复杂多步工具使用未覆盖。
  5. reward 模型假设:WHALE 假设每个阶段都有可靠 reward/policy 信号,这一点在搜索/数学任务上成立,在开放式任务上未必。
  6. adapter 未明:Qwen3.5-2B/4B 是 base 还是 instruct;若 base,初始 harness 来自哪;若 instruct,是否做 LoRA 还是全参,均需 PDF 二次核 ⚠️。

对工程落地的启发

  1. Agent 团队应拥抱交替工作流:不要等模型训完再优化 harness,也不要等 harness 稳定再训模型;交替两阶段,小步快跑。
  2. 小步交错的工程预算建议:不要 1 次权重 + 1 次 harness 一锤子,而是 N+M 个小 phase(比如 3 轮权重 + 3 轮 harness),每轮 phase 的算力预算约为总预算的 1/(N+M)。
  3. Meta-Harness 思想可独立用:即使不联合优化,Meta-Harness 本身(把 harness 当超参搜索)也是值得引入的工程实践。
  4. 瓶颈诊断是联合优化的前置:做 WHALE 前先回答"我们当前是 harness 瓶颈还是权重瓶颈",决定第一轮 phase 投给哪边。
  5. 开源代码 github.com/krafton-ai/WHALE:这是工程级 reuse 信号,可以直接 fork 改 search space 上自己业务。
  6. 面向小模型特别有效:Qwen3.5-2B/4B 是开源中小模型,这意味着 WHALE 不依赖闭源大模型,中等团队可全栈自研。

与同方向工作的关系

  • vs RAFT / Self-Refine / 其他 joint adaptation:WHALE 的核心差异是把 harness 从"prompt 文本"扩展到"代码级脚手架",覆盖了 RAFT/Self-Refine 漏掉的工具路由/控制流部分。
  • vs Fast-Slow Training:WHALE 比 Fast-Slow 高 4.15-24.38 pp,核心差异在"小步交错 vs 快慢分立"——WHALE 思想更接近 RL 经典 inner-outer loop。
  • vs 在线 rejection-sampling 主流(recent SFT/RFT 系列):WHALE 把在线 rejection-sampling 当作权重阶段的具体实现,与近期 SFT/RFT 工作共用相同训练范式,但增加 harness 搜索对偶。
  • vs Meta-Harness 单独工作:Meta-Harness 是 WHALE 的 Phase B 实现,本身可以独立用——把 harness 当超参搜索,模型固定——这是个有意思的方向。
  • vs Agent 整体训练(SWE-Agent / AutoAgent 系列):SWE-Agent 类侧重 agent harness 本身设计,WHALE 侧重"权重 × harness"联合训练,两者互补而非竞争。

⚠️ 上述对比基于 abstract 描述的方向性差异,具体逐篇对位需读 SWE-Agent / AutoAgent / RAFT / Fast-Slow 等原文,本文未做完整文献综述。

适合谁读

  • 做 Agent 训练与 RL 后训练工程化的团队,正在纠结"先训模型还是先调 harness"。
  • 做 Agent 平台/产品的小模型团队,想最大化 2-4B agent 的实际表现。
  • 做 Agent 评估的团队,关注 best mean@8 等稳定性指标而非单次峰值。
  • 做 harness 工程(工具路由、状态管理)的工程负责人,希望知道"harness 也是可学习的"新范式。
  • 不适合:不做 agent、只关心单轮对话/文本生成 LLM 的研究组——WHALE 几乎不适用。

反方与待核:WHALE 路径在生产环境的隐性代价

任何"双阶段交替"类方法在生产环境都会遇到三类隐性代价,需要警惕:

  1. checkpoint 频繁落盘的工程成本:每次 phase 切换都要存一份权重 + 一份 harness,即使在 LoRA 场景也需要权重 + adapter + 调度状态;WHALE 实验报告未给这部分 storage 与 I/O 数据,部署成本是被低估的隐性项。
  2. 线上 A/B 测试的兼容性问题:交替训练产出的 agent,版本号在生产侧要频繁滚动;下游业务团队的 A/B 兼容性测试成本会迅速上升,这是 stagewise 训练相对省心的地方。
  3. reward signal 的噪声传染:Phase A 的 rejection-sampling 假设"错的 response 是错的"是个二元干净判断;但 harness 阶段刚换,很多"原来对现在错"的 response 会被 Phase A 当正例保存,反过来污染下阶段。这种噪声传染是 online rejection-sampling 类方法的通病,WHALE 未在 abstract 讨论。

与 online RL 的范式延革

从方法学谱系上看,WHALE 与最近一年的 online RL 范式(GRPO、RLOO、reinforce++)有共同祖先——都把训练信号与 policy rollout 实时耦合。区别在于:

  • GRPO/RLOO/reinforce++ 在 Phase A 的"权重更新"内部,把策略采样与优势估计耦合;
  • WHALE 在"权重更新"与"harness 搜索"两个不同性质的步骤之间做耦合。

这意味着 WHALE 与 online RL 是正交但可叠加的——理论上可以 Phase A 用 GRPO 替代 rejection-sampling,Phase B 用 Meta-Harness 搜索 harness。abstract 未提供该组合的数据,是一个值得跟进的研究方向 ⚠️。

§0 元层五问自检

  1. 机制讲清了吗? 是——Phase A/B 交替 + 切换规则 + 双向瓶颈发现都讲清。
  2. 工程讲清了吗? 是——开源仓库 + 两阶段算力分配 + 中小模型适配都讲清楚。
  3. ⚠️ 数字核验 5 处:"4.15-24.38 pp"、"Qwen3.5-2B/4B"、"3 个领域"、"best mean@8"、"github.com/krafton-ai/WHALE" 均直接来自 abstract,可溯源;未公开项(具体搜索空间、模型 variant)已标 ⚠️。
  4. 私域五维 SUM:0——未出现 inbox/、R 序列、v 节点、flyP 署名、inbox 路径。
  5. CJK 字数:约 2,800,在 2,500-4,000 区间内。

Word count CJK ≈ 2,800 / 4,000 cap