模型权重不动,智能体照样能"长本事":Harness 自进化的形式化与理论边界
你有没有这种感觉:刚部署的智能体挺能干,用着用着却开始重复犯同样的错,越来越"油条"?想让它长记性,业界默认的答案是再训一轮模型——但多数团队手里只有 API,权重根本摸不着。这篇论文给了一个越来越主流的答案:改骨架,不改脑子。提示词、记忆、工作流、工具代码这些外围软件(作者称之为 Harness)本身就是可进化的对象,而且这件事可以被严格定义、分类,甚至给出泛化与遗忘的理论边界。
核心摘要:这篇 arXiv:2610.18813 的论文做了三件事。一是给出 Harness 自进化的形式化定义——执行反馈驱动、跨轮次持久化、模型权重冻结,三个条件缺一不可;二是把现有方法按"变异边界"分门别类,区分解释态更新(改提示词/记忆/工作流编排)与可执行修订(改工具实现/仓库级控制逻辑/插件组合);三是把 Harness 搜索映射到进化算法结构,并借助持续 PAC 学习框架推出三个有条件的理论结果:期望泛化界、历史回归预算下的保持界、基于新鲜独立验证数据的高概率准入规则。说实话,这不是一篇"跑榜刷点"的论文,66 页 companion report 更像一份领域宪法。它的价值在于:当人人都在喊 self-evolving agent 的时候,有人出来说清楚这词到底指什么、什么时候它的承诺可信。
📖 论文信息
- 标题:Self-Evolving Agent Harness
- 作者:Chuyang Wei, Haoxiang Guan, Minghang Zhu, Kexin Zhou, Jiyan He, Xiren Zhou, Huanhuan Chen, Yifei Shen(通讯作者)
- 机构:Zhongguancun Academy / University of Science and Technology of China / Zhongguancun Institute of Artificial Intelligence
- 链接:https://arxiv.org/abs/2610.18813 (提交于 2026 年 10 月 13 日)
- 代码与持续更新材料:https://github.com/zgcagi/Harness-RSI
🎯 为什么盯上 Harness 而不是模型权重
先看论文封面这张图,它把整条技术路线画成了一段盘山路。

图1:Harness 进化的四个台阶——指令与提示词 → 上下文、记忆与可复用流程 → 智能体工作流与拓扑 → 可执行组件与运行时。越往后,改动的"杀伤力"越大,离运行时核心越近。
为什么是 Harness?作者列了三个理由,我觉得都挺实在:
一是 Harness 直接决定一个冻结模型的行为。提示词、可复用流程里沉淀的是任务约束和前人踩坑的教训,Expel、Voyager 那一脉工作早就验证了这条路的有效性。二是省钱省事——改 Harness 复用现有模型部署,不用重新训练、不用多存一套权重 checkpoint,甚至通过闭源 API 就能完成更新。三是可审计。指令、记忆记录、代码都能直接 diff、做版本对比;想搞清楚两个模型 checkpoint 行为差在哪,往往得额外做受控实验。
坦白讲,这个动机对国内大量只能调 API 的团队来说,几乎是唯一选项。
🧠 定义:什么才算"Harness 自进化"
作者先给 Harness 下了一个挺干净的定义:治理模型 \(M\) 在任务环境 \(E\) 中执行的软件与配置。模型适配器算 Harness,学到的参数算模型。一次执行产生一条 rollout,由最终评估器 \(J\) 打分:
这里有个关键约束:候选修订可以改 Harness 内部的 critic 或临时检查,但不能动最终评估器 \(J\)。这条红线后面在安全讨论里会反复出现——评分权必须留在可编辑面之外。
Harness 自进化的迭代过程写成两步。第 \(k\) 轮,现任 Harness \(H_{k-1}\) 跑出一批 \(b\) 条 rollout:
Update 算子打包了诊断、提案、评估、准入四个动作;如果这一轮没有任何修订通过准入,就保留现任 \(H_k = H_{k-1}\)。
定义里最值得记住的是两个硬性条件:反馈驱动且更新机制持续可用、接受的修订跨轮次持久化。少一个都不算。按这个标准,单纯往日志里追加内容、按固定规则压缩上下文都不算自进化;而学习可复用流程、修改记忆策略就算。一句话:改的是"下一次怎么跑",不是"这一次记下来"。
作者还专门澄清了术语:self-evolution 指更新过程本身,self-improvement 指经比较确认的收益。整个研究领域被命名为 Harness RSI(递归自我提升),但不预设每次修订都有帮助。这个区分我觉得挺重要——太多论文把"会变"当成"变好"来宣传了。
🏗️ 分类学:按变异边界切三刀
论文第 3 节把现有方法按"改了什么"分类,这是全文最实用的部分。核心区分是解释态更新与可执行修订——注意这个区分看的是被编辑工件扮演的角色,而不是编程语言。改工作流里任务级的排序和路由,哪怕编辑的是代码,仍算解释态;改操作符的实现或运行时机制,哪怕只改一行,也算可执行修订。
可执行修订再切三刀:
🔧 组件级:工具与代码补丁
变异被限制在可调用的过程或指定模块内,周围编排不动。入口点和 I/O 契约固定时,候选直接替换组件实现;工具合成则可能扩展可调用接口。Voyager 式的技能库、Self-Harness、HarnessCompass、Agentic Harness Engineering 这类 trace 引导的补丁架构都在这一类。有个细节挺有意思:编辑"记忆管理函数"是改 Harness 机器本身(可执行修订),而整理"记忆条目"只是改解释态——同一个记忆系统,动代码和动内容是两回事。
🗂️ 仓库级:运行时控制逻辑
这一层把上下文构造、编排循环、执行钩子、恢复与终止逻辑都暴露给修订。DGM、DarwinX、Meta-Harness、SICA 都在这。风险也明显:改了共享上下文或调度,其他没动的组件输入假设可能就变了,回归会越过被编辑的模块向外传播。
这里论文给了一组实测数据。HarnessOpt 把 SkillOpt-Lite 的技能编辑扩展到运行时修订,在 SpreadsheetBench 上的结果:
| 模型 | 初始 | SkillOpt | SkillOpt-Lite | 仅 HarnessOpt | HarnessOpt + skill |
|---|---|---|---|---|---|
| GPT-5.4-nano | 29.89 | 51.60 | 66.19 | 76.51 | 77.58 |
| GPT-5.4-mini | 28.21 | 47.50 | 73.31 | 81.14 | 82.56 |
| GPT-5.4 | 39.86 | 61.50 | 79.36 | 83.63 | 85.05 |
| GPT-5.5 | 37.37 | 76.20 | 79.72 | 83.63 | 85.77 |
表1:SpreadsheetBench 准确率(%)。HO 即 HarnessOpt。
最扎眼的一行:GPT-5.4-nano 配 HarnessOpt + skill 拿到 77.58%,反超了 GPT-5.5 配 SkillOpt 的 76.20%——小模型靠好骨架打赢了更大模型的弱骨架。四个模型上 HarnessOpt + skill 比 SkillOpt-Lite 提升 5.69 到 11.39 个点。不过作者自己很诚实,补了一句"这只是模型-骨架配对的示意,没有在等成本下证明优越性"。这个态度我喜欢。
🧩 一切皆插件(EIP)
插件架构把变异组织成声明式接口、依赖约束和生命周期操作。可编辑对象可以是组件实现,也可以是"哪个实现提供哪个运行时服务"的绑定关系——记忆存储、工具分发、甚至 agent loop 本身都能被替换重挂。
论文引了一个挺生动的案例:DSH Everything 框架下,一个 Codex 插件让智能体在执行中自己造工具、留给后面的任务复用。模拟办公场景里,不同地区的表格语言和内容不同但计算逻辑相似,Codex 造了批量查询和汇总工具:
| 指标 | Baseline | EIP 聚合 |
|---|---|---|
| 工具调用次数 | 13 | 3 |
| Tokens | 41,119 | 47,572 |
| 墙钟时间(秒) | 15.49 | 24.00 |
表2:EIP 表格任务首任务成本对比。
第一个任务其实是亏的——tokens 多花 15.7%,时间多花 54.9%。但工具造出来就是资产,累计收益从第二个任务开始转正:五个任务后累计省 110,351 tokens、22.97 秒。这就是插件经济学的核心矛盾:首单必亏,复用回本。作者还挑了个刺——两处报告的首任务数字对不上(隐含 +6,453 tokens vs 报告 +4,895),没法当成同一条成本曲线看。这种对来源数据的较真劲儿,在 survey 里不多见。
另外 LiveBrowseComp 上,XYZ + dsh-everything 拿到 51.39,超过 XYZ-Aquila-mini 的 48.7,在 40B 以下参数的六个参赛条目中排第一、全部十一个条目里排第二。
📊 理论部分:给"进化"上三道紧箍咒
说实话,读到第 4 节之前我以为这又是篇"定义 + 分类 + 案例"的 survey。结果作者真把理论给做出来了。
第一刀:把 Harness 搜索映射到进化算法。 一次更新拆成四件事:可变状态的表示、生成编辑的变异算子、适应度评估、保留哪些状态的选择规则。现有方法一一对号入座——精英 (1+1) 搜索对应 SICA、MCE 这类"单候选对现任"的方法;归档搜索对应 DGM、DarwinX 的血缘保留;MAP-Elites 式的质量多样性对应 HarnessBank;Pareto 选择对应 SkillMOO 的多目标优化。作者很谨慎地强调:对应不等于等价,别把某个方法当成完整实现了 NSGA-II。
第二刀:泛化从哪来。 因为所有机制都靠经验适应度做选择,接受的修订就可能过拟合或遗忘。借用算法稳定性(algorithmic stability)的经典结果,把第 \(s\) 轮某个任务替换成独立同分布的新样本、重跑整条更新链,定义敏感度 \(\beta_{s,k}\),得到期望泛化界:
注意这个界控的是期望意义上的泛化差距,不保证单次运行。而且作者点破了一个常见误区:代码改得小不等于整个更新过程稳定——反馈、归档、选择都要跟着重跑。
第三刀:遗忘与准入。 定义 \(F_{s,k} = R_s(H_k) - R_s(H_s)\),正值是遗忘,负值是反向迁移。如果每步迁移满足历史回归预算 \(R_s(H_u) - R_s(H_{u-1}) \leq \varepsilon_{s,u}\),望远镜求和加稳定性给出:
最实用的是准入规则。每轮固定至多 \(K\) 个候选,抽 \(m\) 个新鲜独立的验证任务,算候选与现任的配对损失差 \(\hat{\Delta}_k\)。Hoeffding 不等式加对 \(KT\) 次比较的联合界,以至少 \(1-\delta\) 的概率同时成立:
准入规则就一句话:只接受上界为负的候选。这里有个坑被作者点名了——HarnessBank 复用训练任务做筛选、Self-Harness 复用留出集做回归,这些搜索时的复用都破坏了独立性假设。 secrecy 和比较次数校正救不了自适应依赖,要么用新鲜样本,要么走 adaptive data analysis 的推断框架(Dwork 等人的 reusable holdout 那套)。做工程的同学看到这条应该直接抄走:你的 held-out set 一旦被搜索过程"看过",它就不再是 held-out 了。
还有一道补丁:如果评估器和目标风险之间最多差 \(\eta\),目标风险真正改善的充分条件是在上式基础上再加 \(2\eta < 0\)。评估器换了,\(\eta\) 得重新独立校准。
🔬 应用与风险:持久化是双刃剑
第 5 节扫了五个场景,每个都点出"修订持久化"带来的独特风险,我挑重点说:
- 个人工作区:临时 workaround 会变成常驻规则,注入的指令跨任务残留,甚至成功的任务执行也可能蒸馏出有害泛化的技能。恢复机制得覆盖派生技能、记忆和缓存,不只是代码。
- 企业自动化:共享技能库让一个团队的本地补丁扩散到权限假设不同的其他团队,错误流程会造成相关性故障——算法单一栽培(algorithmic monoculture)的担忧延伸到了 Harness 工件上。
- 科学发现:进化出的协议一旦利用临时检查或不完美外部指标,规格博弈(specification gaming)会固化出经不起独立测量的流程,还可能通过协作和湿实验转移扩散,烧掉仪器时间和试剂。
- 机器人:被接受的动作代码错误会跨动作持久化。软件回滚改得了未来的指令,改不了已经发生的形变、磨损和伤害。作者建议急停、力/速限制、授权检查全部放在可编辑面之外。
- 公共服务与临床:错误的偏好会变成持续规则,跨案例复制制度性不公。回滚救不回错过的治疗窗口。每个决策的规则版本、证据、准入历史都要留档,可申诉、可救济。
这一节的语气明显比技术章节重——说到底,Harness 持久化的本质是把"一次性错误"升级成"制度性错误",恢复的代价从软件层蔓延到物理和组织层。
💡 我的判断
这篇论文值不值得读?我的看法是:做 agent 自进化方向的人,值得花一个晚上。
亮点有三个。一是定义收得够紧——反馈驱动、持续更新能力、跨轮次持久化三条件,把一大堆打着 self-evolving 旗号的静态 scaffold 挡在了门外,这个标准可以直接拿来当审稿尺子。二是理论的诚实度:所有结果都带显式假设,作者反复强调"对应不等于等价"、"稳定性是假设不是推论"、"混合分布上的准入证书不保证任意未来分布"。三是它把分散在几十篇论文里的方法收进了一张统一的地图,模型-骨架配对、插件生命周期、持续验证这些工程决策都有了讨论框架。
问题也有。理论部分全部建立在任务独立同分布的假设上,而真实部署里任务流恰恰强相关——作者自己承认相关会话需要分组或依赖感知的分析,但这块是留白的。另外文中引用的实证案例(HarnessOpt、EIP)大多来自作者团队生态内的前置工作,外部独立复现还很少,那个首任务数字对不上的小插曲说明这个领域的数据报告习惯还很不成熟。
工程上如果你是做 agent 产品的,有两条可以直接拿走:准入测试必须用搜索过程没见过的新鲜任务,否则统计保证归零;评估器 \(J\) 永远放在可编辑面之外,这是所有安全讨论的基石。
还有个更本质的问题这篇没解决:当 Harness 进化到一定程度,冻结模型反而成了瓶颈,模型和骨架谁先动、怎么协同——论文把联合进化明确划出了范围,只留了 future work。我猜这会是下一阶段的主战场。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我