桃子桃子快讯
返回首页
工具

开源项目提出「训练 Harness」思路:冻结大模型,靠优化外壳提分

开发者发布类 PyTorch 训练框架,通过逐轮 diff 优化 LLM 周围的 prompt、上下文与工具链,在 SW…

2026.07.22 · 周三3 分钟阅读

Show HN 上线的新项目「Freeze the Model, Train the Harness」提出一个颇具实验性的思路:在不动 LLM 权重的前提下,对模型外围的 prompt、上下文管理、工具调用与错误修复回路进行「训练」,从而系统性地提升 agent 在编程基准上的表现。

核心思路:冻结模型,训练 Harness

作者把 LLM 视为一个固定算子,把注意力放在包裹模型的「harness」(即一个可编辑的 Python 文件)上。Harness 决定模型看到什么上下文、能调用哪些工具、如何从错误中恢复——这些恰恰是当前 agent 系统表现差异最大的环节。把可调参数集中在这一层,就能用与训练神经网络类似的方式进行优化,而代价远小于微调模型本身。

训练机制:diff + Pareto 升级

项目把训练循环抽象成与 PyTorch 相近的接口:

  • 每个 epoch 由一个 agent 提出对 harness 的修改建议(diff);
  • diff 在一组任务面板(task panel)上跑分,与基线对比;
  • 采用严格的 Pareto 准则判断是否「晋升」该改动;
  • 真正生效时,对应的是一次 git fast-forward;若未通过则把提交以 git ref 形式存档。

作者戏称 optimizer.step() 在字面意义上就是一次 git 推进。这种「把训练过程沉淀为可回放、可审计的版本历史」的设计,是整个框架最具辨识度的工程选择。

实验结果:跨任务、跨模型迁移

作者报告了两类关键观察:

  • 跨任务迁移:在 SWE-Bench 任务上训练得到的 harness,可以直接用于 Terminal Bench 任务并取得提升,提示 harness 学到的是相对通用的 agent 策略,而非过拟合于某个基准。
  • 跨模型家族迁移:同一份训练好的 harness 在多个不同模型家族上都能带来能力增益,并在 Terminal Bench 2.0 上超过了官方的 Terminus Harness。

不过,文中并未给出具体的百分比或绝对分数,读者目前只能从作者的博客与个人陈述中获取结论,独立复现门槛较高。

框架设计与扩展性

项目同时开源了一个通用的、PyTorch 风格的训练框架。当前默认支持任何 OpenAI 兼容的 API 作为任务 LLM 的接口,并内置 Terminal-Bench、SWE-Bench 任务环境,扩展到自定义任务只需添加新的环境适配层。对于希望系统化迭代 agent harness 的团队,这提供了一种「无需重新训练基模」的轻量化路径。

整体而言,这一工作把 agent 优化从「凭经验调 prompt」推向「以版本化、可度量的方式自动搜索 harness」,思路清晰、工程实现完整,但影响力仍有待社区复现和进一步验证。

信源