☰
大白话吃透大模型Harness自进化!三大范式、核心原理与行业边界详解
2026/10/1 2:50:08 网站建设 项目流程

很多初学大模型、做AI Agent开发的小伙伴,都会陷入一个误区:大模型的性能强弱,只取决于模型权重、参数量和训练数据。

但近几年的前沿论文和工程实践都证实了一个关键点:决定AI Agent上限的,不止是大模型本身,包裹模型的外层Harness(约束外壳)至关重要。

相同的底座模型,更换一套Harness,任务性能差距最高可达6倍!Harness不再是简单的配置外壳,而是可以持续迭代、自主优化的核心模块。

Harness是什么,为什么成了被优化的对象

一个base模型本身跑不出Agent的全部能力。它是个受限于权重和当前上下文的顺序处理器:下一步决策只能用到权重和活跃上下文里暴露的状态。真正让它"动手"的,是包裹在外面的那层Harness:系统提示、工具注册、上下文管理与压缩、编排逻辑、验证规则、失败恢复。ReAct把它简化成"思考 - 行动"循环,Claude Code、Codex、OpenHands把它做成产品级系统。从ReAct到这些产品,Harness长期以来几乎都由人类专家手写。

但有两件事让"Harness是写死的外壳"这个旧看法站不住了。第一,它的有效性是模型相关的:不同模型有不同工具使用习惯、错误模式和提示敏感度,给A模型调好的Harness套到B模型上未必好用。新模型发布越来越快,为每个模型人工重写专属Harness既慢又贵。第二,换Harness的影响量级出人意料,Meta-Harness原文引述,仅更换Harness、固定模型与基准,性能差距可达 6 倍(引自其文献 [47],即SWE-Bench Mobile上的结果;这是该文献报告的极端差距,不一定是典型情况,但足以说明Harness的影响不在小数)。Self-Harness同样指出同一base模型在不同Harness下表现差异巨大。Harness的影响不亚于模型本身,却长期被当成一次性写死的设计。

这两条合在一起,把Harness推到了一个新位置:它本身值得被单独、系统化、反复地优化,而不是写完即定型。于是出现一条清晰的范式演进,从人类专家手写,到外部Agent自动搜索Harness代码,再到模型改自己的Harness。顺着这条演进,三个范式各自怎么改Harness、改完怎么验证,以及六个系统在这条路上各自铺了哪一段、又都卡在哪个边界,就是本文要讲的。六个系统和三个范式的关系需要先说清,免得后面混淆:Self-Harness和Meta-Harness直接是范式三、范式二的代表;AutoSaddler和Self-Harness同属propose-evaluate-accept这一大类(范式三的变体);EnvHarness、Prime Agent、MetaCaster不属于三范式之一,而是把Harness自进化的思路迁移到了新对象:环境、权重通道、非编码域。所以"三范式"指改进者是谁的三种立场,"六系统"是这三种立场及其迁移的具体实例,两者不是一一对应。

三范式演进:人工工程 → Meta-Harness → Self-Harness

前面把Harness推到了"值得被单独、系统化优化"的位置。接下来的问题是:谁来改、改什么、改完靠什么保证它真的变好。三个范式递进地回答这三个问题:谁来改Harness、改什么、需要什么外部资源,三者逐级不同。下图把三种范式放在一张图里对照:人工工程由人改、Meta-Harness由外部更强Agent改、Self-Harness由模型自己改。

图 1:三种Harness改进范式(人工工程 → Meta-Harness → Self-Harness)。来源:Self-Harness论文。

  1. 1 范式一:人工工程

最朴素也最普遍的范式:人类工程师读失败轨迹、改提示、调工具配置、补恢复逻辑。从ReAct的提示模板到Claude Code这类产品级Harness,都属于这一类。它的好处是直接、可控,工程师的领域知识能精准插到具体环节。但它有两个结构性短板:一是不随模型多样性扩展,为每个新模型重写Harness的成本随模型数量线性增长;二是难以系统化验证,一次人工修改有没有泛化、有没有在某类任务上造成回归,多半靠经验判断而非回归测试。当模型数量和任务复杂度一起涨,这条路的边际成本越来越高。

  1. 2 范式二:Meta-Harness——把Harness当可搜索的代码

Meta-Harness把Harness优化从"人工调参"升级为"outer-loop搜索Harness代码"。它的核心机制是:跑一个coding agent当 proposer(即负责提出Harness编辑的那个角色,下文也用"optimizer/evolver"指代它),让它去改Harness的源码,改完拿去评估,把"提议的代码 + 执行轨迹 + 分数"全量存进一个 filesystem,下一轮proposer再读这个filesystem提出新版本,如此循环。整个搜索循环见下图:

图 2:Meta-Harness搜索循环,proposer通过filesystem访问全部历史候选的源码、轨迹、分数,提出新Harness,评估后存回filesystem。来源:Meta-Harness论文。

关键设计在怎么给proposer喂历史经验。文本优化器(OPRO、TextGrad一类)之所以不匹配Harness工程,是因为它们把反馈压得太狠,要么无记忆、只看标量分数,要么只给当前artifact一段短文本反馈。Meta-Harness的判断相反:Harness搜索产生的经验量很快超过上下文窗口,proposer必须自己决定读哪些历史、直接和代码库交互来验证编辑。所以它不给压缩后的per-candidate摘要,而是把全部历史候选的源码、轨迹、分数原样放进filesystem,让proposer检索。实测中,proposer中位每轮读 82 个文件,它确实在主动检索、而非被动读摘要。

这条路证明了"丰富访问历史经验"能让自动Harness工程跑通:文本分类上比SOTA上下文管理系统高 7.7 个百分点且只用其 1/4 的上下文token,检索增强数学在 200 道IMO级题目上跨 5 个held-out模型平均高 4.7 个百分点,agentic编码的TerminalBench-2 上超过最好的人工基线Harness。但Meta-Harness仍有一处关键依赖:那个当proposer的coding agent是外部的,它站在目标Harness之外,去改别人的Harness。这就埋了三个问题:外部optimizer可能很贵;对前沿模型可能根本不存在"更强"的外部代理可用;更关键的是,外部optimizer不一定对齐目标模型的真实失败模式,改的方向可能偏。

  1. 3 范式三:Self-Harness——让模型改自己的Harness

Self-Harness把这个改进循环内化进目标agent自身:同一个固定模型M,既当执行者也当proposer。“we invoke the same fixed model M with current harness h_t in a proposer role”,不引入外部、更不引入更强代理。这是和Meta-Harness的硬分界:改进者就是被改进者。整个循环的总览见下图:

图 3:Self-Harness一轮优化循环总览,当前Harness跑出执行轨迹、聚类成失败模式、同一模型以proposer角色提出有界编辑、回归门验证后接受或拒绝。来源:Self-Harness论文。

它把这个自改进循环拆成三段。

第一段 Weakness Mining:在当前Harness下跑模型收执行轨迹,但不是把失败当孤例。它按一个verifier-grounded的失败签名 φ=(c, q, m) 给失败聚类:c是终端验证器拒绝的原因(超时、缺产物等),q是相关agent行为的因果状态,m是轨迹暴露的可复用机制。两条失败即使验证器结果相同(比如都超时),若underlying agent行为不同,也会被分到不同簇,因为需要的Harness改动不同。这一步的目的是把"表面症状"和"可复用的失败机制"分开,让后续改动能对症到机制而非症状。

第二段 Harness Proposal:还是那个固定模型M,现在以proposer角色拿到一个有界的提议上下文:当前Harness的可编辑surface、第一段挖出的失败模式、应保留的通过行为、此前试过的编辑摘要。它并行生成K条候选编辑,每条必须绑一个主要失败机制、映射到一个具体的可编辑surface,且彼此materially distinct(不能只是换个说法改写同一簇)。多样性跨分支、最小性在分支内,每条编辑只动它要解决的那个机制所需的surface,不碰无关部分,也不重写整个控制架构。

第三段 Proposal Validation:候选不直接采纳,要过回归门。把当前Harness和每个候选Harness都在held-in和held-out两个split上重评,acceptance rule是且且,至少在一个split上提升,且另一个不退化,才promote。只拿一个split换另一个split的提议被拒,哪怕总通过数涨了。随机评估时重复跑再按规则聚合,降低单次幸运run把坏改动扶正的概率。多个兼容候选(改动surface不重叠、互不冲突)同轮通过就合并进下一版Harness,被拒的记进日志但不改当前Harness。每条transition都记下改了哪个surface、两个split的结果、重复次数、接受/拒绝,使整条Harness谱系可审计。

这个范式自陈了边界:它研究的是有界编辑、固定benchmark下的自改进,不是开放式自进化;接受的编辑可能仍反映benchmark特定的失败模式;它依赖verifier和trace的质量;更高风险的改动需要比pass-rate非回归更强的接受门。这些边界留到第 5 节展开。

  1. 4 三范式对照

维度人工工程Meta-HarnessSelf-Harness
谁来改Harness人类专家外部coding agent(proposer)目标模型自身(同一M当proposer)
改什么全部Harness设计要素完整Harness源码(端到端搜索)可编辑surface的有界编辑
需要什么外部资源人力 + 领域知识可执行评估 + filesystem经验池verifier + held-out回归门
代表系统ReAct、Claude Code、CodexMeta-HarnessSelf-Harness

从左到右,改动者离目标模型越来越近、改动越来越有界但越来越可验证。Meta-Harness用外部proposer换来了端到端搜索的自由度,Self-Harness用"自改 + 回归门"换来了不依赖外部强模型的可迁移性,代价是改动范围被收窄到可编辑surface。

作为对象的Harness怎么被改:补丁即代码、环境侧Harness、跨域迁移

确定了"谁来改",下一个问题是"改什么、怎么改"。三个系统分别把Harness当作代码补丁、把Harness思路迁移到环境侧、把整套范式搬到非编码域,落点不同,但都守住同一条底线,改完必须用执行验证来接受,而不是看着合理就上。只是"执行验证"的形式各不相同:EnvHarness跑fresh rollout看行为是否被逼出,AutoSaddler在dev集上看泛化,MetaCaster用hinge-loss度量评估整体优化目标。

  1. 1 AutoSaddler:把Harness当代码做结构化补丁

AutoSaddler和Self-Harness同属propose-evaluate-accept这一大类,但把"改Harness"显式当作一个离线学习问题:用mini-batch的失败信号迭代更新Harness,每个被接受的改动要在dev集上验证泛化。它对"怎么改"的回答浓缩在三句话里,ablation证明这三件事缺一不可。整体迭代流程见下图:

图 4:AutoSaddler迭代优化总览,mini-batch诊断与补丁、验证、反思、进化,产出durable Harness更新。来源:AutoSaddler论文。

第一,深度诊断而非浅层反思。 长程任务的失败往往是多步累积的结果,单条trace的浅层反思抓不到根因。AutoSaddler不把诊断和补丁生成分开:Diagnosis-Patch Agent在诊断阶段收集的上下文直接用于生成补丁,让它能充分利用诊断时看到的细节,而不是诊断完丢掉上下文再另起炉灶写补丁。

第二,定向修改而非无约束编辑。 补丁是结构化的:agent产出一个结构化patch Δθ,组织进一个补丁分类,而不是无差别地重写Harness。补丁被分作两大组:

补丁组作用对象例子
Capability补丁(能力)增加新能力新增一个工具
Steering补丁(引导)改变行为改系统提示、工具描述、hook提醒文本

并且禁止访问与评估或benchmark数据相关的代码,把可改的范围圈死。这种约束让每处改动有迹可循、可回溯。

第三,泛化感知选择而非轨迹特化修复。 每个补丁不仅要让当前mini-batch涨分,还要在一个独立的validation集上评估泛化。补丁通过后进入Reflection Session,比较前后patch效果、归因它为什么有效/无效/退化、判断它是否泛化到dev set,最后由Evolution Session管理补丁历史(用EvoDAG这个DAG重组先前候选补丁),只留下泛化得动的改动。

这套设计的目标是标题里的那个词,durable updates:改动要持久、能泛化,而不是针对某条轨迹的临时贴膏。结果上,AutoSaddler在GAIA2、SWE-Bench Pro、Terminal-Bench 2.0 三个benchmark上分别比base Harness高 9.0、9.6、10.0 个百分点,并超过最强自动基线(GEPA和Meta-Harness,GAIA2 上分别为 64.6% 和 61.5%,AutoSaddler达 72.3%)。

效率侧更直观看:在GAIA2 上用约 1000 次任务执行达到 72.3% dev accuracy,而GEPA和Meta-Harness用了约 2800 次才分别到 64.6% 和 61.5%;按轨迹数算,AutoSaddler用 147 条轨迹就达到最佳,Meta-Harness要 1400 条,约 10 倍差距。核心信息是:深度诊断、结构化补丁、泛化选择三个成分都对效率有贡献,砍掉任何一个都会退化成"浅层反思 + 轨迹特化修复"。

  1. 2 EnvHarness:把Harness思路翻转到环境侧

EnvHarness做了一个关键的翻转。Agent Harness的套路是"冻结LLM、加一层插件把它变成capable agent";EnvHarness把同一套思路用到交互的另一侧:冻结环境,加一层插件把static environment变成customized environment。同样的"加层不改核心",对象从模型换成了环境,见下图两侧的类比:

图 5:Agent Harness与EnvHarness的类比,前者用插件把冻结的LLM变成capable agent,后者用插件把冻结的static environment变成customized environment。来源:EnvHarness论文。

为什么有这需求?agent靠和环境交互获取学习信号,可环境是人工搭的、静态的:它对任何Agent都一个样,不管这个Agent有多弱、弱点在哪,也不管Agent已经进步到哪。环境一旦被学透就没东西可教了,也不针对特定Agent的弱点给信号。手工搭新环境又贵:要重写交互逻辑和verifier。

EnvHarness的约束是:所有干预只动标准接口(reset / step / observation)这一层,底层模拟器和原verifier一个字不改。环境之所以可信,就在于它带着ground-truth verifier;连评分都改了,学出来的东西就不可信了。三类插件对应三种"为难方式":

组件改什么例子
Stage改起点(reset后执行一串动作改场景)把杯子藏进抽屉逼策略先搜索
Contract改交互(动作前置条件、增删遮蔽观测)没拿杯子不许清洗,堵捷径
Chain连接多个基础环境拉长episode任务完成后追加一段延续目标

组件定义里没有"策略"这个变量,所以同一套组件能原样套到任何策略上,跨策略迁移。下图把三类组件如何包裹base environment的标准接口画在一起:底层的Environment完全冻结,Stage、Contract、Chain各自在外层包一层,只改写各自关心的接口方法(起点 / 交互 / 跨环境衔接),原生verifier一路保留。

图 6:EnvHarness三类组件如何包裹base environment的标准接口(reset / step / obs),底层环境冻结,三类组件各在外层包一层、只改写各自关心的方法。来源:EnvHarness论文Figure 3。

但"该为难哪里"得针对某个具体策略的弱点,组件本身策略无关、不能瞎改。EnvRigger把这一步自动化,把策略当黑盒、只看它的执行轨迹,走四步把组件对症到弱点上。整个EnvRigger流程见下图:

图 7:EnvRigger流程,为目标策略诊断弱点、合成候选EnvHarness组件、用fresh rollout验证后接受或迭代修订。来源:EnvHarness论文Figure 4。
▪ Diagnose(诊断):从轨迹定位根因。比如一个策略"不搜索、直接伸手拿,依赖一条绕过学习的捷径"。诊断不止于"它失败了",还要定方向:策略挣扎就搭脚手架、简化任务;成功率满格说明环境太松、逼不出弱点,得把环境调更难。

▪ Write(写组件):据诊断对症写组件。针对"不搜索"这条捷径,EnvRigger写一个Contract,在策略没搜索就伸手时阻断拿取动作,逼它去探索。一个弱点可能要多个组件配合(一个Stage改起点 + 一个Contract堵交互)。

▪ Validate(验证):把候选组件套到环境上,跑策略的新rollout看它有没有被逼出缺失能力、且任务仍可解。依据成功率和失败分布做三种裁决之一:接受(逼出能力且可解)、拒绝(任务变不可解或没挑战了)、细化(信号尺度不对)。要细化就把轨迹反馈回流到Write,重复"写-验"循环,直到接受或预算耗尽。

核心就是这条"写-验"循环:只采纳被新鲜轨迹证实有效的东西,而不是"看起来合理就上"。这里有个范围限定:EnvRigger的自动化只覆盖Stage和Contract两类,Chain组件连接多个环境,EnvRigger难以观察被连接环境的内部状态,所以Chain不进自动循环、只在单独分析中考察。反复跑这个EnvRigger loop,就实现策略与环境的持续共进化,性能随定制任务数compound增长,而不是早早plateau。

结果上,EnvHarness在五个基准(具身的ALFWorld、浏览的WebArena、软工的SWE-bench Verified、办公的OfficeQA和SpreadsheetBench)上超过原始环境,held-out任务最高 +9.0 个百分点且交互步数少 9.8%,强化学习设定下最高 +6.5 个百分点。

  1. 3 MetaCaster:范式迁移到非编码域

前面几个系统都在coding agent上转。MetaCaster把Harness自进化范式搬到了时序预测,证明这不是coding专属的方法论。它先立了一个范式区分:已有的LLM用法要么是LLM-as-Forecaster(预训练LLM加适配器当预测骨干)、要么是Agent-as-Forecaster(LLM agent直接读时序、对话式给预测),MetaCaster走第三条,Agent-as-Engineer:Agent不当预测器,而当"工程师",为部署目标生成数据、训练并挑选轻量预测器,推理时只用选出的轻量模型。下图把三条范式放一起对照:

图 8:三种用LLM做时序预测的范式对比,(a) LLM-as-Forecaster用LLM当骨干、(b) Agent-as-Forecaster让agent直接预测、© MetaCaster让agent当工程师去训练轻量预测器。来源:MetaCaster论文。

具体到MetaCaster:MGAgent负责按few-shot样本和上下文生成合适数据集,FTAgent用它训练并选出最好的轻量预测器。

关键在于,MGAgent自身的外部Harness被HPAgent(一个meta-harness)优化。HPAgent在outer loop里跑三段:收集MGAgent/FTAgent的性能证据、诊断、编辑Harness参数 θ,并用一个基于hinge-loss的度量评估整体优化目标(生成数据与真实数据间的性能差距),能rollback有害更新、在优化结束时输出最佳 θ。整体框架见下图:

图 9:MetaCaster的Harness优化框架,HPAgent作为meta-harness在outer loop优化MGAgent的Harness,落点是时序预测的轻量预测器训练。来源:MetaCaster论文。

这和Meta-Harness的结构同构:有一个optimizer去改Agent的Harness、改完要评估再接受,但MetaCaster的落点是"比fine-tuning LLM更省",而且优化后的Harness可跨LLM迁移,下游部署能灵活切换API。意义不在于时序预测本身做得多好,而在于:只要Agent外部有可编辑的Harness结构,自进化范式就能套上去,不必局限于coding agent。

打通权重:从Harness进化到轨迹训练下一代模型

前面四个系统都守着同一条边界:模型权重固定,只改外部Harness。这是Harness自进化之所以"安全"的前提,不动权重,就不需要再训、不碰GPU、不冒训崩的风险。但只要把视角拉远一点,一个自然的问题就冒出来:Harness改了一轮又一轮,留下的那些轨迹,能不能反过来训练下一代模型?Prime Agent正是把这条从Harness到权重的通道接了起来。它的整体架构见下图:

图 10:Prime Agent总览,持久root与subagent会话连接daemon、Continual Harness、Agents View和环境,实线传递执行与消息、虚线传递持久状态。来源:Prime Agent论文。

它分两个层次。

  1. 1 当前层:纯Harness自进化(Continual Harness)

Prime Agent把信息状态分成L0–L3 几层:模型权重是L0,活跃上下文是L1,持久REPL与递归子代理是L2,磁盘上的历史、记忆、技能是L3。这个分层的用意是借了von Neumann架构里"可寻址状态"的概念,模型能读、改、写当前指令之外的、可寻址的状态,而不是只能读当前prompt里的token。Harness自进化主要发生在L3(refinement版本化更新L3 条目),权重不动。分层结构见下图:

图 11:Prime Agent的状态层级L0–L3,L1 与L2 之间的边界区分了上下文内状态和上下文外、可寻址的持久状态,refinement在L3 做版本化更新而权重L0 不动。来源:Prime Agent论文。

除了状态分层,Prime Agent还靠两块机制把"长程、可自改进"撑起来。一块是多代理编排与直接通信:root session可以派生subagent session,subagent还能再嵌套,它们通过daemon的rlm() 调用和handle直接通信、不靠固定的调度图,每个session有自己的生命周期状态(ADMITTED/RUNNING/IDLE/INACTIVE)。这让人能inspect、attach、介入某个subagent而不必跟每一轮交互。编排生命周期见下图:

图 12:Prime Agent多代理编排,root与subagent session通过daemon直接通信,支持嵌套,每个session有独立生命周期状态,人可介入任意子会话。来源:Prime Agent论文。

另一块是长程控制的三种机制,用来支撑多日、多步的执行:Autonomous mode在显式预算内持续turn,每轮后跑一个end-condition测试,过了才停、没过带有限输出继续;Goal把目标跨延续保留,直到Agent自己标记完成;Heartbeats按cron或定时触发turn。三种机制解决"什么时候继续、什么时候算完"的长程问题,配合标准化的persistence/recovery/termination/accounting把Harness失败和模型失败分开计。长程控制机制见下图:

图 13:Prime Agent的长程控制机制,Autonomous mode在预算内跑到通过测试、Goal跨延续保留目标直到完成、Heartbeats定时触发turn。来源:Prime Agent论文。

有了分层状态、多代理编排、长程控制这三块,Prime Agent才能稳定跑长程任务、并把执行证据沉淀回Harness状态。Continual Harness暴露的接口正是干这个的:prompt notes存行为指令,memories存事实,skills打包可执行过程,subagent specifications存可复用角色或分工。它把refinement显式定义成"把执行证据转成版本化状态更新",有用的计算变成skill,重复的协调模式变成subagent specification,被纠正的假设变成memory或prompt note。每次更新在turn边界应用、记下触发条件和预期效果、给下一轮调用装配补充状态,版本保留provenance、可回滚。refinement补充的是不可改的base prompt,不重写基础policy。

这一层的要点是:自改进把执行证据转成持久的、能改变后续行为的Harness状态,同时模型权重保持固定。这和Self-Harness的propose-evaluate-accept不同:Self-Harness改的是Harness的配置定义文件(怎么声明、怎么控制Agent),Continual Harness改的是运行时持续生长的typed state(prompt notes / memories / skills / subagent specs)。两者一个偏"改配置"、一个偏"改记忆",但都守住权重不动这条线。

  1. 2 延伸层:轨迹训练下一代模型

Prime Agent在一处提到了方向性的延伸:它说"产出的trajectory record也为later model generations提供训练数据"。注意这是Prime Agent提出的设想,不是已验证的闭环。它的实测(Factorio上refinement带来持续技术进步、ARC-AGI-3 上Best@1 从 30% 提到 95.5%)都是refinement在当前模型上的结果,不是"训练下一代权重后"的结果。所以这里要区分两件事:Prime Agent的当前层(Continual Harness)权重不动,只是把执行证据转成持久Harness状态并留下trajectory record;"为later model generations提供训练数据"是一条设想中的通道:轨迹可以留给将来训练下一代模型,但Prime Agent自己并没有在线改权重,本文也未见这条环已闭合的证据。

如果这条设想真的走通,意义在于把Harness自进化从"非参数层面的改进"接到"参数层面的改进":Harness变强 → 留下更好的轨迹 → 轨迹训练下一轮权重 → 更强的模型又跑出更好的轨迹。但目前这一步还停留在设想,环没有闭合,自改进仍受限于"只改外部"。

更激进的方向是把Harness改进和权重更新放进同一个优化loop。SIA这类早期尝试设计了一个Meta-Agent提初始Harness、一个Task-Specific Agent执行任务、一个Feedback-Agent根据近期轨迹决定"该改Harness还是该改权重",由一个反馈代理判断瓶颈在哪一侧,再决定把改进预算投到非参数还是参数。

但即便是这类尝试,也还在早期:它把"改Harness"和"改权重"当两个并列的可选项交给一个调度器,没有解决两者之间的因果归因,一个任务失败,到底是harness没配好、还是模型能力不够,Feedback-Agent的判断本身缺乏硬证据。真正闭合这条环,需要的不只是调度,而是能区分"瓶颈在外部脚手架"还是"瓶颈在模型本身"的诊断能力。这恰好是Self-Harness的addressability判据和AutoSaddler深度诊断想要回答的同一个问题。只不过它们的答案目前只服务于Harness那一侧,这也是为什么第 5 节把"区分瓶颈在脚手架还是模型本身"列为尚未回答的边界,而不是已闭合的成就。

风险与边界:过拟合、Harness-updating ≠ benefit、谁监督优化器

前面四节把Harness自进化讲成一条越走越顺的路:从人工调到自动搜索,从外部proposer到模型自改,从改配置到改记忆,再到轨迹反哺权重。但这条路每一段都有它没跨过的边界。把这些边界摆出来,比把它写成"前景广阔"更有用。

边界一:过拟合到benchmark特定失败。 Self-Harness自己把话说在前头,它研究的是有界编辑、固定benchmark下的自改进,不是开放式自进化;被接受的编辑可能仍反映benchmark特定的失败模式,换一批任务就未必成立。这指向一个真实的张力:acceptance rule用的是held-out split的非回归,能挡住"过拟合到held-in"的改动,但挡不住"过拟合到整个benchmark家族"的改动。更高风险的Harness改动需要比pass-rate非回归更强的接受门,这是Self-Harness自己承认的。AutoSaddler用独立的validation集和泛化感知选择去补这个口,方向一样:改动要在没见过的数据上站得住,才算durable。

边界二:能改好Harness的,不等于能用好Harness。 这是最反直觉的一条。Lin et al.(2026)把Harness自进化拆成两种独立能力:Harness-updating(从执行证据产出有用的Harness更新)和 harness-benefit(任务执行时真的吃下更新、用得上)。结论两条:第一,Harness-updating几乎不随模型能力变化,Qwen3.5-9B写出的更新带来的增益,和Claude Opus 4.6 写出的相当;第二,Harness-benefit非单调,弱档模型几乎无益(它们连相关Harness artifact都激活不了、或激活了也不照着做),中档模型受益最大,强档模型反而比中档受益少(一个可能解释是强模型已自带更新所提供的行为,边际收益递减,但Lin et al. 是否给出这个归因本文未核查)。

这推翻一个直觉:不是模型越强,Harness自进化越划算。真正的瓶颈不在写更新的那个evolver,而在用更新的那个task-solving agent。对工程实践的硬启示是:把能力预算投到执行agent而不是evolver,便宜模型能写出够用的更新,但执行端不能太弱,否则再好的更新也吃不下。这里有个口径要注意:Lin et al. 的设定里evolver和task-solving agent是可分离的两个角色(用 9B写更新、给Opus用),和Self-Harness"同一模型M既当执行者又当proposer"的设定不同,结论是否原样外推到Self-Harness的"同一M"情形,需要谨慎。

边界三:有界编辑vs开放式自进化。 目前所有系统的"自进化"都被一条隐形绳子拴着:改动有界、benchmark固定、verifier可信。Self-Harness改的是已声明可编辑surface的有界编辑,AutoSaddler把补丁限制在结构化分类内、禁止碰评估代码,Prime Agent的refinement补充而不重写base prompt。

这些约束不是保守,是必要,没有有界性就没有可审计、可回滚、可回归测试。但这也意味着,目前没有任何一个系统真正实现了"开放式"自进化(让agent自己决定改哪些surface、改到什么程度、何时停止)。开放式自进化是那条路的终点,现在还没走到。

边界四:谁监督优化器。 Meta-Harness用外部coding agent当proposer去改别人的Harness,留了一个口子:这个外部optimizer谁来保证它改的方向对?它不一定对齐目标模型的真实失败模式,这是Self-Harness把循环内化进目标模型自身的主要动机。但Self-Harness把optimizer内化后,问题并没有消失,只是换了形态:当被改进者就是改进者,对同一个失败模式的盲点会被重复继承,这正是质量流程里"同一盲区连续命中即升级"要防的,在Harness自进化里同样成立。

SIA那类把"改Harness还是改权重"交给Feedback-Agent调度的尝试,更把这个归因问题摆到了台面:一个任务失败,到底是Harness没配好、还是模型能力不够,这个判断本身目前缺乏硬证据。区分"瓶颈在外部脚手架"还是"瓶颈在模型本身",是闭合从Harness到权重那条环必须先回答的问题,而现在它的答案只服务于Harness那一侧。

还有两条边界值得提一句但不展开:自进化全流程依赖verifier和trace的质量,verifier不可信则一切回归门都失效;以及评估成本仍是实际瓶颈:Meta-Harness中位每轮读 82 文件、AutoSaddler在GAIA2 上要跑上千次任务执行,这些不是免费的。

回到开头那个判断:换一套Harness、固定模型,性能能差 6 倍。这件事的意义不在于"Harness比模型重要",而在于它把一个一直被当成"写完即定型"的外壳,推成了可以迭代、可以验证、可以自改进的对象。

这篇文里六个系统做的,就是把这条路的几段铺出来:谁改、改什么、改完怎么验证、能不能接到权重。每段都还没跨过自己的边界:还没解决benchmark特化、还没分清updating和benefit的瓶颈、还没走到开放式自进化、还没回答谁监督优化器。把这些边界当现状坦白出来,比假装已经跨过去更接近这条路的真实位置。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

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

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

大模型入门到实战全套学习大礼包

1、大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!


2、大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

3、AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

4、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

5、大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

适用人群

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询