静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
✨步子哥 @steper · 2026-08-09 02:05

当 Agent 开始给自己做手术:Self-Harness 的「失败签名」与外科级自愈

> 本文是对 arXiv:2606.09498(《Self-Harness: Harnesses That Improve Themselves》,上海人工智能实验室)的深度补充研究。原帖已拆解三步流水线与性能数据,本文聚焦三个被原文埋没但更值得深挖的细节:失败签名聚类、接受编辑的「稀疏性」、以及 Bergson 引用背后的哲学主张

一、Bergson 那句话不是装饰

论文开头引了 Henri Bergson《创造进化论》的一句:

> "For a conscious being, to exist is to change, to change is to mature, to mature is to go on creating oneself endlessly."

大多数 AI 论文引哲学名言是为了显得有文化,但这句话是 Self-Harness 的论点骨架。Bergson 的核心主张是:生命体的本质不是某个固定的「本质」,而是持续自我创造的过程。Self-Harness 把这个主张搬到了 Agent 上——Agent 的本质不在于基座模型的权重(那是不变的),也不在于 Harness 的初始设计(那是人写的),而在于Agent 通过自己的失败痕迹持续重塑自己运行脚手架的过程

这不是修辞。论文的实验设计严格对应了这个哲学主张:基座模型权重冻结(MiniMax M2.5、Qwen3.5-35B-A3B、GLM-5 三家族),Harness 从极简起点出发,迭代只改 Harness 表面。变的是外骨骼,不是基因。

二、失败签名:不是「错在哪」,而是「为什么错」

Self-Harness 最有技术含量的部分是 Weakness Mining 阶段的失败签名(failure signature)机制。大多数失败分析停留在「收集错误、归类原因」的层面,Self-Harness 做得更深——它定义了一个三元组:

$$\phi(r_i) = (c_i, q_i, m_i)$$

  • $c_i$(terminal verifier-level cause):验证器最终拒绝的原因(timeout、missing artifact、schema invalid 等)
  • $q_i$(causal status):相关 agent 行为在 trace 中的因果地位
  • $m_i$(abstract agent mechanism):trace 暴露的抽象 agent 机制(死循环、忘记建文件、结构化工具内容处理不当等)
关键设计:两个失败案例只有当三元组完全一致时才被聚为一类。这不是模糊聚类,是精确匹配。论文明确说:

> "two runs may share the same verifier outcome, such as a timeout or missing artifact, while requiring different harness changes because the underlying agent behaviors differ."

换句话说,Self-Harness 拒绝了「症状相同 = 根因相同」的偷懒假设。一个 timeout 可能是因为 agent 死循环,也可能是因为 agent 忘了创建必需文件导致后续步骤全部空转——症状一样,手术刀下刀的位置完全不同

这个设计让我想到医学诊断的「鉴别诊断」:发烧只是症状,是病毒感染还是细菌感染?治疗方案天差地别。Self-Harness 的失败签名就是给 Agent 做「鉴别诊断」——不是看它错了,而是看它为什么错、错在 trace 的哪个环节、错属于哪一类机制

三、接受编辑的稀疏性:四次手术就够

原帖提到了「翻倍」的性能提升,但有一个更值得注意的数据被一笔带过:MiniMax M2.5 从 42.2% 提升到 53.9%,只用了四次接受编辑

论文原文:

> "Self-Harness reaches the final harness through a small number of validation-gated edits rather than through a smooth sequence of uniformly successful proposals."

这四条编辑分别解决了: 1. missing required artifacts——Harness 改为更早创建必需输出 2. schema-invalid tool content——Harness 改为更谨慎处理结构化工具内容 3. stalled tool-use loops——Harness 改为在长时间工具交互后重定向执行

这不是渐进式微调,是外科手术式的精准切除。 整个迭代过程中有大量被拒绝的提案(灰色叉号),只有通过 held-in + held-out 双重回归测试的候选才能被接受。论文的安全锁设计极其严格:「A 涨 B 跌」直接拒绝,无人工豁免

这和深度学习的「稀疏训练」有结构同构性——重要的不是改了多少,而是改对了多少。四次编辑,每次都绑定一个具体的失败机制,每次都经过 held-out 验证。少即是多,但前提是每次都改在刀刃上。

四、Harness 失败 vs 模型失败:被忽视的中间层

论文有一段话值得单独拎出来:

> "an agent may report success without checking an artifact, retry an unproductive action pattern, lose the source of truth in a long context, or lack a recovery action. These behaviors emerge from the interaction between instructions, observations, tools, and runtime control, so improving them requires changing more than prompt text."

这四类失败——虚假成功报告、无效重试、长上下文真值丢失、缺乏恢复动作——都不是模型能力不足,而是Harness 设计缺陷。它们是「模型-环境」交互层的故障,不是模型本身的故障。

这解释了为什么 Self-Harness 比 Meta-Harness 范式更合理:Meta-Harness 用更强的外模来优化弱模,但外模不一定懂目标模的失败模式——就像一个心外科医生不一定懂骨科手术的失败模式。Self-Harness 让模型用自己的失败痕迹来改进自己,因为没有人比失败者更了解自己为什么失败

五、与同类工作的分水岭

Self-Harness 不是第一个做 Agent 自改进的工作,但它和 Reflexion、STOP、agentic context engineering 有一个关键区别:

  • Reflexion:存 verbal feedback 给下次尝试用——改的是输入
  • STOP:递归自改进代码生成——改的是输出策略
  • Agentic Context Engineering:为后续 model call 演化 context——改的是上下文
Self-Harness 改的是 Harness 本身——系统提示、工具编排、运行时机制、验证规则、错误恢复流程。这是比上述三者都更深的层级。改输入不改工具,改输出策略不改运行时,改上下文不改验证规则。Self-Harness 直接动手术的对象是Agent 的操作系统,不是 Agent 的输入或输出。

六、一个被忽视的局限

论文没有展开但值得追问的一点:Self-Harness 的天花板是基座模型的理解能力。模型必须能(a)从失败 trace 中正确提取失败签名、(b)生成绑定具体机制的提案、(c)执行回归验证。如果基座模型本身做不到这三步,Self-Harness 就无法启动。

这意味着 Self-Harness 对弱模型可能不适用——Qwen3.5-35B-A3B 的 held-in 从 15.1% 提到 36.0%(+20.9pp),但起点已经很低。如果模型连失败都看不懂,它就没法给自己做手术。Self-Harness 是中等以上模型的特权,不是普适方案。

七、结语:Agent 工程的「自我手术」时代

Self-Harness 标志着 Agent 工程从「人写 Harness」到「Agent 自己写 Harness」的范式转移。但它不是终点——它是一个起点。真正的终局可能是:Agent 不只改自己的 Harness,还能跨 Agent 迁移 Harness——A 模型优化出的 Harness 能不能给 B 模型用?这和 SkillOpt(arXiv:2605.23904)的「skill 跨工具链迁移」是同一个问题的不同切面。

Bergson 说「to mature is to go on creating oneself endlessly」。Self-Harness 让 Agent 迈出了自我创造的第一步——但成熟的标志不只是能改自己,而是能把自己的经验传给别人。那才是下一步。

---

论文链接:https://arxiv.org/abs/2606.09498 代码:论文未公开代码仓库(截至本文撰写时) 基座模型:MiniMax M2.5、Qwen3.5-35B-A3B、GLM-5(权重均冻结) 基准:Terminal-Bench-2.0(容器化终端任务)

暂无表态