0.541 对 0.651,0.580 对 0.795,28.7 对 45.3。三组数字分别来自 OfficeQA、CL-Bench 和 ServeLearnBench 三个 Agent 基准,等号左边是什么都不装的裸跑 Agent,右边是加了一层外挂之后的同一个 Agent。模型没换,权重没动,连 Agent 的主程序都没改一行,分数却实打实地上去了,ServeLearnBench 那一档甚至把榜单上原有的最佳学习方法甩开将近六成。
做到这件事的东西叫 harness 适配器,把它做成完整开源框架的是 Infini-AI-Lab,一个专注于 Agent 基础设施的研究团队。2026 年 10 月 25 日,他们放出 Hermit v0.1.0,CMU 博士后郑海中两天后在 X 上正式官宣。框架走 Apache-2.0 协议,PyPI 一行命令装完,自身不带任何参数,全部工作都发生在 Agent 的外壳上。这个时间点很微妙:过去一年大家都在卷模型本身,而最近几个月,行业注意力明显开始向模型外面的东西转移,记忆、技能、上下文工程轮番成为热点,Hermit 把这条线推到了新位置——外壳本身也可以是被训练出来的。
先对齐概念:什么是 harness,什么是适配器
Agent 圈里说的 harness,指的是套在模型外面那层执行外壳:循环控制、工具调用、上下文拼装、错误恢复,全在这层。Claude Code 和 Codex 各自有一套 harness,模型的能力正是被这层外壳翻译成实际行动的。同一个模型,换一套 harness,跑出来的任务成功率可以差出一大截,这在今年的多个公开对比里已经被反复验证过。举个具体的例子:模型给出一段有语法错误的补丁,一套外壳直接报错退出,另一套外壳会把编译错误喂回去让模型再修一轮,第三套还会先跑一遍测试再决定要不要重试。三种外壳下,模型的智力没变,任务结局完全不同。外壳里沉淀的其实是工程经验,只是这些经验一直用手写的方式维护。过去想让 Agent 更擅长某类任务,主流做法只有两条路:要么微调模型,比如 LoRA 那套参数高效微调;要么改 harness 源码,往里加技能、塞提示词。前者又贵又慢,一张卡都未必够;后者有两个现实障碍——很多 harness 根本不开源,而开源的那些内部组件调得极细,动一处崩一片,升级上游版本时还要手工合并自己的改动。
Hermit 走的是第三条路:模型和 harness 都冻结,单独训练一个外挂的适配器。这个适配器是带训练支持的插件,里面可以装指令、技能、记忆、工具、可执行代码,甚至多 Agent 的协调逻辑,规格文件里写清楚哪些部分可学习、更新怎么校验。它更像一个完整的仓库,而不是一段提示词。团队给出的设计理由很直白:很多 harness 闭源改不了;开源的改了容易破坏调好的组件协作;而学出来的适配器可以在兼容的模型和 harness 之间搬家,换基座模型时不用重新训练一遍。
训练循环:Trainer、Judge、Evolver 三角
Hermit 的训练是一个强化学习风格的闭环。具体走一轮是这样的:Trainer 拿着当前版本的适配器,把一批任务喂给 Agent 真跑一遍,每条轨迹都完整记录模型看到什么、调了什么工具、在哪一步开始跑偏;Judge 按任务的成功标准给输出打分;Evolver 读完整轨迹和分数,分析失败模式,提出下一版适配器,可能是补一条排错指令,可能是换掉一个技能,也可能是重写整个协调流程;Trainer 再按规格模板校验新版本的合法性,通过后提交为下一版。一轮接一轮,适配器在真实任务反馈里迭代,而不是靠人拍脑袋改提示词。每个适配器版本都挂在一棵 git 树上,可以检视、回滚、发布任意版本,工程属性直接拉满——训练产物不再是看不懂的权重文件,而是可以 diff、可以 code review 的文本资产。学习程序还能放进沙箱里跑,这一步要求 Linux 加 bubblewrap。
框架内置五种进化方法:GEPA、SkillOpt、元世界模型 MWM、Harness² 和 Continual Harness,分别来自五篇不同的研究论文,ACE 与 ReHarness 标注为即将支持。一个框架把五种方法的训练循环统一成同一套接口,这件事本身就省掉了大量对比成本。嫌不够的话,Evolver 接口是开放的,可以自己写一个插进去。这五种方法对应不同的学习策略:GEPA 和 SkillOpt 先用一小批任务训练、然后冻结评测;Continual Harness 和 Harness² 则支持边跑边学,在流式任务里持续更新自己。覆盖面已经超出调提示词的范畴,进入了持续学习的地盘。
自报成绩:涨分是真的,水分也要挤
数字全部来自仓库示例 README,跑分模型统一是 GLM 5.3 Flash,而且大多是单次运行,这个前提先记住。
| 基准 | 任务设置 | 基线成绩 | 最佳适配器 | 最佳成绩 |
|---|---|---|---|---|
| OfficeQA | 172 道美国国债公报问答,精确匹配 | 0.541,无适配器 | Harness² | 0.651 |
| CL-Bench 数据库探索 | 有状态环境持续学习 | 0.580,上下文学习 | MWM | 0.795 |
| CL-Bench 可利用扑克 | 每手大盲注收益 | 2.51,上下文学习 | MWM | 3.08 |
| ServeLearnBench | 624 条零售客服流,隐藏策略漂移 | 28.7,榜单最佳方法 CH | MWM | 45.3 |
几个细节值得拆开看。OfficeQA 的 172 道测试题全部围绕美国国债公报展开,用精确匹配判分,考的是 Agent 在陌生文档集合里找答案、管流程的基本功。OfficeQA 上 GEPA 和 SkillOpt 只用 50 道题训练然后冻结测试,分别拿到 0.580 和 0.600,说明即使是冻结式学习也能从轨迹里榨出有效信息;Continual Harness 和 Harness² 则是边流式过测试集边学,Harness² 相对自己的参照运行提升 7.6 个百分点,95% 置信区间落在 +1.7 到 +13.4。CL-Bench 出自今年那篇持续学习基准论文,arXiv 编号 2606.05661,测的是有状态环境下的学习能力,数据库探索和可利用扑克两个子项一个考知识积累、一个考策略博弈,MWM 两边都拿了第一。ServeLearnBench 模拟的是更贴近生产的场景:624 条零售客服请求背后藏着一套会漂移的策略,Agent 必须在服务过程中自己摸出规律。给定隐藏策略的预言机上限是 89.2,MWM 的 45.3 离天花板还远,但已经把榜单上最好的学习方法 CH 的 28.7 甩开一大截。
反面数据同样摆在那里:纯提示词适配器在 CL-Bench 数据库任务上只得 0.470,比不学的基线还低。这说明这层外挂不是随便塞点话就管用,训练方法本身是胜负手,把静态提示词换个地方存放不会产生任何增益,甚至可能因为占用了上下文窗口而帮倒忙。
和同类摆在一起:GEPA、ACE、Agent Lightning
| 维度 | Hermit | GEPA | ACE | Agent Lightning |
|---|---|---|---|---|
| 训练对象 | 外部 harness 适配器 | 任意文本参数 | 上下文 playbook | 提示词加模型权重 |
| 动模型权重 | 不动 | 不动 | 未披露 | 动,RL 或 SFT |
| 内置方法 | 五种加自定义 Evolver | 反思式进化加 Pareto 选择 | 生成、反思、策展 | RL、提示词优化、SFT |
| 部署目标 | Codex、Claude Code、Pi,可导出插件 | DSPy | 未披露 | LangChain、AutoGen 等 |
| 许可证 | Apache-2.0 | MIT | Apache-2.0 | MIT |
训练对象的差异是根本差异。GEPA 优化的是提示词和代码这类文本参数,ACE 维护的是上下文资产,Agent Lightning 直接碰权重,只有 Hermit 把 Agent 的行为外壳本身当成可学习对象。代价与收益也跟着不同:不碰权重意味着训练便宜、迁移容易,一个适配器可以在兼容的模型和 harness 之间复用;但能力天花板也受基座模型限制,外壳调得再好,模型本身不会的推理它还是不会。参照成绩上,GEPA 在 AIME 2025 上把 GPT-4.1 Mini 从 46.6% 推到 56.6%,ACE 在 AppWorld 上报告了 +10.6% 的提升,Hermit 拿出的则是 CL-Bench 数据库任务的 0.795。三家各有主场,选择时先看自己要改的是文本、上下文、权重还是外壳。
上手:从 pip 到把适配器插进 Codex
安装就是一行,PyPI 包名 hermit-harness,纯 Python 框架,自己一个参数都不带:
pip install hermit-harness
CLI 覆盖 check、train、eval、deploy、convert 五个动作。离线 Quick Start 不需要 GPU、不需要模型账号和数据集,用内置的模拟流程就能把训练闭环走完一遍,适合先摸清楚各阶段产物长什么样;真跑训练时后端任选,官方支持名单里有 Fireworks、OpenAI、Anthropic、DeepSeek,本地则走 vLLM、SGLang 或 Ollama,模型引用统一写成提供方加模型名的形式。任务集就是一个 jsonl 文件,每行一条任务,配上对应的评分标准,把你日常让 Agent 反复干的活整理进去,就能启动第一轮训练。
hermit check
hermit train --method mwm --tasks ./tasks.jsonl
hermit eval --adapter ./adapters/v3
hermit deploy --adapter ./adapters/v3 --target codex
hermit convert --adapter ./adapters/v3 --target claude-code
这五条命令依次对应体检环境、用 MWM 方法训练适配器、评估某个版本、生成 Codex 可直接使用的工作区、把训练好的适配器导出成 Claude Code 原生插件,convert 还支持 Pi 和 Hermes 作为目标。整条链路最顺滑的地方在于产物形态:训练出来的是文本资产,部署出去的是目标工具认得的工作区或插件,中间没有需要自己翻译的格式。仓库里还有个很能说明问题的例子:一个 Lean 协作适配器,指挥 5 个 Codex Agent 合力证明同一条定理,多 Agent 协调逻辑也被整个装进了适配器里。
冷静三问:哪些是真的,哪些还要等
第一,成绩全是团队自报,而且多数是单次运行,没有多种子误差棒,OfficeQA 那条 +1.7 到 +13.4 的置信区间下沿并不算宽,运气好的单次运行和稳定的真实增益之间还有距离。第二,跑分模型只有 GLM 5.3 Flash 这一档,换到更强的基座上适配器还剩多少增益,目前没有数据,基座越强、外挂空间越小的可能性不能排除。第三,v0.1.0 才发版几天,沙箱执行绑定 Linux 加 bubblewrap,Windows 和 macOS 的落地路径还不完整,文档和示例的覆盖面也还在补齐,ACE 和 ReHarness 两个方法还挂在即将支持的名单上。把它当生产组件之前,先在自己的任务分布上跑一遍 eval,是最低成本的排雷方式。
谁该现在动手
如果你在用 Codex 或 Claude Code 跑重复性任务,比如每周都要处理一批相似的代码审查、数据清洗或报告生成,又觉得手写提示词和技能文件维护不动,Hermit 值得马上试:它把这些手工资产变成可训练、可版本化、可回滚的对象,git 树加 CLI 的组合对工程团队非常友好,review 一版适配器和 review 一段代码没有区别。如果你的场景需要权重级别的定制,或者基座模型本身就不够用,那它解决不了问题,Agent Lightning 那条路更合适。把视野放大一点,今年 Agent 工程的主线非常清晰:上下文工程解决了给模型看什么的问题,记忆系统解决了记住什么的问题,而训练循环解决的是怎么让经验自动变厚的问题。Agent 优化的竞争已经从怎么写好提示词,升级到怎么把经验沉淀成可训练的资产:claude-mem 把记忆变成了可训练的资产,Hermit 则把整个行为外壳变成了可训练的资产。这条线上还会长出更多东西,而 harness 适配器是目前形态最完整的开源答案。