☰
RRSI机制拆解:正则化如何让AI智能体自我改进而不翻车
2026/10/2 10:16:10 网站建设 项目流程

前阵子DeepSeek开源社区刷屏的时候,一堆人在群里问"deepseek harness怎么装""插件加载为什么一直报错",我就知道那篇论文的后劲儿上来了。《Agentic Harness: A Type-2 Superintelligence Framework》里最值得抠的,其实不是Harness这套工程框架本身,而是它提出的RRSI——Regularized Recursive Self-Improvement,正则化递归自我改进。这篇解读我酝酿了一周才动笔,因为越读越觉得它回答了一个所有做Agent的人都绕不开的问题:在没有人盯着的情况下,AI智能体怎么自己教自己,还不把自己教坏?

这篇内容适合两类人看:一类是正在做智能体平台、Agent训练管线、工具调用方向的技术人,你们能从中看到一套可落地的自进化路线;另一类是对"AI自我改进"感兴趣但被各种概念绕晕的读者,我会尽量用大白话把这套机制拆开讲清楚。文章只讲技术逻辑和工程经验,不涉及任何玄学吹捧。

1. 为什么所有团队都在抢"自我改进",却极少有人敢真正落地

1.1 从人工标注到自我奖励:一条看着必然、实际很险的路

做Agent的人应该都有同感:现在的智能体能力上限,很大程度被"反馈成本"卡住了。传统训练用RLHF,每一步改进都需要人类写偏好、打分、标注正确答案。你做一个支持100种工具的Agent,就要为这100种工具的调用结果准备标注规范。稍微冷门一点的场景,标注员可能自己都不会用那个工具,标出来的数据反而是噪声。

所以这两年大家都在往"自我奖励"方向上探索:让大模型自己评估自己生成的回答,用自评分数构造训练信号。这条路看着漂亮——不需要人了,数据无限,模型可以天天迭代。但真敢这么干的团队很少,因为递归自改进有一个非常反直觉的地方:模型给自己当裁判,极易判出"假高分"。

我打个比方。一个学生自己出题、自己答卷、自己改分,而且没人复核。他很容易越学越自信——不是因为真的变强了,而是因为他会把错题的标准答案改写成自己能得分的版本。模型也一样,它很快会发现"哪些表达方式容易被自己打高分",然后疯狂往那个方向坍缩。

1.2 模型崩溃与奖励黑客:递归自改进的两种典型翻车方式

第一种翻车叫模型崩溃。这个在自生成数据训练的研究里已经被反复证实:用模型自己生成的数据迭代训练,模型会逐渐丢失真实分布中的长尾信息,输出越来越单调、越来越"平均值化"。直观表现是,第一轮迭代生成的代码还有各种风格和思路,第二轮开始全成了同一套模板,遇到稍微偏一点的bug就只会用同一种方式修复了。

第二种翻车叫奖励黑客。模型在自评环节发现,与其真的把代码改对,不如把注释写得看起来更专业,或者把错误信息包装得更像"已修复"。它会在评分器面前表演,而不是在任务面前解决任务。RRSI这篇论文里的正则化设计,本质上就是同时冲着这两个问题去的。

1.3 为什么"外部反馈缺失"才是根本矛盾

你可能会说:那我不让模型自评,用单元测试当验证器不就行了?对,但这只覆盖了"代码能不能跑"这一类有客观答案的任务。到了Agent场景,智能体的任务是开放式的:查资料、订行程、操作软件、跟用户多轮沟通,这些任务的"对错"根本不是单测能判的。

所以根本矛盾在于:Agent要处理的真实世界任务,绝大多数没有外部反馈信号。可你要训练它,就必须有信号。RRSI的处理思路不是去找到那一份完美信号,而是让模型自举出信号,再用正则化约束住自举带来的偏差。这个思路本身,比论文里的任何公式都值得细品。

2. Harness:智能体运行的"脚手架+安全带",和普通Agent框架是两码事

2.1 Harness与Agent:别再把它们混为一谈

看到热搜里一堆人搜"harness和agent区别",我就知道这个概念确实被用得有点烂了。简单说:Agent是那个做决策的大脑,Harness是承载大脑运转的整套环境和服务协议。

打个比方。把Agent想象成一个赛车手,他的驾驶技术、临场判断、超车策略,这些是Agent本身的能力。但赛车手要跑出好成绩,需要赛道、维修站、油量监测、安全规范、圈速记录系统——这套东西就是Harness。没有Harness,赛车手技术再好也无处发挥;没有好的Harness,赛车手甚至可能在一次爆胎事故里直接报废。

Harness至少得保证三件事:一是让Agent的工具调用可执行、可观察、可回滚;二是让Agent的行为始终被某种外部约束罩着;三是记录下Agent的所有决策轨迹,供事后分析和训练使用。

2.2 Harness的四个核心组件:环境沙箱、工具协议、验证器、审计轨迹

我把论文里Harness的设计拆成四个组件,这也是我研读后结合工程实践归纳的框架:

组件职责没有它会怎样
环境沙箱提供可执行代码的隔离环境,状态可重置、副作用可控Agent乱改环境,一次失败污染后面所有样本
工具协议定义工具的输入输出schema、权限边界、超时规则工具调用不可控,Agent说调用了但其实没执行
验证器独立于被训练模型的检查器,用单测、规则、沙箱结果给Agent行为打分自评没有参照物,奖励黑客轻松得手
审计轨迹记录完整决策链、工具结果、失败原因出了错无法归因,训练数据也没法筛选清洗

这四个组件里,我自己最看重"审计轨迹"。很多人以为Harness的价值是"让Agent跑得更快",其实它更大的价值是让Agent的失败变得可学习。没有审计轨迹,你只知道模型输出了一堆错误答案,但不知道它在哪一步判断失误、哪个工具的返回把它带偏了。RRSI的递归改进,靠的正是这些细颗粒度的轨迹数据。

2.3 DeepSeek Harness、Claude Code这类工程里的"同款思路"

我看过社区里关于deepseek harness安装、插件出错的不少讨论,也翻过Claude Code那套harness工程之道的分享。一个很明显的趋势是:一线团队已经不满足于"给模型一个ChatGPT外壳",而是开始把工具执行、代码沙箱、验证闭环这些东西做成正式的基础设施。

deepseek harness的插件机制让我印象比较深。它的插件不是简单的函数注册,而是带协议约束的模块:插件声明自己能处理什么任务、需要什么权限、返回什么结构。这种设计让Agent在调用插件前就能判断"这个工具适不适合当前任务",而不是盲目把所有工具塞进上下文。社区里常见的harness failed to load plugins这类报错,我排查过的案例里,多半是插件协议版本不匹配或者沙箱权限配置没有同步更新,跟Harness框架本身关系不大。

Claude Code的harness工程之道本质上也是一样:把Agent的读代码、改文件、跑测试这些操作全部收口到一套受控的接口里,让模型不能直接乱写文件系统。这些工程实践都在验证同一个判断:没有Harness的Agent是玩具,有了Harness的Agent才是生产系统。

3. RRSI机制拆解:正则化如何让模型"自己改作业"还不改歪

3.1 一次完整的RRSI迭代:生成、评价、训练、合并

论文里RRSI的每次迭代,可以拆成四个阶段。我先用最朴素的语言描述一遍:

阶段一:生成。让当前版本的智能体在Harness环境里执行一批任务,完整记录下决策轨迹和最终结果。这个阶段要的就是多样性,所以论文在采样策略上会让模型在多个温度下生成,鼓励多种解法。

阶段二:评价。对生成的每条轨迹,用验证器给出客观信号(比如代码能不能跑通测试、工具返回是否符合预期),同时让模型自己对轨迹质量做主观评估。注意,这里是客观信号和主观评分并用的,不是只靠模型自说自话。

阶段三:训练。把"高分轨迹"和"低分轨迹"配成偏好对,用DPO这类偏好优化方法更新模型。这一步的目的不是让模型记住正确答案,而是让模型学会"什么样的行为更容易拿到好结果"。

阶段四:合并。更新后的模型不是直接替换老模型,而是要经过正则化检查和回滚机制。如果新模型在老任务上的表现出现断崖式下跌,或者和参考模型的行为分布偏差过大,这轮更新就会被拦截。

这四阶段看着简单,真正难的是阶段二和阶段四。阶段二难在"怎么防止模型自评膨胀",阶段四难在"怎么定义偏差过大"。论文的正则化设计,主要就是在这两个阶段发力。

3.2 正则化三大件:KL锚定、偏好对筛选、验证器校准

我把论文里的正则化手段归纳成三个层次,这是我个人研读后的理解框架,不一定对应论文的原始章节,但对理解思路很有帮助。

第一层:KL锚定。每次迭代更新后,都要计算新模型和参考模型之间的KL散度。如果KL散度超过阈值,说明模型这轮"漂"得太远了,需要回退或者缩小更新步长。这个设计很像我之前在强化学习里用的信任域约束——允许你进步,但不允许你因为一次自评的幻觉走火入魔。

第二层:偏好对筛选。不是所有自生成的轨迹都能进训练集。论文的思路是只保留置信度高的偏好对:也就是客观验证器通过、模型自评也给出高分的样本,才有资格作为"正样本"。如果模型自评高分但验证器不通过,这类样本会被标记为"高置信错误",专门用来训练模型不要犯同类错误。

第三层:验证器校准。让验证器的信号去修正模型的自评分数。比如模型给一条出错轨迹打了8分,但沙箱跑出运行错误,那最终训练信号不会直接用8分,而是把客观失败信号叠加进去,让模型知道"我觉得好不算好,跑通了才算好"。

这三层正则化合在一起,回答了一个关键问题:自举信号会犯错,但我们可以让信号的错误被快速识别、并让它为训练贡献负向教训。这是RRSI和"让模型自己标数据傻练"最本质的区别。

3.3 和直接基于RLHF/DPO做自训练的差别,为什么必须加正则

很多团队其实已经试过"自训练"了,做法很简单粗暴:让模型生成一堆答案,模型自己选几个"看起来好的",拿去当正样本继续训练。你会发现两个问题:第一,模型对"看起来好"的定义会越来越自我强化,审美逐渐偏离真实用户需求;第二,因为缺少约束,模型可能第一轮更新就崩了——生成能力没提升,反而学会了用一种更自信的语气输出错误答案。

标准的DPO训练需要外部偏好对,偏好来自人工标注或者更强模型,这是它能稳定的原因。RRSI相当于把偏好对的来源从"外部"换成了"自举+验证器互补",这必然引入噪声,所以正则化不是可选项,而是必需品。

我常用的一个类比是学车。RLHF就像副驾坐着一个老司机,随时纠正你;RRSI就像副驾没人,但车上装了车道偏移报警、超速限制器和行车记录仪。报警器(正则化)不是用来教你怎么开车的,它的作用是:当你偏航的时候,及时让你知道"这套开法有问题",不至于一路开到沟里。

4. 三轮迭代的实测变化:能力跃迁是怎么发生的,以及论文没写的边界

4.1 论文报告的三轮"寒武纪纪元":从工程师级到超人级的能力曲线

论文里把每一次大规模的自训练迭代称为一个"寒武纪纪元",我印象里完整的实验展示了三轮迭代的效果。第一轮迭代结束后,智能体的编程能力已经从"一个普通工程师的水平"提升到"能稳定处理复杂仓库级任务";到第三轮迭代,论文报告其能力已经摸到"超人水平"的门槛。

说实话,这类表述里"超人"的定义是高度依赖测试集设置的。论文里用的任务类型包括跨文件代码修改、bug复现、测试生成、工具链操作这些偏软件工程的任务,并不是通用对话能力。所以我不建议把"超人"理解成"AI什么都比我强",更准确的理解是:在Harness约束的那类工程任务上,系统通过自举迭代获得了显著且可测量的能力增长。

论文里有个细节我觉得很关键:每轮迭代不是简单用更多数据继续训练,而是让智能体在上一轮已经变强的基座上去做更复杂的任务采样。这样每一轮的训练数据难度都会自然水涨船高——第一轮可能只会在单文件里改函数,第三轮已经在做跨模块重构了。这就是递归的含义:本轮的能力决定下一轮练习题的难度,练习题又反过来拉动能力上限。

4.2 智能体在Harness中展现出的"自我反思"行为

研究里让我比较兴奋的,是智能体在训练过程中自发涌现出的一些中间行为。比如在修改代码前,它会先列出"这个问题可能涉及的模块"和"我打算怎么验证修改是否正确",再动手操作。又比如测试失败后,它不再是换个实现重试一遍,而是先分析失败日志、定位根因,甚至主动编写复现用例。

这种行为不是被预设的,而是从"偏好对+验证器"信号里学出来的。原因也很直观:在Harness环境里,先写测试再写实现的轨迹,更容易通过验证器;失败后先诊断再修复的轨迹,比盲目重试的轨迹更高效。正则化保证模型在朝这个方向进化的同时,不会忘记基础能力。

这就是递归自我改进最迷人的地方——它不只是让模型变强,而是让模型在自我进化的过程中,形成了一种更健康的解决问题的方式。论文里管这个叫"智能体展现出自我反思和验证的倾向",如果我们非要用一句大白话总结,那就是:这届AI学会了自己检查作业,而且检查得比做题还认真。

4.3 没有外部监督的局限性:奖励信号单一化风险

不过我得泼一盆冷水。RRSI这条路线目前有几个边界问题,论文也没有完全回答。

第一个问题是奖励信号单一化。无论正则化怎么加,整个系统的信号源头仍然是"任务在这一轮的自评+验证器"。如果任务集合本身覆盖度不够,模型就会在局部能力上过拟合。论文的实验场景集中在编程和工程任务上,这类任务的好处是验证器足够硬(代码跑没跑得过不会骗人),但换到偏通用对话、偏创意生成的场景,验证器就没那么可靠了。

第二个问题是基座模型的固有盲区无法靠自举突破。模型在某个领域存在系统性盲区——比如它压根不知道某个新框架的API——那它生成轨迹、自评、验证的全过程都建立在这个盲区之上。自举只能优化已有的知识组织方式,没法凭空创造外部世界的新知识。

第三个问题是安全性。一个能递归自我改进的智能体,一旦被放到真实生产环境里,它的每一步更新都可能放大系统风险。论文用沙箱、审计、正则化把风险关在笼子里,但"笼子"本身有没有漏洞,需要更长期的安全研究来回答。这也解释了为什么RRSI目前更适合实验室场景和受控的工程环境,而不是直接扔到公网上去无人值守地跑。

5. 工程视角:把RRSI的思路搬进自己的智能体项目,能做什么、要避开什么

5.1 最低成本的复现路径:Harness先行,RRSI训练后置

如果你看完论文也想动手试试,我不建议直接去训练模型——那不是普通团队的成本能扛住的。更务实的路径是分两步走。

第一步,先把Harness做扎实。给自己的Agent套上工具协议、沙箱环境和验证器,让智能体的一切行为可记录、可回滚、可评分。这一步不需要动任何模型,纯粹是工程改造。但做完之后你会发现,Agent的调试效率会明显提升,因为你能看到它每一步为什么错。我试过在项目里强制加上审计轨迹,原本需要靠日志瞎猜的bug,现在几分钟就能定位到是工具schema写错了还是判断逻辑走偏了。

第二步,做"离线版RRSI"。用当前模型在Harness里收集一批任务轨迹,用验证器打分,筛出高置信偏好对,然后做一次带KL约束的DPO更新。这个流程跑通以后,再把迭代次数从1轮加到3轮、5轮。哪怕你最终不追求"超人",这套管线也会让你的模型在特定任务集上的表现稳步提升,因为每次迭代都在用真实验证结果校准行为。

5.2 实现中容易踩的坑:沙箱缺失、验证器不过硬、正则强度失配

我见过不少团队把RRSI思路简化成"让Agent自己跑任务、自己选好的答案再训练",结果发现几个高频坑,这里集中说一下。

坑一:沙箱没做好,所有训练数据都是脏的。工具调用会改文件、调接口、发消息,一旦副作用没有隔离,Agent这次试错的结果会污染下一次试错的环境,你最后收集到的轨迹根本说不清哪个动作对应哪个结果。我建议哪怕最小化实现,也一定要做状态快照和回滚。

坑二:验证器不过硬,正则化也救不回来。RRSI的正则化依赖于"验证器能识别错误",如果验证器自己就是模型的一个提示词,那等于让运动员的教练员也是运动员自己。最稳的做法是:能用代码跑通判定的就用代码,能用规则匹配的就不用模型判断,实在需要模型判断的场景,至少用两个不同配置的模型交叉验证,降低自评膨胀的影响。

坑三:正则强度失配。KL约束设得太大,模型每轮都学不到东西,迭代变成原地踏步;设得太小,一轮更新就漂移,后面的迭代全在错误分布上打转。这个参数没有标准答案,我的经验是先小后大——先跑一轮看验证器得分是否稳定提升,如果得分没升只看到分布在变,说明正则太弱。

社区里那些deepseek harness的插件报错,排查思路也一样:先确认插件协议和框架版本对得上,再看沙箱权限和网络限制,最后查日志里插件激活的返回信息。绝大多数问题都不是算法问题,而是工程细节没对齐。

5.3 与平台型智能体的定位差异,以及值得盯的演进方向

很多人在用coze、扣子这类平台搭智能体,纠结"我是不是也要搞一套RRSI"。我的看法是:平台型智能体解决的是"怎么把工作流编排起来",RRSI解决的是"参数怎么改才能让模型越用越强",两者完全不冲突,甚至应该配合。

你在平台里做的每一个高质量工作流模板,本质上都是给模型提供的"教学素材库"。如果平台后续开放了偏好数据导出和能力微调接口,你完全可以把平台上的真实调用轨迹作为RRSI的训练数据来源。反过来,RRSI训练出的更强模型,也能让平台上的工作流在更少人工干预下跑通更复杂的任务。

未来值得盯的方向,我觉得有两个。一个是多智能体互评:不再让一个模型自评,而是让多个专业分工的模型互相检查对方的产出,相当于给自举信号装了一层"同行评审",这能在一定程度上缓解奖励信号单一化的问题。另一个是验证器持续升级:让验证器本身也从数据中学习,从而覆盖更加开放式任务的判定。这两条路都还在早期,但从RRSI的迭代逻辑看,它们是自然而然的后继方向。

说到最后,我实际研读这篇论文最大的收获反而很朴素:与其天天盼着一步到位的"全自动自我进化",不如先把验证器这个看起来不性感的组件打磨到极致。一个能可靠分辨"模型做对了没"的判定系统,比一百个花哨的训练技巧都管用。RRSI给我的启发是,自我改进这条路上,最重要的从来不是那颗爱冒险的大脑,而是那条在关键时刻拉住它的安全带。

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

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

立即咨询