上海AI Lab提出Self-Harness:AI自己找bug、自己打补丁、自己验效果 📅 2026/7/31 19:41:28 摘要LLM Agent 的表现由两部分决定底座模型以及包裹在模型外面、负责它与环境交互的harness系统提示词、工具、运行策略、校验规则等。不同模型行为差异巨大所以好 harness 天然是因模型而异的可现实里 harness 几乎全靠人类专家手工打磨扩展性极差。本文提出Self-Harness新范式让 Agent 用自己的底座模型改进自己赖以运行的 harness。它被拆成三阶段迭代循环——弱点挖掘、方案提出、方案验证并在 Terminal-Bench-2.0 上用 MiniMax M2.5、Qwen3.5-35B-A3B、GLM-5 三个模型验证三者通过率一致提升且改动都是针对性、可执行的而非泛泛加长提示词。论文标题: Self-Harness: Harnesses That Improve Themselves作者: Hangfan Zhang, Shao Zhang, Kangcong Li发表年份: 2026原文链接: https://arxiv.org/abs/2606.09498关键词: [LLM Agent, Agent Harness, 自我改进, 弱点挖掘, 回归测试, Terminal-Bench-2.0]研究背景为什么谁来改 harness是个大问题我们早就知道同一个底座模型套上不同的 harness表现能差出十万八千里。从最早的 ReAct到 Claude Code、Codex、OpenHands 这些产品级系统harness 一直是人肉工程的产物。但当模型一个月迭代一版、家族越来越多时这种模式开始撑不住了。论文把痛点拆成三条痛点一harness 是因模型而异的人工无法规模化。不同模型有各自的工具使用习惯、错误模式、对提示格式的敏感度——为 A 模型调好的 harness换到 B 模型可能就是次优解。每出一个新模型就要人肉重调一遍成本特别高。痛点二许多失败其实是外壳层的失败而不是模型不行。论文一针见血Agent 常见的翻车——没检查产物就宣布成功、反复重试同一个无效动作、在长上下文里丢掉真相源头、缺少一个恢复动作——这些都不是模型单次回答的问题而是指令、观测、工具、运行控制之间交互出的问题光改提示词文本救不回来。痛点三现有自动改 harness的方案多半要请一个更强的外部 Agent 当老师。比如 Meta-Harness 就是用强模型去优化弱模型的 harness。可前沿模型往往没有更强的老师可用外部指导也可能与目标模型真实的失败模式对不上号。换句话说最懂一个模型踩什么坑的其实是它自己。方法总览让模型照镜子自我改造Self-Harness 的核心思路可以一句话概括把改 harness这件事从人类专家或外部优化器手里收回到被评测的模型自己身上形成一个由执行证据驱动的自我改进闭环。论文用一张图对比了三种范式——人工工程、Meta-Harness强模型带弱模型、以及 Self-Harness对着镜子改自己harness 改进的三种范式对比整个循环由三个阶段串成一条 pipeline用 ASCII 画出来就是这样一个越滚越好的飞轮初始 harness h_t │ ▼① 弱点挖掘 Weakness Mining ─→ 跑任务 → 聚类失败 → 结构化证据包B_t │ ▼② 方案提出 Harness Proposal ─→ 同一个模型当提案者→ 生成 K 个小而多样的候选改法 │ ▼③ 方案验证 Proposal Validation ─→ held-in held-out 回归测试 → 达标才合并 │ ├─ 有通过 → 合并成 h_{t1}进入下一轮 └─ 全被拒 → 保持 h_t 不变一轮完整循环的官方框架图如下请重点看三个色块蓝挖弱点、绿提方案、橙验证以及右侧接受则更新 / 全拒则不动的分叉一轮 Self-Harness 优化循环总览核心思想把 harness 的每一次改进都当成一次有证据、可验证、可回滚的经验性状态转移——而不是拍脑袋写一段更长的提示词。关键结论• 同一个模型能改好自己的外壳且是对症下药。全程冻结模型权重与评测器只动 harness三个模型MiniMax M2.5 / Qwen3.5-35B-A3B / GLM-5通过率一致上升绝对增益最高21.4pp、相对增益最高138%。• 改动能泛化到没见过的任务而非过拟合评测集。held-out提案者从未见过其轨迹的任务通过率同样大涨且没有任何一个被采纳的 harness 让任一 split 退步——回归门槛真正拦住了拆东墙补西墙。• 不同模型被诊断出不同病灶改法各异。M2.5 学会尽早产出文件 长工具循环后强制收敛Qwen3.5 补上依赖预检 工具报错中间件GLM-5 则聚焦环境变更跨会话保持 从探索转向落地。深度拆解三阶段闭环到底怎么跑论文把整个流程写成了 Algorithm 1读代码比读散文更清楚——注意第 11 行那个接受判据它是整套方法的灵魂Self-Harness 算法伪代码阶段一弱点挖掘——把零散翻车聚成可复用的病灶第一步是跑任务、收轨迹。在第 t 轮固定模型 M 在当前 harnessh_t下跑 held-in 任务集每个任务产出一条执行轨迹 τ 和结果 y评测器 E 判定 pass/fail得到一批记录。关键在于它不把失败当孤立轶事。系统只挑出失败记录再按一个验证器锚定的失败签名聚类φ(r) (c, q, m)分别是——终端验证器暴露的失败原因 c、相关 Agent 行为的因果地位 q、以及暴露出的抽象行为机制 m。只有这三者完全一致的失败才会被归到一类。 类比这就像医院分诊。两个病人都发烧超时同样的验证器结果但一个是细菌感染、一个是病毒感染底层机制不同得开不同的药不同的 harness 改法。Self-Harness 拒绝只看发烧这个表象去乱开药坚持先定位病根。最终这一阶段吐出一个证据包B_t按支持度和可修复性排序让提案者优先看到那些最可能对应到高价值改动的复发机制。阶段二方案提出——同一个模型换个提案者身份上场拿到证据包后论文不请外部优化器而是让同一个固定模型 M还带着当前 harness以提案者角色出场。喂给它的是有边界的上下文当前 harness 里可编辑的表面、验证器锚定的失败模式、需要保留的成功行为、以及以往试过的改法总结。它会并行生成 K 个彼此不同的候选改法每个改法Δj都绑定一个主失败机制、映射到一个具体可编辑表面。论文强调两条铁律分支之间要多样diverse单个分支内部要极简minimal——每次只动为解决该机制所必须的那一小块绝不大改控制架构。 类比好比给一台跑偏的老车做保养规矩是一次只换一个零件、且必须说清楚换它是为了治哪个毛病而不是把整台车推倒重造。这样每个改动都可解释、可追责。那么初始 harness长啥样论文故意把它做得极简——只有一段 benchmark 系统提示、默认的读写文件与 shell 工具外加一批声明好、可被改写的接口bootstrap 指令、执行指令、校验指令、失败恢复指令、运行控制策略等作为起点的极简初始 harness 及可编辑接口阶段三方案验证——一条绝不退步的保守晋级线候选改法不会被立即采纳。每个候选都被当成一个新 harness 变体在 held-in 和 held-out 两个 split 上重新评测。设Δin、Δho为候选相对当前 harness 在两个 split 上通过数的变化量接受判据是翻译成人话至少一个 split 变好、且另一个 split 不许变差。哪怕总通过数增加了只要它是用 held-out 的退步换 held-in 的进步一样被拒。若多个候选同时达标就把它们的改动合并进下一版 harness被拒的记录在案但不生效。每一次 harness 的谱系转移都因此可审计。一个真实的改造前后案例论文给了一张极有说服力的轨迹对照图MiniMax M2.5 在count-dataset-tokens任务上。左边是初始 harnessAgent 找到关键元数据后还在没完没了地探索数据集最后超时、连/app/answer.txt都没写右边是改造后它锁定 science 子集、算出 token 总数、写文件、还回读校验了一遍MiniMax M2.5 改造前后的执行轨迹对照深度拆解续三个模型各自进化出了什么Self-Harness 的进化不是一条平滑上升曲线而是少数几次通过验证门的改动 大量被拒提案。以 MiniMax M2.5 为例它从 42.2% 一路被推到 53.9%最终保留了三个改动尽早创建产物治缺产物、用正确的内容标签治schema 不合法、50 次工具调用后强制转向治卡死在工具循环。下图左边是进化轨迹绿点被接受、灰叉被拒右边是最终保留下来的代码级 diffMiniMax M2.5 的 Self-Harness 进化轨迹与保留改动 类比这特别像新员工入职后的复盘式成长——第一次因为迟迟不交东西被提醒先出个初版再打磨第二次因为格式错被教用对字段标签第三次因为钻牛角尖被拉一把别死磕了收敛。每条经验都来自一次真实翻车。值得一提的是Self-Harness 甚至能提出超越局部修补的结构性机制比如基于子 Agent 的任务分解、以及自动创建中间件middleware。这些是对问题求解整体组织方式的改进而不只是打补丁。实验结果数字说话实验设置benchmark 为 Terminal-Bench-2.089 个容器化终端任务测工具使用、产物管理、校验行为、错误恢复作者取其中稳定的64 个任务剔除依赖不稳定外部资源和需要多模态输入的题。三个底座模型MiniMax M2.5、Qwen3.5-35B-A3B、GLM-5。主指标为Pass(%)每个 harness 候选跑两遍取平均。任务被固定切成 held-in给提案者看轨迹和 held-out只给晋级门用、提案者永远看不到两份。RQ1只改 harness到底能不能提升看主结果图。灰柱是初始 harness绿柱是 Self-Harness 产出的最终 harness绿柱上方标注的是相对增益Terminal-Bench-2.0 上三模型的通过率对比三个模型全线上涨。held-inM2.5 43.0→50.016%、Qwen3.5 15.1→36.0138%、GLM-5 47.7→57.020%。 洞察底子越弱、初始 harness 越水土不服的模型Qwen3.5 才 15.1%从自我改造里榨出的相对收益越夸张。RQ2这些改动是真本事还是过拟合评测集从上面的柱状图来看 held-out——那些提案者从没见过其失败轨迹的任务。结果 M2.5 40.5→61.953%、Qwen3.5 23.8→38.160%、GLM-5 42.9→57.133%且没有任何一个被采纳的 harness 让任一 split 退步。 洞察这正是那条绝不退步判据的价值——它逼着方法去找可复用的执行机制而不是背答案式地贴补丁。RQ3改的是针对性病灶还是无脑加长提示词看 Qwen3.5 的进化轨迹与保留 diff。它采纳了依赖预检、探索/缺产物循环破除、避免精确重复命令、以及工具报错触发的产物中间件四个改动而尝试过的子 Agent 分解和技能两条分支因为没带来进一步提升被果断丢弃Qwen3.5 的 Self-Harness 进化轨迹与保留改动对照三个模型M2.5 强调内容标签格式与长工具调用后转向Qwen3.5 引入依赖预检与别重试一模一样的命令GLM-5 则努力让命令环境跨 shell 会话保持。 洞察同一个极简初始 harness在不同模型身上暴露出完全不同的执行病理Self-Harness 确实是在因材施教而不是给所有模型灌同一碗鸡汤。收敛性、边际效应与局限GLM5 的 Self-Harness 进化轨迹与保留改动从三张进化图能看出明显的边际递减前几次被采纳的改动一口气把通过率抬升一大截如 M2.5 的 42.2→50.0之后进入大量被拒、偶尔小步前进的平台期。原因也很直白——容易识别、又容易被一小段执行规则修好的高价值病灶是有限的剩下的失败要么是任务本身难、要么是模型能力天花板压根不该被硬塞进一个 harness 补丁里。有一个共性贯穿三者产物可靠性artifact reliability——M2.5 的尽早产出、Qwen3.5 的产物中间件、GLM-5 的从探索转向落地本质都在保证该交的文件最后真的在。学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%免费】