Command Palette
Search for a command to run...
Harness-S:从兄弟 Harness 中学习以实现可泛化智能体训练
Harness-S:从兄弟 Harness 中学习以实现可泛化智能体训练
摘要
从共同基础演化的 Harness 表现出局部性、互补性和非平稳性:不同变体修复不同的失败,并且其效用会随着策略学习而变化。我们并未寻求一个普遍更优的 Harness,而是提出 Harness-S,通过兄弟 Harness 选择性地挽救基础执行系统的失败,并将由此获得的能力迁移到单一策略中,使该策略在原始 Harness 下仍然有效。定向 Harness 演化(Directional Harness Evolution)沿不同修复方向开发专门化兄弟 Harness,形成可复用的兄弟 Harness 池(Sibling Harness Pool),并在策略训练期间保持固定。互补式 Harness 挽救训练(Complementary Harness Rescue Training)仅在基础 Harness 下所有初始尝试均失败时调用该池。同一策略在选定的辅助 Harness 下生成新的轨迹,并用这些轨迹替换失败组以进行强化学习。自适应 Harness 路由器(Adaptive Harness Router)利用 Harness 行为画像(Harness Behavior Profiles)和多个 LLM 的投票选择 Top-k 变体。策略感知的画像重新锚定(Policy-aware Profile Re-anchoring)随策略学习不断更新这些证据。在 AppWorld、SWE-Gym 和 DBBench 上,当回到原始基础 Harness 时,训练得到的策略显著优于仅策略训练的方法。行为分析和留出案例支持 Harness 诱发的行为迁移到了策略自身之中。在相同的执行器 rollout 数量下,将路由器复用于 Rank-1 推断可带来额外增益。
一句话总结
来自上海交通大学、小红书公司等机构的研究人员提出了 Harness-S,该方法通过定向进化、互补救援训练和自适应 LLM 投票路由器从固定的 sibling harness 中学习,将失败修复能力迁移到单一策略中,并改善 AppWorld、SWE-Gym 和 DBBench 的性能以及 Rank-1 推理。
核心贡献
- 本文介绍了 Harness-S,该框架利用定向 harness 进化沿不同修复方向构建专门的 sibling harness,并将其存储在可复用的 sibling harness 池中,该池在策略训练期间保持不变。
- 本文提出了 Complementary Harness Rescue Training 和 Adaptive Harness Router,只有当所有初始 base-harness 尝试都失败时才调用 sibling 池,并使用 Harness Behavior Profiles 和多个 LLM 的投票选择 Top-k 变体;策略感知的 profile 重新锚定会随着策略学习更新这些证据。
- 在 AppWorld、SWE-Gym 和 DBBench 上的实验表明,在原始 base harness 下评估时,训练后的策略显著优于仅策略训练;行为分析和留出案例支持能力迁移,Rank-1 路由在相同 executor rollout 数量下带来额外增益。
引言
作者研究了 agent 的执行 harness(包括提示、工具、记忆和执行规则)如何塑造策略行为,即使模型权重固定时也是如此。先前工作自动化了提示、工作流和 harness 优化,但 harness 编辑通常表现出局部性、互补性和非平稳性:修复在解决某些失败的同时会导致回归,sibling harness 可以互相恢复错误,并且 harness 的效用会随着策略学习而改变。这些性质使得将局部修复组合成一个通用 harness 变得困难,也使耦合的 harness-策略联合演化成本高昂,且收益可能无法迁移回原始 harness。作者引入了 Harness-S,该方法沿不同修复方向进化专门的 sibling harness,在训练期间使用自适应路由器救援失败的 base-harness 尝试,并将由此产生的能力迁移到单一策略中,使其在原始 base harness 下仍然有效。
方法
作者提出了 Harness-S,该框架利用对 base harness 失败的选择性救援,将专门 sibling harness 中的有用行为迁移到共享策略中。这种方法使策略能够从替代执行路径中学习,并随后在原始 base harness 下表现得更好。
整体架构包括三个核心组件:用于构建多样化 harness 变体池的定向 harness 进化、用于更新共享策略的互补 harness 救援训练,以及用于动态选择最有效变体的自适应 harness 路由器。
定向 harness 进化
为构建可复用的专门变体池,作者采用了定向进化过程。从 base harness H0 开始,系统在新训练任务上执行它,以根据失败的局部根因识别不同的修复方向。然后编辑器修改父 harness 组件以解决这些具体原因,生成一组候选子代。下一代的父代选择最大化联合验证覆盖,确保所选父代覆盖彼此的失败。Sibling Harness Pool 保留所有世代中的有效子代,形成固定变体集 H,它们共享相同的执行基础和策略参数,但在上下文和执行规则上有所不同。
互补 harness 救援训练
在训练阶段,框架关注当前策略在 base harness H0 下失败的任务。对于给定任务,策略在 H0 下生成多个 rollout。如果所有尝试均失败,系统触发救援机制。系统不会丢弃这些失败,而是让策略在从池中选择的一组不同辅助 harness 下进行新的尝试。这为模型提供了解决困难任务的替代路径。
训练目标使用 Group Relative Policy Optimization (GRPO)。对于保留的一组轨迹,相对优势计算为:
ax,j=max(σx,ϵ)Rx(τx,j)−rˉx其中 rˉx 和 σx 分别表示该组的奖励均值和标准差,ϵ 用于稳定除法。共享优化器从这些组相对奖励中形成训练优势,并最大化一个裁剪后的 token 目标:
ρ=πθold(y∣cH)πθ(y∣cH) ℓ(ρ,A)=min{ρA,clip(ρ,1−η−,1+η+)A}其中 y 是生成它的 harness 上下文 cH 中的策略 token,η−,η+ 是裁剪宽度。只有策略 token 进入目标。
自适应 harness 路由器
为了有效选择用于救援训练的辅助 harness,作者设计了自适应 harness 路由器。该模块依赖于 Harness Behavior Profiles,这些 profile 描述特定 sibling harness 相对于 H0 何时帮助或阻碍当前策略。LLM 将成对验证轨迹中的行为差异归纳为结构化条目,详细说明任务条件和相对行为。选择通过投票机制进行,多个独立的 LLM 投票者根据任务上下文、当前 profile 和验证成功率对候选 harness 进行排序。路由器汇总这些排序,为救援组选择 Top-K 个不同的 harness。此外,系统实现了策略感知的 profile 重新锚定,在策略学习的特定检查点刷新行为证据和验证统计,确保路由器决策与模型当前能力保持一致。
向策略的知识迁移
该流程的最终目标是将从 sibling harness 中学到的多样化行为整合到共享策略中。通过救援更新,策略内化了这些有用的执行策略,即使在推理时恢复为原始 base harness H0,也能获得更高的成功率。为了获得额外性能提升,框架支持推理期间的 Rank-1 路由,即自适应路由器为每个传入任务从完整池(包括 H0)中选择单个最佳 harness。
实验
实验在 AppWorld、DBBench 和 SWE-Gym 上评估 Qwen3.5-4B 和 Qwen3.5-9B,将 Harness-S 与 GRPO 对照、固定 harness 混合、冻结策略 harness 优化以及原始和任务路由 harness 下的联合自适应进行比较。Harness-S 通过提供选择性救援来改善任务成功率,该救援具有更多的任务内奖励对比和有效训练 token;同时,任务特定 harness 分配和自适应 profile 重新锚定改善了恢复和最终性能。学习后的策略表现出改变的验证和证据收集行为,这些行为会重新出现在未训练的实例上;随着训练后 base harness 被更频繁选择,路由变得不那么必要。改进也会在没有进一步更新的情况下迁移到未见过的外部 harness,不过性能仍然对执行接口敏感。
在固定选择 harness 和任务特定路由 harness 下,Harness-S 在 AppWorld、SWE-Gym 和 DBBench 上均改善了长时程 agent 任务成功率,优于仅策略训练、冻结策略 harness 优化和联合自适应。路由后的 4B 策略在每项报告指标上都优于更大的 9B GRPO 救援基线,而路由后的 9B 策略在 DBBench 上超过了前沿参考模型。增益反映了保留下来的策略改进和更强的执行支持,而路由进一步改善结果,且无需额外的 executor rollout。在固定和任务特定 harness 选择下,Harness-S 在所有基准和能力设置中均优于所有比较的非前沿方法。路由后的 4B 模型在所有指标上击败更大的 9B GRPO 救援基线,路由后的 9B 模型在 DBBench 上超越前沿参考模型。使用冻结策略的 Harness-S 优于 Meta-Harness,表明 sibling-pool harness 和任务特定选择具有价值。
在各个训练阶段,Top-8 Adaptive 及其 profile 重新锚定获得了最高的救援成功率,且所有救援策略相较 GRPO 基线都改善了最终测试性能。任务特定 harness 选择优于随机选择,而更广泛的 Top-8 探索比较少数 harness 的重复采样能恢复更多失败。自适应 profile 更新进一步改善了路由,优于固定 profile,并产生了最佳的最终 Pass@3 和 Avg@3。Top-8 Adaptive 在每个训练阶段都取得了最高的救援成功率,并取得了最佳的最终 Pass@3。与固定 profile 的 Top-8 相比,profile 重新锚定改善了最终 Avg@3,且所有救援策略都改善了 GRPO 之上的最终 Pass@3。
在 base harness 下,与 GRPO 相比,Harness-S 将策略行为转向更多的 schema 查询和显式验证,同时减少重复代码执行。在 SWE-Gym 上,当标准测试不可用时,Harness-S 更常使用断言检查和恢复行为。这些模式表明,选择性救援产生了在辅助支持移除后仍然存在的验证和接口使用行为。在 AppWorld 上,与 GRPO 相比,Harness-S 增加了首次 API 使用前的 schema 查询和显式分页,同时减少了重复执行代码。当 SWE-Gym 上的测试被阻止时,Harness-S 切换到断言检查的频率远高于 GRPO,并更频繁地重新访问失败目标或检查最终 diff。
在辅助支持下成功的训练救援后来会在支持移除后重新表现为正确的留出行为。在一个集合交集案例中,训练后的策略保留了所需的重叠并发送了正确的邮件,而基线使用了过度包含的并集并失败。在一个账户恢复案例中,训练后的策略跨应用迁移了密码重置和验证流程,而基线未能更改密码。训练后的策略将集合交集规则应用于新歌曲实例并发送正确的邮件,而 GRPO 发送了过度包含的并集。一次成功的 Venmo 账户恢复救援后来迁移到了 Amazon 实例,包括密码重置和验证。GRPO 请求了重置码并读取了收件箱,但在留出的账户恢复实例上未更改密码。
在 Harness-S 训练后,AppWorld 执行分数在所有 harness 上均有提高,而路由器的排序仍然具有预测性。base harness 成为更常见的排名第一选择,并超过了排名较低的任务特定 harness,不过排名第一的 harness 仍保有较小的 Pass@3 优势和更明显的 Avg@3 一致性优势。训练前,所有路由器排序的 harness 选择在两个执行指标上都优于 base harness,分数从 Rank-1 到 Rank-3 逐渐下降。训练后,base harness 迅速改善,并在 Pass@3 和 Avg@3 上超过了 Rank-2 和 Rank-3,而 Rank-1 仍然领先。路由器将 base harness 放在 Rank-1 的任务比例从 1.53% 上升到 22.52%,其中最大的偏好变化发生在 Rank-1。Rank-1 相对 base harness 的 Pass@3 优势从约 14 个百分点收窄到不到 1 个百分点,Avg@3 优势从约 13.5 个百分点收窄到 4.6 个百分点。保留下来的排序和剩余的 Avg@3 差距表明,任务特定执行支持在训练后继续改善一致性。
这些实验在 AppWorld、SWE-Gym 和 DBBench 的长时程 agent 任务上评估 Harness-S,涵盖仅策略训练、冻结策略 harness 优化、联合自适应和任务特定路由。Harness-S 在任务成功率和执行一致性上持续优于非前沿基线,自适应 Top-8 选择和 profile 重新锚定带来了最强的救援效果;路由使 4B 策略能够优于更大的 9B GRPO 救援基线,而 9B 模型在 DBBench 上超过前沿参考模型。行为分析表明,辅助支持下的成功救援会在支持移除后以验证和接口使用行为的形式持续存在;路由器排序仍具有预测性,任务特定 harness 支持在训练后继续改善一致性。