一句话结论 论文实测了 Claude Code / Hermes / Codex 三家 harness,结论是「没有总冠军」——没有任何一家对所有模型都最好,换个模型排名就翻。另外两个容易踩的坑:OpenClaw 根本没被测(只被点名当例子),也没有公开代码。

# 这篇论文在说什么

SCLATE(Substrate for Continual-Learning Agent Training and Evaluation)是 Apple 团队做的一套「执行底座」,对象是持续学习智能体——即「模型 + harness(脚手架)+ 记忆系统」三件套,跑在跨天、跨周、多会话的长周期上(Claude Code、Codex、OpenClaw、Hermes 都被它归为这类系统)。

要评测/训练这种智能体,任务之间得穿插大量「到点才发生」的事件:会话启停、定时任务、记忆整合。但现有 benchmark 和训练框架只调度自己那一侧的事件,于是每一对「benchmark × agent」都得单独手搓一套调度循环,既不可复现,也没法公平横评。

# 三大核心机制

机制 ①
开放事件调度器

benchmark 和未改动的 agent 各自通过一个 adapter,把事件注册到同一个调度器上——场景任务、会话启停、cron、状态存取全进同一条事件流。

机制 ②
混合模拟时钟(最实用)

agent 干活时时钟按实时走(工具、测试、内部计时器正常);一旦空闲就跳过空档,直接跳到下一个事件。再用 libfaketime 让 harness 内部的系统时间调用也返回模拟时间,所以原生 cron 照样跟着走,源码一行不改。

效果:40 个日历日的场景,中位 5.9 小时跑完(加速 162×;全部运行合计 142×)。

机制 ③
容器内 capture proxy —— 评测即训练数据

所有模型调用都经过容器内代理,记录每次调用的 token 和 log prob,并标记这次调用来自哪个 harness / 记忆组件。于是评测跑一次,同时就是训练数据。

# 实测:三家 harness 的对比

实验网格:3 个 harness × 10 个模型 × 10 套记忆配置 × 7 个 benchmark,全部 harness 与记忆系统零改动接入。下面挑最关键的几组。

① MetaClaw(30 个工作日 / 346 轮):Hermes 在同模型上完胜

Hermes(原生记忆)
59.8%
Claude Code(原生记忆)
46.0%

同一个模型 Haiku-4.5,Hermes 领先 13.8 个百分点。作者查轨迹给的原因:Hermes 有专门的技能管理工具,外加一个「工具调用后必须验证」的钩子。

但换个模型就反转 Gemini-3.7F 上两者只差 1.4 个百分点;Sonnet-5 上反而是 Claude Code 领先。论文里唯一稳定的规律是:每个模型上,加了记忆都赢过「无记忆」基线。

② LongMemEval-s(多会话记忆召回):Claude Code 反超

Claude Code · DS-V4.1
91
Claude Code · GLM-5.3F
85
Hermes · GLM-5.3F
66
Hermes · DS-V4.1
51

原因很具体:Hermes 自带记忆有容量上限,塞满就拒收新事实,于是大多数事实根本没存进去。给它外挂一个没有容量上限的 Hindsight 后,分数被拉回 77 / 74——输在记忆系统的上限,不全是 harness 的问题。

③ GAIA-2(800 个场景):比较的是「每家最强模型」

Harness该 harness 下最强的模型通过率
Claude CodeSonnet-562.8%
CodexDS-Vision61.3%
HermesDS-V4.158.5%

注意:这一组不是同一模型换 harness,而是「每家 harness 下最强的那个模型」,所以更像在比「哪个模型强」。三家都挤在 58–63%。论文还提到:Search / Execution 类最简单,依赖运行中动态事件的 Adaptability / Time 类在每格里都很低(最高 37.5% / 34.4%)。

④ AppWorld & SWE 后训练

模型(AppWorld)三家 harness 的通过率区间
Haiku-4.548.4% – 49.6%
Sonnet-552.1% – 61.7%
DS-V4.1最高 70.1%

SWE-Gym 后训练(GRPO,Qwen3.5-4B):

Claude Code rollout 奖励
21.4% → 53.2%
Codex rollout 奖励
全程稳定 ~69%
迁移 SWE-bench Verified(Pass@1)
CC 9.8→26.5 · Codex 28.8→33.6

后训练后,Claude Code 下的模型学会了「不硬塞上下文」:读文件行数少 6.8 倍,整文件读取从 69.2% 降到 18.4%,撞上下文上限从 97.6% 压到 31.0%。

# 两个容易踩的坑

坑 ① · OpenClaw 根本没被测 「OpenClaw」全文只出现 一次,就是引言里把它和 Claude Code / Codex / Hermes 并列成「这类系统」的举例。真正进评测的 harness 只有三家。
论文也强调「任何未改动的 harness 只要写个 adapter + 配置就能接入」——所以 OpenClaw 更像没做,不是不能做,但论文没解释为什么不跑它。
坑 ② · 没有公开代码 arXiv 页面(v2)没有 Code 链接,正文与附录也没有 "code will be released / available at" 之类的话,Apple 研究页同样没有代码入口,全网也搜不到 SCLATE 仓库。
参考文献里那些 GitHub 链接是它用到的第三方项目(GBrain、Harbor、libfaketime、prime-rl、slime),不是 SCLATE 自己的代码。这是 Apple ML 的常见做法:放论文,不放代码。

# 三条可以带走的结论

🏷️ 标签
Agent 评测 Claude Code Codex Hermes 持续学习 Apple OpenClaw(未评测)