微软与 UCSB 提出 ScholarEvolve:用论文进化 Agent Harness
Оригинальный заголовок: 微软提出 ScholarEvolve:用论文进化 Agent Harness
Заголовок и краткое изложение на выбранном языке ожидают перевода.
微软与加州大学圣巴巴拉分校研究者公开论文 ScholarEvolve,从已发表的 Agent 研究中寻找改进思路,写进 Harness 后用真实任务检验,执行任务的模型保持不变。
Полный текст на выбранном языке ожидает перевода. Пока показан оригинал.
模型不换也能继续升级
微软与加州大学圣巴巴拉分校(UCSB)的研究者,前几天公开了一篇论文,提出 ScholarEvolve:从已发表的 Agent 研究里寻找改进办法,把它们写进运行框架,再用真实任务检验效果。
它改的是 Harness——围绕模型组织工具、上下文、记忆和执行流程的软件。执行任务的模型保持不变,新的能力来自这套软件怎样为模型提供信息、安排决策和执行动作。
论文在 AppWorld 和 τ²-Bench Telecom 两个交互环境中做了实验。经过框架演化,Qwen3.5-27B 在 AppWorld Challenge 上的任务完成率从 49.6% 提升到 63.6%;GPT-5.4-mini 在 Telecom 上的单次成功率从 72.7% 提升到 81.9%。同一个模型,换一套经过搜索和验证的 Harness,能把更多任务做成。
ScholarEvolve 有意思的地方,在于它把文献阅读接到了工程改进上:论文提供候选思路,编码 Agent 负责实现,任务结果决定哪些改动留下。新论文还可以继续加入,成为下一轮改进的起点。
失败日志之外,还有已经发表的办法
让 Agent 自动改 Harness,已有一种直接的做法:运行任务,读失败记录,让编码 Agent 改代码,再跑任务。论文中的 Meta Harness 对照就沿着这条路线。
这条路能发现具体错误。不过,失败记录通常只包含当前系统怎样走错了,合适的改法还要靠编码 Agent 自己想。一个过于保守的 verifier 挡住了正常工具调用,继续叠检查和重试,未必能解决问题。论文用这个例子说明,搜索可能一直围绕相近的方案打转。
ScholarEvolve 仍然读失败轨迹,只是把下一步接到研究文献上。它先识别反复出现、能够归因到 Agent 的问题,再去掉应用名、具体实体和 API 字段,提炼成可检索的能力缺口。忘记已经查到的信息,可以指向状态跟踪、记忆检索,也可以指向上下文选择。
为了承接这些不同改法,它把 Harness 拆成五个模块:工具接口、上下文、Skills、记忆和工作流。每个模块有明确的输入输出,能单独替换,也能与其他模块重新组合。
工具接口 Skills与工作流的改动位置
上下文 记忆与独立测试约束
这个拆分给文献里的方法找到了具体落点。记忆模块可以保存并检索经验,上下文模块决定把哪些经验送进模型,工作流则决定模型怎样形成下一步动作。同一个失败,可以尝试从几个位置解决,而不是只在原来的调用链上继续补丁。
一篇论文怎样变成一次框架升级
有了能力缺口,研究 Agent 会为各模块生成检索词,从 arXiv 收集论文标题、摘要和链接。接着,TopicGPT 在模块内部整理、合并和分配主题,把论文按可实现的机制分组。
例如,上下文管理里,按相关性选择片段、改写压缩文本、按预算分配内容,是几条不同的路线。含义重复的主题需要合并,过于模糊或无关的方向需要排除;当前 Harness 或模型已经具备的机制,也不再占一次改动机会。
主实验在 AppWorld 上为每个模块安排四个论文候选,总共二十个。系统从不同机制组里轮流选取,让有限的实现尝试覆盖不同办法。如果只按相关性排序,几篇高度相似的研究就可能用完一个模块的机会。
失败分析 文献检索 主题分组与修改蓝图
选中的论文随后才进入完整阅读,包括必要附录和可取得的官方代码。研究 Agent 把方法整理成修改蓝图:它依赖什么假设,适合哪个模块,需要保存哪些状态,增加哪些模型调用,以及怎样接上现有接口。编码 Agent 拿着蓝图与当前实现,一次改一个模块。主实验的研究选择与编码都使用 GPT-5.4,执行任务则仍由原来的 Qwen3.5-27B 或 GPT-5.4-mini 完成。
候选首先要能正常运行:可以导入,接口兼容,经验材料能生成和重新加载,也能产生合法动作。通过这些检查后,才运行验证任务,测量这一处修改带来的变化。
论文附录中的实际代码,让这一轮的结果更容易理解。
其中一个 Skills 实现借鉴 Skill-as-Pseudocode:从成功轨迹里提取反复出现的 API 调用序列,整理为带输入、输出、触发线索和执行顺序的伪代码过程,并记录模式出现的次数。遇到新任务时,系统按任务词语与触发线索的匹配程度、历史支持次数,取回相关过程。
记忆模块保存的则是带结果的任务经验:当时要做什么,走过哪些步骤,调用了哪些 API,工具返回了什么,最后有没有完成。它按当前任务检索相关摘要,给模型一个具体参照。
取回的 Skills、记忆和本轮交互历史随后进入上下文模块。这里按相关性与新近程度分配字符预算,保留系统要求,再把选中片段恢复到原来的时间顺序。模型既能看到较有用的信息,也能知道事情先后怎样发生。
在工作流中,planner、solver 和 critic 用同一个任务模型、以不同角色提出下一步动作,verifier 从中选择一项。工具接口最后提取 Python 动作、检查语法和语句结构;需要查询 API 文档时,还能把文档查询展开为真正的执行步骤。
这些改动串起来,改变了模型做任务时的一轮输入、决策与动作。构建 Skills 和记忆所用的经验来自演化任务,进入验证和正式测试时,这些材料会冻结;正在执行的任务内部,临时状态仍然可以更新。
好模块,还得搭得起来
一个模块单独有效,放进完整系统后可能产生不同结果。ScholarEvolve 因此还要搜索组合:先用单模块收益筛选值得尝试的搭配,再让入围的完整 Harness 真正执行验证任务。
论文有一个很具体的发现。在 Qwen 的组合分析中,一个 Skills 候选单独使用时得分 75.4%;换成单独得分较低的 73.7% 候选,完整组合反而从 80.7% 升到 84.8%。单模块排名,没有给出最好的组合。
表3 单模块与组合的开发集结果
这张表对应 AppWorld 的 57 项开发任务,每项配置评测三次。Qwen 的组合采用五个演化模块,GPT-5.4-mini 则只替换 Skills、记忆和工作流,保留原有工具与上下文。表中的组合分析与 Qwen 主测试方案使用了不同的 Skills 实现,是为了研究模块配合。
方法来自论文,也要接受当前环境的检验。Qwen 的二十个候选里,十七个单独使用时提高了开发集任务完成率,但其中只有八个的配对 bootstrap 90% 置信区间完全高于零;三个候选掉分,两个上下文改法甚至下降了四十多个百分点。
整个搜索过程最终保留的是验证过的组合。系统用任务配对的 bootstrap 比较新旧版本,确认收益后才更新冠军,再冻结代码和经验材料,进入测试集。
成绩提高,发生在什么任务上
AppWorld 要求 Agent 调用不同应用的 API 完成用户任务。Challenge 的 417 项测试任务需要使用 Amazon 或 Gmail,这两个应用没有出现在演化和验证任务中。演化得到的同一套实现和经验材料,要直接面对这些新应用。
Qwen3.5-27B 在这里从 49.6% 提升到 63.6%,增加了 14 个百分点。只依据执行反馈改码的 Meta Harness 得到 54.6%。要求同一场景的三种任务变体都完成时,初始框架为 28.3%,Meta Harness 为 32.9%,ScholarEvolve 为 44.8%。
Challenge结果 TGC为任务完成率 SGC要求场景三种变体全部成功
在 AppWorld Normal 的 168 项测试任务上,Qwen 的任务完成率也从 69.0% 升到 81.4%。另一个任务模型 GPT-5.4-mini 在 Challenge 上从 46.1% 升到 55.6%。这项改进同时出现在两个模型上,也延伸到了没有用于演化的新应用。
τ²-Bench Telecom 检验的是另一种过程:Agent 根据支持手册、工具返回和用户沟通,处理电信服务问题。GPT-5.4-mini 的结果如下:
框架 | 单次成功率 | 四次全部成功 |
|---|---|---|
初始框架 | 72.7% | 49.2% |
Meta Harness | 66.5% | 39.2% |
ScholarEvolve | 81.9% | 58.3% |
Telecom 使用 40 项测试任务,每次评测对每题尝试四次,表中报告三次独立评测的均值。单次成功率衡量这些尝试中成功的比例,最后一列则要求四次全成功。两项指标一起提高,说明收益既包括更容易做成,也包括重复执行时更稳。
这种稳定性在 AppWorld 上也能看到。全部 585 项测试任务中,Qwen 有 221 项任务的成功次数增加,其中 73.3% 原本就曾在三次执行里成功过一两次。三次全部成功的任务从 205 项增加到 333 项,同时有 57 项任务退步。
作者回看的两个案例很直观:一个任务中,演化后的 Agent 先找到并更新已有对象,不再另建一个;另一个任务中,它先清掉购物车里的旧状态,再执行当前要求。这两个任务都从三次失败变成三次成功。
改进仍然有侧重。失败轨迹里,回复格式不合法的次数从 492 降到 206,违反约束和检索不完整的问题变化较小。框架演化在动作与结果交付上带来了明显收益,需求跟踪与证据覆盖仍有空间。
实验让初始和演化后的 Harness 使用相同任务模型配置、环境步数上限;两种演化方法也获得相同分配的搜索 rollout 预算。不过,多角色工作流可以增加模型调用,文献阅读和候选实现需要额外投入。论文没有给出完整的端到端费用与延迟对照,这些成绩衡量的是任务表现。
研究继续发表,框架继续改进
ScholarEvolve 还做了一项连续演化实验。研究者把文献按三个不重叠的时间窗口加入:截至 2025 年 12 月、2026 年 1—4 月,以及 5—8 月。每轮从当前冠军出发,寻找新机制、构建候选,再测试组合。
这一过程中,Qwen3.5-27B 的权重、已有经验轨迹和派生材料一直固定。三轮之后,AppWorld Normal 的任务完成率从 69.0% 升到约 81.5%,三种任务变体全部成功的比例从 48.8% 升到约 66.7%。
按三个发表时间窗口引入新论文后的连续演化结果
这是按历史发表时间组织的实验,尚不是线上 Agent 长期自行更新的运行记录。不过,它给出了一个具体的改进来源:任务模型与已有经验不变,新发表的研究仍能提供尚未尝试的方案。
ScholarEvolve 展示的这条路值得继续看:把论文里的设计变成接口兼容的实现,再让任务执行决定它是否真的适合当前 Agent。
参考链接
论文:Learning from Research: Toward Lifelong Agent Harness Evolution:https://arxiv.org/abs/2609.40169
ScholarEvolve 官方仓库:https://github.com/UCSB-NLP-Chang/ScholarEvolve
Источник: AINLP · mp.weixin.qq.com