☰
EMHO :通过经验轨迹优化具身智能体的 Harness
2026/10/21 2:29:46 网站建设 项目流程

论文:EMHO: EMBODIED AGENT HARNESS OPTIMIZATION VIA EXPERIENCE TRACES,来自Korea Univ. / UW–Madison,2026 年 10 月。

一、动机

  1. Harness 很重要,但一直靠人工设计。提升具身智能体,大家通常想到的是换更强的 VLM 或做训练。但即使模型冻结不动,它外面那层系统(论文称为 harness)也会明显影响效果。harness 包括规划、上下文与记忆构建、视觉工具调用、观测呈现、动作校验和失败恢复。目前这一层基本靠人手写。
  2. 具身环境的反馈又少又不说明原因。编程类 agent 能拿到失败的测试、异常栈这类有诊断价值的信号,所以 Meta-Harness、Self-Harness 这类自动优化 harness 的方法可行。具身环境通常只给两种信号:
    • 动作级的合法性反馈(valid / invalid / blocked);
    • 回合结束时的 0/1 成功信号。

一个回合有很多步,很难判断是哪一步导致了失败。

  1. 现有具身自我改进方法的范围太窄。EmbodiSkill、VASO、ASPIRE、Zetta 等只改技能或恢复模块。如果问题出在进度判断、工具调度或视觉 grounding,只改技能解决不了根本原因。

论文的核心问题是:在稀疏、诊断性弱的反馈下,具身智能体能否直接从经验轨迹中改进整个 harness?

二、主要创新

  1. 把整个 harness 当作优化对象(EMHO)。模型冻结,优化对象从“技能 / 恢复提示”扩大到整套 harness 的代码和提示文件,包括规划、记忆、工具编排和校验。
  2. EMHO-Merge:多子任务共享一个 harness 时的增益–损失感知修复。把各子任务的经验混在一起,容易让改动之间互相冲突。论文的例子是:“遇阻先侧移”这条规则在 Base 任务上有效,却在 Long-horizon 任务中把 agent 引向障碍物。EMHO-Merge 的做法是:
    • 找出由失败变成功(增益 G)和由成功变失败(损失 L)的回合;
    • 对比这两类回合的轨迹,找出能区分“有用 / 有害”的可观测条件;
    • 据此收窄这条行为的触发条件,而不是直接丢掉它。

3. 分析发现 harness 改变的不只是失败恢复。演化后的 harness 还改变了 agent 如何监控进度、如何调度感知工具、如何把视觉观测落实到动作上。此外有两个时间上的规律:

    • 早期修改以恢复类为主,非恢复类修改出现得较晚;
    • 规则会逐步细化,而不是被替换。例如从“不要重复被阻挡的动作”,逐步变成依据阻挡方向、目标朝向和绕障距离来选择应对方式。

如图 2 所示 EMHO和EMHO- Merge之间的俘虏:

三、方法要点

优化目标:在 harness 空间中寻找 H^*^ = argmax_H {E}_e[y_e(M,H)],其中模型 M 和环境始终固定。

内循环(采集经验):用当前 harness H^{(i)}^ 在 search 集上执行任务。每个回合记录一条轨迹 {T}_e=(x_e,{(o_t,p_t,z_t,a_t,f_t)},y_e),依次是任务、观测、计划、工具调用、动作、环境反馈和最终结果。

外循环(带历史的 harness 修订):

  • 优化器 {O} 的输入有三部分:
    • 当前父 harness;
    • 全部历史轨迹 E}^{(0:i)}^,包括被拒候选的轨迹;
    • harness 修改历史 {H}_{hist},包括以往的 diff 和对应得分。
  • 优化器据此找出反复出现的弱点,并对 harness 文件做有针对性的修改。
  • 只有当新候选在 search 集上的成功率严格高于父 harness 时,才替换父 harness(贪心爬山)。
  • 优化器提示里有一些约束:
    • 防回归:不要重复曾导致降分的结构,优先考虑删除或弱化已有规则;
    • 禁止使用 held-out 数据、模拟器隐藏状态或硬编码坐标;
    • 修改理由必须引用具体的轨迹证据。

Harness 结构(附录 A):由四类模块组成,都是可编辑的.md和.py文件:规划、视觉与工具使用、记忆与上下文、校验与修复。

EMHO-Merge 的规则:

  • 修复资格:r^{(i)}^=bb{1}[|G|>0 wedge |L|>0 wedge text{repair unused}]。也就是只有当一次修改同时带来增益和损失时,才允许做修复。
  • 每个修改最多只能修复一次。
  • 优化器在“修复”和“提出全新机制”之间二选一,并且必须同时引用增益样例和损失样例作为证据。

实验设置:

  • 基准:EmbodiedBench 的导航和操作任务;
  • 模型:Qwen3.5-9B 和 Qwen3.8-27B,同一个模型既当具身智能体也当优化器;
  • 视觉工具:Depth Anything 3、SAM 3、zoom;
  • 每个任务优化 10 轮,search 集和 held-out 集对半划分。

主要结果:

  • 相对初始 harness 提升明显:导航最高 +23.3%,操作最高 +33.3%。
  • 27B 模型在导航 held-out 集上平均 75.3,超过表中的 GPT-5(56.8)和 Claude-4.6-Sonnet(62.2)。
  • 优于 Claude Opus-5 / GPT-5.6 Sol 的一次性 harness 改写,也优于只改技能(skill-only)的做法。
  • 消融:完整 EMHO 76.7,去掉经验轨迹 70.0,去掉修改历史 66.7,只给分数 63.3。说明这两类历史信息互补。

四、存在的问题与局限

  1. 过拟合 search 集(作者自己承认)。迭代后期 search 分数还在涨,held-out 分数却停滞甚至下降,harness 逐渐专门适配了优化时见过的轨迹。
  2. 评估方式偏乐观。
    • 表 1 中 search 和 held-out 两列各自取所有迭代中的最高分,两者可能来自不同轮次。
    • 附录 B 也承认,held-out 结果只是“候选表现的事后汇总”,不能当作单一选定 harness 的泛化性能估计。
    • 实际部署必须靠 search 集选模型,这个流程下的真实性能没有报告。

3. 样本少、没有方差。

    • 从分数粒度推断(3.3%、4.2% 一档),每个子任务只有约 24–30 个回合。
    • 没有报告多次运行、种子或置信区间,几个百分点的差距可能落在噪声范围内。
    • 父 harness 的替换规则是“严格大于即替换”,在这种小样本下特别容易被噪声驱动。

4. EMHO-Merge 的证据有限。

    • 只在每个领域选了 3 个子任务。
    • 操作任务上,Merge 的 held-out 平均为 33.8,低于各子任务分别优化的 40.7。导航任务上两者持平(75.6)。
    • Combined 设置没有报告 held-out 结果。
    • “共享 harness 走向通用 agent”这一点目前更像方向,还没有充分验证。

5. 绝对性能依然很低。操作任务即使优化后,平均也只有约 40%(27B)和约 20%(9B)。9B 的初始操作 harness 不到 10%,所以相对提升幅度显得很大。

6. 成本和效率没有交代。每轮都要在整个 search 集上做完整 rollout,再让 LLM 读大量轨迹和历史。论文没有报告 token 消耗、环境交互次数和计算时间,也没有和训练类方法比较样本效率。

7. 因果归因靠 LLM 的推断。弱反馈下的归因完全依赖优化器读轨迹,没有显式的信用分配机制。提示里也写明增益/损失配对“不能确立因果”。改动可能只是相关,甚至是巧合。

8. 泛化范围窄。

    • 只测了 EmbodiedBench 一个仿真基准,只用了 Qwen 系列模型;
    • 没有真机实验,也没有跨任务、跨环境迁移实验;
    • harness 文件结构和提示约束是针对这个基准设计的。

9. 可解释性和可维护性存疑。规则会越加越细、条件越来越多。长期演化下来,harness 可能膨胀、彼此冲突,变得难以人工审查。论文给了“规则变细”的定性描述,但没有分析 harness 的复杂度。


EMHO 把 coding-agent 领域“用 LLM 读轨迹、自动改 harness”的思路搬到了具身领域,并用增益–损失配对缓解多任务冲突。思路清晰,定性分析也丰富。但小样本、取各列最高分的评估方式和已经暴露的过拟合,使得量化结论的稳健性还需要更严格的验证。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询