大数跨境

Google 开源 Harness²,让 Agent 学会自己进化

Google 开源 Harness²,让 Agent 学会自己进化 AINLP
2026-10-23
13
导读:有些坑终于不用反复踩了

Google Research 开源了 Harness²:一个让 Agent 面对新任务时,自己改进运行框架、再把改进经验留给后续任务的项目。

论文在办公、专业工作和法律任务上做了测试。GLM-5 配合 OpenCode,在 WorkBuddy-Bench 上只进行一轮改进,平均分就从 64.2 提到 75.7。

先修好一次交付

论文里的一个 JobBench 任务,是替制作团队整理排期、人员和预算,产出彼此对应的交付文件。

Gemini 3.5 Flash 跑在原版 OpenCode 里,第一次只拿到 43.1 分。研究者翻看执行记录,发现了两个问题:几份源文件里的数字没有交叉核对;输出文件写完以后,也没有重新打开检查。

Harness² 先补工作流程:分析前先盘点全部输入,每个数字追到对应来源;交付前运行检查脚本,重新打开产物。再补这类任务的具体做法:排期、场地、用工和预算怎样对齐,文件冲突时以谁为准,哪些支出已经确定、哪些还附带条件。

工具说明也加上了具体处理办法:表格里的 "$50" 和 "1,200",先去掉符号和逗号,再参与运算。

检查脚本还会重新打开表格,确认写入的公式已经算出结果。

几项修改组合起来后,Agent 重跑了同一个任务。这次数字对上了,备忘录缺失的部分也补齐了,得分来到 77.8。

论文图9:同一制作统筹任务的失败、框架修改和重跑结果

论文图9:同一制作统筹任务的失败、框架修改和重跑结果

让执行记录决定怎么改

新任务没有标准答案,Harness² 怎样选择改法?

Harness² 先保留原版框架跑出的轨迹和文件,把它们作为对照。接着,两位编辑 Agent 分头起草候选框架:一个查跨任务都会出现的问题,比如规划、工具调用、上下文和分工;另一个查当前领域的知识与流程。

编辑 Agent 可以直接修改八类组件,包括系统提示词、记忆、Skill、执行脚本、子 Agent,以及工具调用外层的插件。

各个候选框架随后在相同模型和环境配置下重跑同一个任务,检查新增核对有没有执行、脚本能否打开产物,以及修改是否引入了新问题。

Composer 再读取这些执行记录和文件差异,选择有依据的改动进行组合。有冲突就调整,只保留一个候选也可以,证据不够时也可以维持原样。组合后的框架还要实际跑一遍,得到最终交付物。

论文图3:当前任务的修改、试跑与组合,以及跨任务的经验更新

论文图3:当前任务的修改、试跑与组合,以及跨任务的经验更新

这轮选择依据任务要求、源材料和执行差异,不使用评测标准答案;模型的共同偏差和运行随机性仍可能影响判断。

把经验留给下一道题

一次任务结束后,Reflector 会回看整轮过程:哪里暴露了问题,试了哪些修改,哪些得到执行证据支持,又出现了什么副作用。

值得留下的,会连同可执行框架一起进入改进库。每条记录有一份 EXPERIENCE.md,写清适用情境、经验和支撑它的观察;证据不足,就不新增经验条目。

下一道任务仍从共同的基础框架出发。 编辑 Agent 按需查库,复用或调整其中的组件,不把上一题的整套特殊流程直接搬过来。

这也是 Harness² 名字里“平方”的意思:一层改眼前执行任务的 harness,另一层积累“怎样改 harness”的经验,帮助后面的修改。

论文专门拿掉经验库做了对照。Gemini 3.5 Flash 配合 OpenCode、只改进一轮时,WorkBuddy-Bench 从 77.5 降到 74.4,JobBench 从 36.0 降到 34.2。把两位有明确分工的编辑换成通用编辑,或者取消组合环节,也都会掉分。

论文表3:移除经验库、编辑分工或组合环节后的结果

论文表3:移除经验库、编辑分工或组合环节后的结果

团队还把 JobBench 上积累的库带到 WorkBuddy-Bench,代码、网页和办公三类任务分别多了 0.6、0.5 和 2.9 分。

同一个模型的提升空间

主实验用了 Gemini 3.5 Flash 和 GLM-5,分别搭配 OpenCode、Codex,两两组成四种配置。除了 WorkBuddy-Bench,还测了长流程专业任务 JobBench,以及法律工作基准 LAB;主表是三次打乱任务顺序运行后的均值。

一轮改进后,四种配置在三个基准上都超过各自基础框架。最大的提升分别达到 11.5 分、4.5 分,以及 LAB 按评分细则计算的通过率增加 11.8 个百分点。这些最大值来自不同配置。

增加计算预算后,可以并行探索更多候选再组合,也可以沿前一版框架继续修改。

在 Gemini 3.5 Flash+OpenCode 这组配置里,把并行探索预算从 k=1 提到 k=5,WorkBuddy-Bench 的平均分从 77.5 升到 80.8,相对基础框架总共高了 8.4 分。JobBench 则从 36.0 升到 39.0,相对基础框架高 7.5 分。

论文图1:Gemini 3.5 Flash+OpenCode 的分项结果与预算扩展,左侧使用k=5

论文图1:Gemini 3.5 Flash+OpenCode 的分项结果与预算扩展,左侧使用k=5

Google DeepMind 开发者 Philipp Schmid 的发布介绍,重点提到的也是这组结果,以及 Skill、脚本和跨任务经验的作用。

论文将试跑、编辑和最终执行的 token 一并计入成本。即使最后一次执行更省,额外改进仍可能增加整轮开销。

主实验默认由 Claude Opus 4.8 担任框架编辑。团队又做了一组“自己改自己”的实验:同一个模型同时负责执行和编辑,在 OpenCode、k=2 的设置下,从 GLM-5、Gemini 3.5 Flash 到 Opus 5,五款模型在三个基准上都获得了提升。

论文图8:同一模型兼任执行与编辑时的结果,OpenCode与k=2设置

论文图8:同一模型兼任执行与编辑时的结果,OpenCode与k=2设置

开源仓库支持 OpenCode 和 Codex 执行器,提供三组基准的运行入口,也附有不需要模型凭据的小型演示。

参考链接

  • 论文:Harness²: Recursive Agent Harnessing for an Open World:https://arxiv.org/abs/2610.14224v1
  • 代码与演示:https://github.com/google-research/harness2

【声明】内容源于网络
0
0
AINLP
一个有趣有AI的自然语言处理公众号:关注AI、NLP、大模型LLM、机器学习、推荐系统、计算广告等相关技术。公众号可直接对话双语聊天机器人,尝试对对联、作诗机、藏头诗生成器、自动写作等,查询相似词,测试NLP相关工具包。
内容 6082
粉丝 0
AINLP 一个有趣有AI的自然语言处理公众号:关注AI、NLP、大模型LLM、机器学习、推荐系统、计算广告等相关技术。公众号可直接对话双语聊天机器人,尝试对对联、作诗机、藏头诗生成器、自动写作等,查询相似词,测试NLP相关工具包。
总阅读37.2k
粉丝0
内容6.1k