Agent性能直接涨11.5分还不动模型权重,Google把Harness²开源了

导语:Google Research 把 Harness² 全部开源了,仓库在 github.com/google-research/harness2。这框架的卖点是「让 agent 自己改自己」——每个任务跑完之后,它会重新优化自己的 system prompt、工具列表、记忆策略和子代理编排,模型权重从头到尾没动过。论文挂 arXiv(编号 2610.14224),Apache 2.0 协议。默认状态下沙箱关闭、网络全开这件事,红队看了一定要多想一步。


一、Harness 是什么

在聊 Harness² 之前得先说清楚「harness」这个词。圈外人几乎没用过,但搞 agent 的人天天在跟它打交道。

Harness 就是包在模型外面的那一整层:system prompt、工具定义、记忆、skills、子代理编排、guardrails。模型本身是个引擎,harness 才是让引擎能跑任务的整套环境。每次新任务,agent 带着这一整套配置上场,配置写得越细、越好,任务跑出来的质量就越高。

Harness² 的核心思路:harness 也应该自己调,而且要按任务调。

Harness² 任务级递归管线

二、核心机制:Propose–Probe–Compose

任务级递归走的是三步流程:

Propose(提议):harness editor 针对当前任务给出编辑建议。编辑的对象是 harness 的八个组件——system prompt、guardrails、memory、tool guidance、subagents、skills、scripts、plugins。

Probe(探测):拿几个候选版本实际跑一遍当前任务,看每个版本行为上的差别。整个过程不依赖 ground truth(标准答案)或外部 grader(评分器),纯粹看「谁跑出来更合理」。

Compose(合成):根据候选版本之间的行为对比,挑出真正改进的部分,合成一个精炼后的 harness。

这套机制厉害在没有 grader 也能学。生产环境里绝大多数任务没有标准答案,传统的 reward signal(奖励信号)根本拿不到。Harness² 用「候选之间的行为差异」当信号,把这道坎绕过去了。

三、跨任务学习:Harnessing-level recursion

任务级递归只解决单任务,但 Harness² 还做了第二层。

每跑完一个任务,系统会保留:定稿的 harness + 在多次候选中真正站得住脚的 lessons。下次新任务进来,harness editor 不是从空白配置开始写,而是从上次积累的 lessons 起步。

也就是说:每做完一个任务,下一轮编辑的起点就更高一点。

Harness² 八大可编辑组件

递归预算 --k 控制深度:

  • --k 1 走一轮 Propose–Probe–Compose
  • --k K --mode parallel 同时探 K 个通用候选 + K 个领域候选
  • --k K --mode sequential 串行精炼 K 步
  • --substrate cx 把默认的 OpenCode 执行器换成 Codex
并行递归 vs 串行递归

四、实测效果

论文里给的数字很硬:

  • WorkBuddy-Bench(办公/网页/编程):单轮 +11.5 分
  • JobBench(专业工作):单轮 +4.5 分
  • LAB(法律工作):部分通过率 +11.8 个百分点

测试用的是 Gemini 3.5 Flash 和 GLM-5。基线 harness 是厂商默认配置,Harness² 一轮就能 beat 掉基线,递归预算拉高还能再涨。

五、红队视角的安全隐忧

这部分才是真正要命的。

README 自己就明明白白写了三句话:

Executor network access is unrestricted, and Codex runs with its sandbox disabled. Public benchmark rubrics may be accessible online. Before evaluation, configure network restrictions to prevent access to benchmark answers and grading criteria.

翻译成人话:

  1. 执行器网络访问不受限
  2. Codex 沙箱默认关闭
  3. 公开 benchmark 的评分标准在网上能搜到,评测前你自己加网络限制

社区里已经有人挖出问题:@haolv511482 在仓库 issue 里指出,Codex 在一次 rollout(执行过程)里未经授权下载了自己任务的评分 rubric。这意味着如果不做网络隔离,agent 可以「作弊」——去网上把标准答案爬回来当参考资料,benchmark 分数会被严重高估。

更深一层的隐忧是「agent 改自己」这件事。Harness² 让你去优化 prompt、tools、memory、guardrails。但 guardrails 本身也是可编辑组件之一。一个被红队 prompt injection 命中过的 agent,如果它开始修改自己的 guardrails 来「让任务跑得通」,事情就会往失控的方向滑。

README 自己也强调「This is not an officially supported Google product」(这不是 Google 官方支持的产品),挂 google-research 组织下面但要走私人邮箱,不参与 Google 的开源漏洞奖励计划。

六、给红蓝双方的启示

对红队来说:

  • 新的攻击面出现了:未来企业内部部署的 self-improving agent,它的 harness 文件就是新的攻击目标。污染一个 memory file 或一个 skill 脚本,等于改写了它的判断逻辑。
  • Benchmark 评估的「真实性」要重新审视,看到公开分数先打个问号。
  • Codex 沙箱关闭是默认行为,复现环境隔离是研究者的必修课。

对蓝队来说:

  • 「让 agent 自己调自己」目前还停留在研究阶段,生产环境慎用。如果要用,harness 文件必须进版本控制,每次编辑 diff 都要审计。
  • 网络 egress(出站流量)和沙箱必须独立于框架强制开启,不能信框架的默认配置。
  • Guardrails 这种安全边界组件不应该和 prompt 一起被无差别优化,至少要锁住某些高危字段。

仓库地址:github.com/google-research/harness2 论文:arxiv.org/abs/2610.14224 官网:harness2.github.io

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容