Command Palette
Search for a command to run...
MemoHarness:从执行经验中学习的智能体控制框架
MemoHarness:从执行经验中学习的智能体控制框架
Yue Huang Wenjie Wang Han Bao Yuchen Ma Xiaonan Luo Yi Nian Haomin Zhuang Zheyuan Liu Yue Zhao Xiangliang Zhang
摘要
智能体控制框架(agent harness)是位于基础大语言模型之上的外部控制层,通过管理上下文、工具、编排、记忆、解码和输出处理,将模型转化为可执行的智能体。尽管控制框架的设计显著影响智能体行为,但大多数自动改进方法仅优化提示、流水线或工作流等更窄的构件,且部署的智能体通常在所有场景中复用同一个全局控制框架。我们提出 MemoHarness,一个从自身执行经验中学习的自适应控制框架优化方法。MemoHarness 将控制框架分解为六个可编辑的控制维度,在双层经验库中存储逐案例的诊断信息和提炼出的全局模式,并利用检索到的经验将学习到的控制框架适配到每个测试案例,无需测试时标签、反馈或额外搜索。在 shell 智能体、代码生成和分析推理基准上的评估中,MemoHarness 相较于我们对比的固定控制框架取得了性能提升,并展现出对未见测试套件和基础模型的选择性迁移能力。当大部分检索到的经验可被缓存时,其额外引入的上下文开销在成本上仍具竞争力。这些结果表明,执行经验是构建比单一静态配置更具适应性的智能体控制框架的实用基础,而关于统计鲁棒性和组件归因的更广泛论断则留待未来工作。
一句话总结
圣母大学、慕尼黑大学和南加州大学的研究者提出 MemoHarness,一种自适应 agent 套件优化框架,将套件分解为六个可编辑的控制维度,通过双层经验库(每案例诊断与提炼的全局模式)从自身执行中学习,并利用检索到的经验在无测试时标签或搜索的情况下为每个测试案例适配套件,在 shell-agent、代码生成和分析推理基准上均展现出改进效果。
核心贡献
- 该框架将 agent 套件分解为六个可编辑的控制面,并使用双层经验库,使搜索积累可复用的诊断知识,而非仅获得标量分数。
- 一种测试时适配机制,通过检索过去的成功、失败和全局模式,将搜索得到的全局套件适配到每个新案例,无需测试时反馈、梯度更新或额外的搜索轮次。
- 在 shell-agent、代码生成和分析推理基准上,MemoHarness 相比固定套件基线提升了任务成功率,展示了对未见评测集和保留基座模型的选择性正向迁移,并在检索上下文可缓存的情况下保持成本竞争力。
引言
基于 LLM 的 agent 的性能在很大程度上取决于其周围的 control layer(即“agent 套件”),该层负责上下文构建、工具访问、推理编排、记忆和输出处理。即使基座模型和工具保持不变,套件设计也能显著改变任务成功率。此前的工作主要关注优化提示或静态工作流等孤立组件,而现有的套件级方法仅产生单一、固定的配置,无法在测试时在无额外标签或搜索运行的情况下进行适配。作者通过引入 MemoHarness 来解决这些局限性,该框架从过去的执行中学习,联合优化六个套件维度,并利用检索到的经验为每个新案例适配套件,整个过程无需测试时反馈。
方法
作者提出 MemoHarness,一种用于自适应套件优化的框架,在训练时搜索阶段学习全局基础套件,并在测试时应用针对特定案例的适配。如下图所示,整体流程分解为这两个不同的阶段。
为了实现结构化的诊断和修复,作者将套件分解为一个六维空间,而非将其视为一个整体提示。一种套件配置被定义为乘积空间 W∈W=W(1)×⋯×W(6) 中的一个元素,其中每个组件控制推理流程中一个不同的功能阶段,例如上下文组装、工具接口、生成策略、编排、记忆管理和输出处理。这种分解将套件搜索转变为对可分离控制面的结构化编辑。
在训练时搜索阶段,系统在带标签的搜索集 Dsearch={(ui,ϕi,yi⋆)}i=1n 上运行。该过程从一个最小化套件 W0 开始,并迭代进行。在每次迭代 t,控制器基于当前套件和累积的经验库形成一个查询,检索一个有限证据片段以提出下一个配置 Wt。所提出的套件在每个搜索案例上执行,以收集执行轨迹 τi(Wt),计算任务奖励 ri(Wt),并测量执行成本 ci(Wt)=nitok(Wt)。
为了有效引导搜索,作者维护一个双层经验库 Bt=(Et,Gt)。第一层 Et 存储每个案例的执行条目,记录配置增量、轨迹、奖励、成本和指示成功或失败维度的诊断信号。第二层 Gt 包含定期从失败簇中提取的提炼全局模式,总结重复出现的现象以及针对性套件更改的预期效果。
最终全局套件 W⋆ 的选择遵循正确性优先原则。作者为每个候选计算平均任务奖励 rˉt 和平均成本 cˉt。最优套件通过字典序选择:
W⋆∈lex,Wt∈Cfeasargmax(rˉt,−cˉt)这确保了首要的正确性首先被优化,而更低的 token 使用量严格作为次要的打破平局因素。
在测试时案例适配阶段,系统在无标注的评估案例上运行,无需迭代反馈。对于给定的测试案例 x=(u,ϕ),控制器从冻结的经验库 BT 中检索相关的全局模式和特征匹配的历史片段。它通过计算指令表示之间的余弦相似度,具体识别最相似的成功和失败训练示例:
ρψ(x,ξ)=cos(ψ(u),ψ(uξ))利用 top-K 个相似的成功和失败条目以及检索到的全局模式,控制器构建一个测试时证据片段。以该证据为条件,控制器发出一个特定于案例的套件 W(x)=Πtest(W⋆,x,Stest(x)),然后执行该套件以产生最终预测。这种设计使简单的案例保持轻量,同时仅在检索到的经验表明有必要时,才允许复杂案例调用更丰富的编排。
实验
评估涵盖三个任务家族(Terminal-Bench、LiveCodeBench、FinanceAgent),并将 MemoHarness 与强基线进行比较,表明自适应套件优化能带来一致的收益,尤其是在长时程 agent 工作负载上,搜索在迭代过程中发现了有益的编辑。学习到的套件能正向迁移到未见过的评估套件和跨不同基座模型,其中来自终端导向套件的提升最为广泛,表明某些控制决策可以泛化到源任务之外。在缓存假设下,该方法仍具成本效益,因为大部分检索到的上下文是可复用的。
MemoHarness 的套件空间将推理分解为六个功能阶段,从上下文组装到输出处理,从而实现对可分离控制面的结构化编辑。学习到的套件能在任务和模型间迁移,当源搜索任务是长时程且以工具为中心时,收益最大,并且通过缓存大部分检索到的上下文,该方法仍具成本效益。将套件分解为六个维度,允许在推理的每个阶段进行针对性的诊断和修复。在 Terminal-Bench 上学习到的套件改进了 MMMLU、StrongReject 和 SWE-Bench Pro,而饱和基准则无变化。将一个从 GPT-5.3-Codex 学习到的套件迁移到六个其他模型,平均提升为 +0.098,每个模型都优于其基础设置。最强的迁移发生在源搜索任务是长时程且以工具为中心时,表明某些控制决策可以跨评估套件泛化。MemoHarness 因经验检索使用了更多的输入 token,但大部分被缓存,导致报告成本低于 Codex 和 Claude Code,同时实现了更高的任务成功率。
从以工具为中心的搜索任务中学到的 MemoHarness 套件,在共享的 Codex 基线上改善了跨数据集泛化能力,其中源自 Terminal-Bench 的套件带来了最广泛的收益。收益主要出现在非饱和基准上,如 MMMLU、StrongReject 和 SWE-Bench Pro,而已经饱和的套件则保持不变。迁移强度因搜索源而异,长时程以工具为中心的任务能产生更具可移植性的控制决策。源自 Terminal-Bench 的 MemoHarness 提供了最广泛的提升,在共享的 Codex 基线上改进了 MMMLU、StrongReject 和 SWE-Bench Pro。源自 LiveCodeBench 的套件改进了 MMMLU 和 StrongReject,而源自 FinanceAgent 的套件主要改进了 StrongReject 和 LawBench。如 HumanEvalFix 和 Reasoning-Gym-Easy 等饱和基准在所有 MemoHarness 变体上均无变化。LawBench 结果仍然好坏参半,仅源自 FinanceAgent 的套件显示出微弱收益,而源自 LiveCodeBench 的套件则略微降低了性能。最强的跨数据集迁移发生在搜索源是长时程且以工具为中心时,表明学习到的控制决策可以在评估套件变化后依然有效。
通过在一个模型上搜索优化的套件,能正向迁移到在终端任务上未见过的多种模型,每个测试模型都优于其基础配置。六个迁移模型的平均增益为 +0.098,范围从 +0.038 到 +0.233,而源模型保留了其原有的改进。所有六个迁移模型都优于其基础设置,增益从 GPT-4.1 的 +0.038 到 GLM-5 的 +0.233。源模型 GPT-5.3-Codex 保留了其 +0.084 的改进,跨模型的平均迁移增益为 +0.098。该套件在无需重新优化的情况下迁移,表明在终端任务上存在一种用于上下文收集、工具调用和输出最终化的可移植执行策略。在更强的基座模型(如 GPT-4.1)上增益较小,表明经过良好校准的默认设置可能留有的套件驱动改进空间较小。
MemoHarness 在缓存感知的计费协议下,实现了高于 Codex 的任务成功率,同时总成本更低,这主要因为其大部分额外的输入 token 由缓存提供。Terminus 和 OpenCode 仍是最便宜的选项,但准确率显著更低。MemoHarness 使用的原始输入 token 比任何其他框架都多,但其 14.18M 输入 token 中有 13.32M 被缓存,非缓存输入仅 0.86M。MemoHarness 的报告成本为 6.89,低于Codex(10.28) 和 Claude Code (9.51),尽管MemoHarness实现了更高的任务成功率。OpenCode报告成本最低,为2.34,这得益于高缓存命中率(5.48M 输入中缓存 5.07M)和极少的非缓存 token,但其准确率显著较低。Terminus 以 $6.68 的成本实现第二低,其总输入 token 少于 MemoHarness,但其准确率仍远低于 MemoHarness。
MemoHarness 将推理分解为六个功能阶段,实现对可分离控制面的结构化编辑。实验表明,在长时程、以工具为中心的搜索任务上学习到的套件能有效跨多种基准和模型迁移,改进非饱和评估的性能,同时让已饱和的评估保持不变。该方法还能在无需重新优化的情况下跨模型迁移,带来一致的收益,并且通过缓存大部分检索到的上下文,以更低的报告成本实现了高于 Codex 和 Claude Code 的任务成功率。