最近,递归自我改进(RSI)的研究热度持续攀升。但一个现实问题也随之而来:这些方法到底谁更有效?
不同的研究往往各自采用不同的 Benchmark、训练配置和评估方式来验证效果。这就像运动员既参加比赛,又自己制定规则、担任裁判,最终的成绩很难做到公平比较。
来自卡内基梅隆大学(CMU)的研究者发现,尽管各种 Harness 进化方法在具体实现上各不相同,但它们其实遵循着相似的训练逻辑:让 Harness 执行任务、收集反馈,再由 RSI 算法根据反馈提出修改,经过合法性检查后保存新版本,进入下一轮迭代。
既然训练逻辑相似,能不能用同一套框架,让不同 RSI 算法在统一的模型、工具、评估器和 Benchmark 下公平较量?
于是,CMU 团队开源了 Hermit,这是一个面向 Harness 进化、持续学习与 RSI 的统一训练框架。

它将学习过程放在 Harness 外部,通过可插拔的Adapter持续改进Agent,无需修改底层模型或原有 Harness,让不同 RSI 算法能够在更一致的条件下进行比较。
Hermit 希望能够降低普通用户在 Codex、Claude Code 等智能体中实现持续学习的门槛,让 Agent 在一次次任务中积累经验,并不断改进自己的工作方式。
为什么要引入 Harness Adapter?
很多 Agent Harness 本身就是一个黑盒,即使代码开源,其内部各组件也存在精心设计的协作关系。如果直接修改 Harness 的内部逻辑,可能破坏原有的运行流程,反而影响 Agent 的表现。
因此,Hermit 选择了一条更灵活的路线:不直接改动原有 Harness,而是通过支持的扩展接口,在外部引入可训练的 Harness Adapter。即使底层模型和 Harness 本身都是黑盒,只要提供了相应的扩展接口,也有机会开展 Harness 进化。
这种设计有三个优势:
- 不必改动现有 Harness,降低了改造成本,也减少了直接修改内部组件带来的风险。
- 适配器具备一定的可迁移性,可以在兼容的模型和 Harness 之间复用,不必每换一套系统就从头开始。
- 适配器可以通过任务反馈持续训练,将执行经验转化为外部配置的改进。
在此基础上,Hermit 构建了一套完整的反馈闭环:Agent 先执行任务,评估器检查结果,再由进化算法根据反馈提出修改,经过验证后保存为新版本,进入下一轮迭代。

每个被接受的更新都会成为下一个适配器版本。
Hermit 并没有绑定单一的优化方法,已支持 GEPA、SkillOpt、MetaWorld Model、Harness² 和 Continual Harness 等多种方法。
研究者可以在相对统一的训练流程下接入不同算法,尽量保持模型、工具、评估器和 Benchmark 等实验条件一致,从而更公平地比较不同 Harness 进化方法的实际效果。
使用教程
1. 安装
需要提前安装 Python 3.12 和 Git,并把 Hermit 代码下载到本地。之后打开终端,输入以下命令把环境配好:
cd hermit
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
2. 运行第一个训练示例
这个示例不需要 GPU、模型 API 账号,也不需要下载数据集。
# 1. 检查配置是否正常
hermit check --config docs/_examples/first_training/run.yaml
# 2. 先看看训练前的表现
hermit eval --config docs/_examples/first_training/run.yaml --adapter none
# 3. 开始训练
hermit train --config docs/_examples/first_training/run.yaml
# 4. 再评估训练后的表现
hermit eval --config docs/_examples/first_training/run.yaml --adapter final
这个本地示例的任务很简单:让 Agent 按照要求输出大写文本。
一开始,Agent 只会原样输出小写文本,因此无法通过评估。训练过程中,示例中的学习模块会读取评估反馈,并把改进规则写入 ADAPTER.md 文件,告诉 Agent 应该使用大写格式。
训练完成后,再次运行评估,Agent 就能根据更新后的规则完成任务。按照官方示例的效果,评估分数会从 0.0 提升到 1.0。
如果想进一步查看它学到了什么,可以执行:
cat .demo/first-training/first-training/checkout/ADAPTER.md
如果希望把学到的规则部署到 Codex 工作区,还可以继续运行:
hermit deploy \
--adapter .demo/first-training/first-training/checkout \
--workspace .demo/first-training/workspace \
--host codex
完成后,可以查看生成的 AGENTS.md 文件:
cat .demo/first-training/workspace/AGENTS.md
Codex 以后就会使用这条规则。
到这里,Hermit 的完整流程就跑通了,包括执行任务、获取反馈、更新适配器、重新评估,最后将学到的规则部署给智能体使用。