训练一个用于模型无关和任务环境无关的能力改进的harness,基于类似PyTorch的框架 [P]

Reddit r/MachineLearning 工具

摘要

介绍了一个训练框架,以模型无关和任务环境无关的方式提升任务型LLM的能力,并在Terminal Bench和SWE-Bench上展示了结果。

在过去的几个月里,我参与了该项目(https://github.com/workofart/harness-training),将“基于Agent的自改进训练框架”重新定义为“训练框架(Harness Training)”。其核心理念是:首先,利用固定的任务LLM在特定任务环境中一次性训练出训练框架;随后,你可以在任意新任务环境中,用其他任务LLM替换原来的任务LLM,并借助该“固定训练框架”进行评估。鉴于这是一个通用问题,我借此机会创建了一个类似PyTorch的通用训练框架。目前,你可以通过任何兼容OpenAI的API来与任务LLM进行交互,并能针对Terminal-Bench或SWE-Bench任务进行训练,同时你可以轻松扩展它来支持任意任务环境。 ``` criterion = StrictPareto() optimizer = GreedyMonotonic() trainer = Trainer( config_path="config/train_harness.yaml", estimator=AgenticEstimator( backend=CodexAgentBackend(...) ), criterion=criterion, optimizer=optimizer, ) for loss in trainer.epochs(30): # 记录基线vs候选的判断结果 loss.backward() # 优化器要么将候选变更(git commit)快速推进为新基线,要么拒绝它(保留为git引用) optimizer.step() ``` 我写了一篇关于此过程的博客文章(https://www.henrypan.com/blog/2026-07-18-harness-training),内容包括(但不限于): - 使用此训练框架提升多个任务LLM的通用能力,从而击败Terminal Bench 2.0(Terminus训练框架)的结果,以及将在未见任务环境中的学习迁移到更好的任务解决能力(例如,在SWE-Bench任务上训练的训练框架能够解决Terminal Bench任务)。 - 该框架的构建方式。 - 关于项目初始版本中缺失的部分(提示:确定性)的经验总结。 欢迎任何反馈。谢谢!
查看原文

相似文章

Self-Harness: 自我改进的Harness

Hacker News Top

Self-Harness 提出了一种新范式,其中基于LLM的智能体通过挖掘模型特定的弱点、提出框架修改,并通过回归测试验证这些修改,从而迭代地改进自身的运行框架,在Terminal-Bench-2.0上跨多个基础模型取得了显著的性能提升。

面向执行轨迹的推理时对齐框架

arXiv cs.LG

本文研究LLM智能体的框架设计,将其分解为任务拆解和引导执行,并展示了更精细的框架并非一致更好;它揭示了失败模式,并提出了部分框架的有效性。

不是能力问题:LLM智能体层级间的控制敏感度是非单调的

arXiv cs.AI

本文通过实证测试了“更结构化的控制(harness)能普遍提高LLM智能体可靠性”这一常见假设,发现不同模型层级间存在非单调关系。它引入了HEAT-24基准,并揭示了严格的控制可能会损害前沿聊天模型,但有利于推理模型。