一句话读懂

Self-Harness 把 Agent 的 harness 视为可迭代的外部状态:不改模型权重,不换更强老师,让同一个固定模型根据自己的失败轨迹提出小步改动,再用回归测试决定是否升级。

做 Agent 的人都知道,一个模型在真实任务里能不能跑顺,不只看模型本身。系统提示怎么写,工具怎么暴露,错误怎么恢复,什么时候验证中间产物,什么时候停止无效探索,这些围绕模型的工程层,往往决定了 Agent 的上限和稳定性。

论文把这一层称为 harness。它可以包括系统提示、工具、运行时机制、验证规则、编排逻辑、权限策略和故障恢复程序。换句话说,harness 就像 Agent 的操作系统:模型是内核能力,harness 决定能力如何被调度、约束和修复。

Self-Harness 想回答一个很有野心但又很工程的问题:既然 harness 如此重要,能不能让 Agent 根据自己的失败记录,参与改造自己正在使用的 harness?

  1. 为什么需要 Self-Harness?

过去改进 Agent harness,主要有两条路。

第一条是人类工程师手工调参。这很有效,但模型发布越来越快,不同模型的工具习惯、错误模式、提示敏感性都不一样。给每个模型都手工定制一套最优 harness,成本会越来越高。

第二条是Meta-Harness 一类方法,用更强的外部 Agent 或优化器去改弱模型的 harness。这比纯人工更自动化,但它仍然依赖外部更强能力:如果目标模型本身已经是前沿模型,或者外部模型并不了解目标模型的具体失败模式,优化就可能变贵、变慢、变偏。

Self-Harness 的核心转向:

不是让人来改,也不是让另一个更强 Agent 来改,而是让目标 Agent 在当前 harness 下观察自己的失败,用结构化证据提出候选修改,并通过回归测试决定哪些修改真正进入下一版 harness。

  1. Harness 到底改什么?

论文特别强调,Self-Harness 做的是非参数化改进。模型权重不变,解码配置不变,工具集和评估器也不变。被优化的对象,是模型外部那层可声明、可审计、可回滚的执行协议。

这点非常关键。因为很多 Agent 失败并不是“模型不知道答案”,而是执行协议出了问题:

  • 答案算出来了,但忘了写入评分器要求的文件。
  • 工具报错后反复重试同一个坏命令。
  • 长时间探索,却迟迟不进入实现和验证。
  • 跨 shell 命令时丢失了环境变量、路径或安装状态。
  • 未检查产物就提前声称任务完成。

这些问题更像工程 SOP 的缺失,而不一定适合用微调解决。Self-Harness 就是把这类 SOP 放进一个可测试的迭代循环里。

  1. 核心流程:挖弱点,提改动,做回归

Self-Harness 的循环可以概括成三步:Weakness Mining、Harness Proposal、Proposal Validation。

图 1:Self-Harness 的一次优化循环。固定模型先在当前 harness 下执行任务,系统从失败轨迹中挖掘模式,再让同一模型提出有界修改,最后由回归测试决定是否接受。

第一步:弱点挖掘

系统先让固定模型在当前 harness 下跑一批 held-in 任务,收集执行轨迹和验证器结果。重点不是随便看几条失败案例,而是把失败记录按“验证器拒绝原因、Agent 侧因果行为、可复用行为机制”聚类。

这样做可以避免把表面症状当成根因。例如两个任务都因为缺少文件失败,但一个是 Agent 忘了创建工件,另一个是工具错误后删除了文件。它们需要的 harness 修改很可能不同。

第二步:Harness 提议

接着,同一个固定模型会在“提议者”角色下读取证据包,生成多个彼此不同但尽量最小的候选 harness 修改。每个候选都必须说明目标失败模式、修改的可编辑表面、预期行为效果和潜在回归风险。

论文的一个约束很实用:候选修改不能大规模重写整体架构,也不能只写泛泛的“以后要更仔细”。它必须把失败模式映射到具体 harness 表面,比如新增验证指导、限制工具循环、加入工件恢复策略或修改运行时策略。

第三步:提议验证

候选修改不会因为听起来合理就被接受。每个候选 harness 都要重新评估,并同时检查 held-in 和 held-out 两个分割。接受规则很保守:

接受门限

held-in 不退步,held-out 不退步,并且至少有一个分割的通过数提升。只在一个分割上变好、另一个分割上变差的候选,会被拒绝。

这让 Self-Harness 更像一种经验性的状态转换:每次升级都要留下证据,说明它想改变什么行为、改了哪个表面、为什么这样改,以及评估结果是否支持升级。

  1. 实验设置:固定模型,只改 harness

论文在 Terminal-Bench-2.0 上做实验。这个基准要求 Agent 在容器化终端环境里完成真实多轮任务,并由确定性验证器判断最终容器状态是否合格。

原始 Terminal-Bench-2.0 包含 89 个容器化任务。论文主要实验使用固定的 64 个案例子集,排除了依赖不稳定外部网络资源或需要多模态输入的任务,以减少环境噪声。

实验控制项 论文设置
基础模型 MiniMax M2.5、Qwen3.5-35B-A3B、GLM-5
初始 harness 基于 DeepAgent 的极简 harness,包含简短系统提示和默认文件、编辑、shell 工具
被固定的部分 模型、解码配置、工具集、预算、基准环境、评估器
被允许改变的部分 声明式 harness 配置界面,例如指令、验证指导、运行时策略
主要指标 通过率 Pass (%),每个候选在两次重复尝试上计算
  1. 结果:三个模型都涨了,held-out 也涨了

主结果很直接:Self-Harness 在三个模型上都提升了通过率,并且 held-out 任务也提升。这一点重要,因为 held-out 轨迹不会展示给提议者,能更好说明修改并非只是在修补已见失败案例。

图 2:Terminal-Bench-2.0 通过率。灰色为初始 harness,绿色为 Self-Harness 生成的最终 harness。

模型 held-in held-out overall
MiniMax M2.5 43.0 → 50.0(+16%) 40.5 → 61.9(+53%) 42.2 → 53.9(+28%)
Qwen3.5-35B-A3B 15.1 → 36.0(+138%) 23.8 → 38.1(+60%) 18.0 → 36.7(+104%)
GLM-5 47.7 → 57.0(+20%) 42.9 → 57.1(+33%) 46.1 → 57.0(+24%)

论文报告的最大绝对增益达到 21.4 个百分点,最大相对提升达到 138%。更关键的是,接受门限阻止了“牺牲一个分割换另一个分割”的升级,最终提升后的 harness 没有让任一分割退步。

  1. 它学到的不是通用鸡汤

这篇论文最值得注意的地方,是定性分析显示 Self-Harness 并不是简单把提示词写长,也不是统一加一句“请仔细检查”。不同模型保留下来的 harness 修改明显不同。

MiniMax M2.5

主要问题是缺失必需工件、结构化工具内容格式错误、工具循环停滞。最终 harness 鼓励 Agent 更早创建输出文件,更谨慎处理内容标签,并在工具交互过长时重定向执行。

Qwen3.5-35B-A3B

主要收益来自依赖预检查、避免重复失败命令、打破探索循环,以及工具错误后的工件恢复。论文中的 extract-elf 案例显示,编辑后的 harness 会把 Agent 从反复覆盖和编辑失败中拉回到“恢复缺失文件并验证 JSON 输出”的路径上。

GLM-5

修改更集中在跨 shell 会话保持环境设置,以及从长时间探索转向实现和测试。换句话说,它解决的是“环境状态丢失”和“探索太久不落地”的执行问题。

这正是 Self-Harness 想证明的点:同一个初始 harness 暴露出的失败模式会随模型而变。有效的 harness 优化,应该把模型特定弱点变成具体、可执行、可验证的运行规则。

  1. 对 Agent 工程有什么启发?

如果把这篇论文翻译成工程实践,它给出的不是“让模型自我反思一下”,而是更具体的四条原则。

第一,把 harness 当成版本化资产。 好的 Agent 经验不应该散落在聊天记录里,而应该沉淀为可编辑、可审计、可回滚的 harness 配置。

第二,用轨迹证据驱动修改。 不要因为一条失败日志就立刻改 prompt。先看失败是否重复,根因是否一致,是否能映射到可改的执行表面。

第三,保持小步修改。 单次编辑越大,越难判断是哪条规则产生了效果,也越容易破坏原本成功的行为。

第四,必须有回归门。 Agent harness 的改动不能只看“这次好了没有”,还要看其他任务有没有变坏。没有 held-out 或回归测试,自我改进很容易变成自我过拟合。

  1. 局限性:这不是开放式自我进化

论文也很克制。Self-Harness 目前研究的是固定基准下的有界 harness 编辑,而不是开放域、自主长期运行的自我改进系统。

它的效果依赖三个前提:验证器要足够可靠,执行轨迹要能支持合理归因,任务分布不能和评估分割差异过大。否则,挖出来的失败模式可能是噪声,接受的修改也可能只对特定基准有效。

另外,论文当前的接受规则主要基于通过率非回退。对于更高风险的 Agent,例如会操作真实账户、调用付费接口、修改生产资源的系统,只靠 pass rate 显然不够,还需要更强的安全门限、人工审计和对抗测试。

  1. 结语

Self-Harness 的意义,不只是提出了一个新的 Agent 优化循环。它更像是在提醒我们:Agent 的能力边界,越来越不只是模型权重的边界,也包括 harness 这层工程组织能力的边界。

未来的 Agent 系统,很可能不会只靠人类工程师不断写规则,也不会完全依赖一个外部更强模型来替它改造。更可行的路径,是让系统在可记录、可测试、可回滚的范围内,把自己的失败变成下一版运行规则。

这也是这篇论文最有价值的技术态度:真正的自我改进,不应该只建立在“听起来合理”的自我解释上,而应该建立在行为证据、回归测试和可审计变更之上。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐