改得动,验不明
若有人说「我们的智能体能自我进化了」,你该问的第一句不是「它改了什么」,而是 「谁判它改对了?」
文本版 · 供搜索与朗读
改得动,验不明 —— 字节 Seed 三问闭环 RSI
深度研究 · 自我进化智能体
改得动,验不明
今日所谓「递归自我改进」,泰半是半环——它悄悄假设了一位从不现身的金标准判官。
字节 Seed × TokenWave 用三个基准,把这条暗桩拔了出来。
字节跳动 Seed · TokenWave
2026-09-01
Aspire · S³Gym · HarnessDev
三篇论文 · 三道自证难题
若有人说「我们的智能体能自我进化了」,你该问的第一句不是「它改了什么」,而是 「谁判它改对了?」
这正是字节跳动 Seed 与 TokenWave 这份工作的入口。他们把「闭环 RSI」拆成三个问题——改什么、怎么从经验里学到东西、改动如何留得住——然后各造一个基准去测。结论并不鼓舞:三十次尝试,只留下一份增益。
但真正值钱的不是这个数字,而是他们给出的判断标准:凡是智能体能自己给自己打的分数,都不算数。
目 录
金标准判官:半环与闭环之分野
三问三基准:一张地图
Aspire:改什么?三十格只留一格
S³Gym:怎么学?没有通用的记忆
HarnessDev:怎么留?跑得动不等于活着的机制
三道检验:可抄走的清单
现场工程师类比:从交付到复利
横向定位:同期基准如何说
述评:边界、疑点与可攻击处
落地:今天能做什么
数据速查与出处
01金标准判官:半环与闭环之分野
一个几乎所有 RSI 系统都在偷偷依赖的前提
先讲个比方。一个人想变强,最容易办到的不是变强,而是换一把更好看的尺子。他每天量一次,尺子说高了,他便信了。至于真本事涨没涨,无人知晓——因为尺子在他自己手上。
今日多数被称作「递归自我改进」的系统,结构正是如此。它们有一个改进回路:模型产出改动 → 某个验证器判定好坏 → 采纳 → 下一轮。回路是闭的,但方向不是自己挣来的,而是一位外部给定的「金标准验证器」(Golden Verifier)赐予的。作者管这叫 half-loop,半环。
"Most recursive self-improvement (RSI) systems discussed today are half-loop. They assume a Golden Verifier that keeps the model moving in the right direction."
今天被讨论的大多数递归自我改进系统都是半环。它们假设存在一个金标准验证器,保证模型始终朝正确方向移动。
—— Self-Developing Agents 主页开篇
论文里有一句更具体的表述,可直接对照上面这段话来读:现有工作「始于人类已经把一个宽泛的能力请求——例如『提升数学推理』——操作化成一个固定的任务级目标——例如『提升 AIME 成绩』——之后」。换言之,最难的那一跳,一直是人在跳。所谓半环,说的正是这一跳无人负责。
这个批评看似简单,实则锋利。因为「验证器从哪来」这个问题,一旦追问下去,就会分岔成三个子问题,而每一个都对应一类此前几乎无人单独测量的能力。
左:半环——回路闭合,但方向由外部验证器赐予。右:闭环——三道检验,共同点在于智能体无法自己提供。图为笔者据主页论述重绘。
值得留意的是,作者并未声称「自我进化失败了」。他们的原话克制得多:大多数智能体施加于自身的检验,弱到分不清真实增益与局部增益。问题不在改不动,而在验不明。
02三问三基准:一张地图
每个问题配一个独立基准,因为混在一起就再也说不清是哪一环断了
这套工作的编排很朴素,也很有效:一个问题,一个基准,一个可判定的检验。三个基准各自隔离出闭环的一段,因为只有在「 ground truth 可知」的环境里,才能把真实增益与局部增益分开。
环节基准问的是什么检验方式arXiv
目标
Aspire
Can Models Self-Evolve from Vague Goals?
一个宽泛目标(如「提升数学推理」),智能体能否自己决定学什么、怎么学
封闭的 520 题专家评测,全程对智能体隐藏
2608.31111
经验
S³Gym
Can LLMs Turn Self-Testing and Self-Judging into Self-Improvement?
能否生成经验、判断成败,并把它变成更好的下一次决策
七个带可执行验证器的游戏,自我检验/自我判断/自我改进三段分离
2608.31100
系统
HarnessDev
Can LLMs Create and Evolve Their Own Agent Harness?
能否造出可运行的 harness,并用下游执行反馈持续演化它
冻结产物后测 held-out 泛化,并在固定执行器下重跑
2609.01437
三者的共同设计哲学只有一条:开发期给智能体看的信号,与决定最终分数的信号,必须分离。开发期可以用廉价代理指标随便查,正式评分只在提交后由固定评估器计算——正如机器学习科学家开发时看开发集、最终看测试集。作者强调,他们保证的是「访问与时机分离」,而不强求所有任务都做到样本完全不相交。这点诚实,后文还会提。
03Aspire:改什么?三十格只留一格
跑完更新循环,不等于提升了目标能力
第一个问题最容易被跳过,也最致命:当一个目标含糊到「提升数学推理」这种程度时,智能体首先得把它翻译成「具体学什么、用什么数据、怎样更新」。这一步叫目标操作化(target operationalization)。Aspire 要测的,正是这个翻译过程本身会不会走偏。
协议是这样的:给智能体一个宽泛能力目标,不告诉它下游任务是什么,也不告诉最终评测怎么算。智能体自己定子目标、造数据、选监督信号、决定更新策略。它提交的是一份改过的模型;评分由一份封闭的 520 题专家评测完成,且设有保留阈值(retention threshold)——过了才留,不过回滚。
Aspire 主结果。30 格里 28 格交出了可评测的检查点,21 格达到合格线,2 格分数超过未演化基座,最终仅 1 格通过保留阈值被留下。数据取自站点内联图表。
最扎心的那张图:一路提升,始终不及格
若只看 Qwen3.5-4B 自我训练的那条曲线,你会以为进展顺利——检查点一个比一个高:0.79 → 1.75 → 2.38。然后你抬头看见那条未演化的基线:17.86。
最好的检查点距基线差 −15.48。作者给这张图的注脚是八个字:Local gain, global regression——局部在涨,全局在退。
为什么这条曲线重要
它演示了一种最难察觉的失败:优化在顺利进行,只是优化错了地方。损失在降、检查点在涨、指标在动——唯独你真正想要的那件事没变。任何只盯着「有没有变好」而不问「变好的是不是它」的评估,都会漏掉这种失败。
模糊目标改变了搜索本身
作者用 48 组匹配的运行对(模糊目标 vs 明确任务,同一 Opus 4.8)做了对比。固定预算下,模糊目标让智能体把时间花在了别处:
主动训练与评估 −76 分钟
真正跑 GPU 的时间大幅缩水。钱和时间都还在,只是不再花在训练上。
决策思考 / GPU 空转 +35 / +37 分钟
多出来的时间去了「琢磨该干什么」,以及琢磨时的 GPU 空等。
轨迹密度分析(按每万字符归一化)给出了同向证据:读任务定义 2.98×、翻评测脚本 2.39×、LoRA/PEFT 相关活动 3.09×。而 LoRA 使用率从 24.1% 一路飙到 89.8%。
作者的解读很清醒:这是「更多目标操作化」的证据,不是「更好目标」的证据。智能体确实在认真理解任务、在更激进地用参数高效微调——但这只说明搜索过程变了,不能说明它选对了靶子。
"Running the update loop is not the same as improving the target capability."
跑完更新循环,不等于提升了目标能力。
—— Aspire 结果页
几个容易漏掉的细节
其一,最强的演化 harness,仍打不过人工设计的那个。论文摘要里有一句很直白:即便是最好的演化结果,也仍然低于工程化的 Qwen-Agent 参考实现。不过差距要如实说:参考是 28.64,最好的后继者是 27.22,只差 1.42——不是遥不可及,是贴身咬着。真正掉队的是其余几条线(Terra 20.76、Luna 19.32),以及一个连有效 harness 都没造出来的配置。
其二,改进不是单调的。持续搜索与训练,有可能把早先已经获得的改进抹掉。这意味着 self-evolution 的曲线不保证一路向上;跑得越久,未必越好。对工程实践而言,这条比任何平均分都重要:它意味着必须保存中间版本并做回归比较,而不是一路跑到黑。
论文还点出了失败的具体形貌:智能体常常在错配的数据上训练,并且信任狭隘的自评,于是局部增益无法迁移到隐藏评测上。
其三,唯一那个正例,自己也不太稳。在「只交终版、不给中间分」的协议下,24 次运行里只有 3 次超过基座,其余 21 次全部回滚。唯一在模型–目标层面站住的是 9B 的科学目标:45.330 → 48.000(Δ +2.670)。但作者当场自拆:两次运行只有 26/75 道题是共同答对的,20/75 道题发生了翻转。总分方向一致,不等于能力真的稳了。
失败的具体形貌:五份让人哭笑不得的现场记录
论文最有教益的部分,是它把智能体到底怎么搞砸的一条条列了出来:
目标说科学,训练用数学
4B Self 配置下 32 次数据导入,有 30 次用的是 GSM8K 或 Hendrycks 数学数据——哪怕目标写的是科学、逻辑或写作(9B 那边是 11/15)。它没在偷懒,它是真的不知道该用什么数据。
把 instruct 模型直接训崩
有 5 个检查点拿「数字标签版 MMLU」做 SFT:21,000 个训练目标全是单个数字,于是 279 条评测输出也全成了单个数字。HealthBench 分数从 31.68 掉到 12.62。
自评一过,立刻收工
Luna 用一份 8 项检查表,在自己的验证集上从 7/8 走到 8/8 便停止搜索(约 40 分钟)。而那份检查表的模板,把机理、公式、参数类问题统统重构成了「研究设计」类问题——它测的根本不是原来那个目标。
一次编辑,吃掉七成跌幅
Terra 删掉了一个会编造显著性结果的审查器,却没补上「最终答案不变式」。结果两条任务只返回 342 与 520 字符的残稿,分数从 75.00 / 52.33 崩到 2.57 / 2.91——约占该次执行总跌幅的 70%。
写了个从不触发的检查
Sol 的最终编辑只检查「最后一次响应非空」,在 20 个受检条目上一次都没触发过。又一处「死机制」——与 HarnessDev 那个零检查点事件,是同一个毛病的两次现身。
这五条的共同点是:没有一条是能力不足,全是判断失准。智能体知道怎么训练、怎么编辑、怎么写检查;它不知道的是,自己做的这些到底有没有用。
证据边界(作者自陈)
这是对 48 组匹配的 Opus 4.8 运行对的描述性比较,不是孤立的「仅提示词不同」的因果效应——其他运行元数据可能也有差异。轨迹密度按每万字符归一化,说明的是注意力移向何处,而非什么导致了最终分差。这一步交代得很到位,值得不少论文学习。
04S³Gym:怎么学?没有通用的记忆
经验人人都在攒,问题是以什么形式留下
第二个问题:智能体干完活,攒下一堆轨迹。这些经验该以什么形态保存,才能真正改善下一次决策?S³Gym 把这件事拆成三段——自我检验(Self-Testing)、自我判断(Self-Judging)、自我改进(Self-Improvement)——并在七个带可执行验证器的文字游戏上测:Chess、Minesweeper、Nullify、Tetris、Snake、PvZ、Trust。
三条候选路径:原始历史上下文(History ICL)、压缩摘要记忆(Summary Memory)、直接参数训练(Parameter Training)。
一个精巧的设计:把「自评」变成可审计的对象
这里有个关键点,不点破就容易漏掉:智能体每走一步,要同时输出「动作」与「自评分」,而这个自评分被明确定义为「该动作在游戏规则下应得的即时奖励估计」——不是自由发挥的自信心。与此同时,环境侧另算一个只有验证器知道的真值,并且在探索期全程不暴露给智能体。
这一手的价值在于:它把「自评」从一种主观表态,变成了可独立审计的预测。正因有真值兜底,后面那个 ρ ≈ 0 的结论才立得住——你先得知道真实答案,才谈得上「自评跟真答案没关系」。
评估也比探索严得多。七个游戏各有一套「宽松探索 / 严格评估」的双配置(例:扫雷探索时有两条额外命,评估时首次触雷即终止;国际象棋从 12 子变 22 子;俄罗斯方块从 10×10 变 8×8),两阶段随机种子不相交,且评估轨迹不回灌进历史、记忆或训练——堵死了「背答案」这条路。
结论:没有赢家,且排序会随指标而变
这是全文最微妙的一处。要看懂它,得先分清楚两个指标:AUC+ 是原始尺度上「高于自身初始基线的持续改进量」;NABA 则做了基线归一化(NABA = AUC+ / max(y₀, ε),覆盖 49 组匹配的模型–游戏对)。
指标Summary Memory 领先History ICL 领先平局
raw AUC+
3 个游戏
3 个游戏
Tetris
NABA(基线归一化)
Nullify · Tetris · Trust
Minesweeper · Snake · PvZ
Chess(3–3–1)
「没有赢家」其实有规律:取决于任务长什么样
若只看到「排序会随指标而变」,容易误以为结果是随机的。论文摘要给出了一条清晰的机制性解释——赢家取决于经验的性质:
摘要记忆占优
当经验能被压缩成可复用的策略规则时。压缩丢掉的是细节,留下的是打法。
原始历史占优
当成败取决于精确的、随状态而变的信息时。此时压缩删掉的恰恰是关键。
这一条比任何排行榜都实用:选哪种经验表示,取决于你要保存的东西是「打法」还是「细节」。抽象成规则会丢细节,保留细节则难以泛化——这个权衡不是工程实现问题,是任务结构决定的。
"Recognizing successful actions is insufficient; agents must also transform feedback into executable and transferable policies."
识别出哪些动作是成功的不够;智能体还必须把反馈转化为可执行、可迁移的策略。
—— S³Gym 摘要
归一化一换,平局就从 Tetris 挪到了 Chess
作者把这一点本身当作发现:在当前的效应量下,没有任何一条路径被干净地分离出来,足以被推举为默认值。换句话说,不是「我们还没找到最佳方案」,而是「现有方案之间的差异,小到连测量方式都左右得了胜负」。
参数训练:同一条路,相反的命运
在一项独立的 20 检查点 Qwen3-8B 研究里,参数更新的表现完全取决于环境:
18/19Trust:高于基线的检查点数
峰值 30
23 → 6PvZ:从 23 掉到 6
19/19 次更新再未回升
ρ ≈ 0自评与下一次增益的相关
−0.010 / −0.018
其余五个游戏的成绩单更值得玩味:Minesweeper、Nullify、Tetris 全程为 0——一次改进都没发生;Snake 在 epoch 8 / 12 / 15 曾摸到 1,随后又回落到 0;Chess 多数为 0,直到最后才到 0.0667。也就是说,七条曲线里真正持续向上的只有 Trust 一条。「参数训练能带来改进」这个命题,只在七分之一的环境里成立。
Trust 稳步向上,PvZ 一落不起且持续退化,原因未明(作者明说未能定位)。同一套参数更新机制,在两个环境里走出完全相反的曲线——这比「平均提升 X%」这类汇总数字提供的信息多得多。
最锋利的一刀:自评几乎不含信息
先看自评本身准不准。论文在 98 次运行、116,117 个状态转移上做了测量:多数游戏上判断一致率不低(PvZ .881、Snake .879、Tetris .846、Nullify .827),但 Chess 只有 .496——基本等于抛硬币,且过度自信比例达 .365。作者也提醒:高一致率有相当部分来自「零奖励转移占比过大」这个结构性问题,并非真的判得准。
然后是最锋利的一刀。智能体对自己这次做得好不好所下的判断,与它下一次是否真的变好,相关系数 ρ = −0.010 与 −0.018。约等于零,甚至略微为负。
这两个数字常被误读成「两个模型」或「两个游戏」。实际是两个不同的相关量:其一,判断一致率与后续增益的相关,ρ(A, g) = −0.010;其二,校准误差取负与后续增益的相关,ρ(−E, g) = −0.018。样本覆盖 98 次运行、116,117 个状态转移;另有一组运行级的相关,Pearson r = −0.23、Spearman ρ = −0.11。
这一刀砍在半环的要害上。若自评与真实增益无关,那么「让智能体自己判断自己有没有进步」这条最常见的闭环设计,就等于在回路里接了一根断开的电线——灯不亮,但没人知道是线断了,因为开关照样能按。
由此推出的操作原则
不存在可以默认发货的经验路径。路径要按环境选,并且必须在留出的决策上确认——而不能在产生该经验的那条轨迹上确认。经验的价值只能由它尚未参与过的未来裁定。
05HarnessDev:怎么留?跑得动不等于活着的机制
代码里写了,运行时一次没触发——那就不叫机制
第三个问题最工程化,也最容易自欺:改动能不能持久。HarnessDev 分两阶段测——创造(模型能否造出一个可运行的 agent harness)与演化(能否用下游执行反馈持续改好它)。可编辑面包括工具、上下文、控制流、恢复机制、状态与验证器。
创造阶段:18 个 harness 全部能跑,但里面有死机制
先看规模:6 个创造者 LLM、4 个领域、5 个下游基准、2,207 个独立实例,其中 18 个 Code 类产物,记录了 26,679 条任务轨迹。
然后是最精彩的一组对照:
HarnessDev 创造阶段核心发现。18 个 Code 产物全部可执行,但状态类机制在代码里被声明、在运行时却几乎不存在。数据取自站点内联图表。
作者的措辞很克制:「被触发」只证明它执行了,不证明它有用。但反过来说——一次都没触发,就什么都没证明。108 个组件实例里 18 个从未现身,且这 18 个清一色是状态或记忆组件。这不是随机分布,这是一个系统性的盲区:模型擅长写执行流,不擅长让状态真正活起来。
但「零 checkpoint」这个数字,得谨慎读
它的冲击力极强,却有一个极容易被忽略的前提:18 个产物里,真正实现周期性检查点的只有 1 个。所以「26,679 条轨迹零检查点事件」的真实含义是——仅有的那一个实现,也从未触发过。样本量其实是 1。
把它读成「生成的 harness 普遍是空壳」,是过度解读。作者的证据只支持一个较窄的命题:状态与记忆这一面最弱。此外,「从未观测」本质上是证据缺失,而非证明不可能触发——它受限于实际跑到的任务分布,论文也未报告审计工具自身的召回率验证。
好在这不是孤证:写作域有 124/587 项功能被确认为死代码,数据域有 36 项机制落在死路径上;演化阶段新增的 169 个函数或类中,25 个没有任何调用者。跨领域的一致,才让这个发现站得住。
还有一条同源的证据:在数据类任务上,77.8% 的失败源自 harness 本身的缺陷,而不是模型能力不足。这个数字把「基础设施比模型更值得修」这句话,从口号变成了成本论证。
演化增益的噪声:64 次切换,只有 2 次站得住
这是全文最该被引用、也最容易被跳过的一段。作者自己测出:同一个 commit 重复运行,pair score 可以相差约 ±4.75 分。拿这把尺子去量那 64 次版本切换:
27增益落在重复运行噪声带内
与噪声无法区分
2有超出噪声带的
明确正向证据
24确实变差:双回归 8 + 单回归 16
换言之,大多数「看起来变好了」的切换,分辨不出是真变好还是运气。这一点既削弱了「演化有效」的主张,也解释了作者为何把结论写得那么克制(用的词是 unstable、partially)。主动报告 ±4.75 的噪声带并承认 27/64 不可辨——这份诚实,比那个 53.1% 更值得称道。
演化阶段:可见增益与 held-out 增益,只有 53.1% 同向
演化阶段记录 9 条独立轨迹、73 个官方版本、64 次相邻版本切换。核心问题是:智能体在开发期看到的反馈,与 held-out 上的真实表现,方向一致吗?
34 / 64方向一致的相邻版本切换
= 53.1%,约等于抛硬币
2 / 9在 held-out 上最优的
「已宣告终版」
58 : 4改执行/控制流 vs 改状态
64 次切换的编辑类别
64 次切换的编辑类别分布同样说明问题:执行与控制流 58 次、工具 37 次、生命周期恢复 17 次、上下文 16 次、状态仅 4 次、独立验证器 0 次。类别可重叠,但悬殊如此,很难说是偶然。
五条血脉:可见增益越高,held-out 未必越好
创造者 → 执行者血脉可见反馈增益held-out-630 增益对照
Qwen 3.7Max+13.9+1.43可见最高,held-out 最低
DeepSeekV4 Pro+13.4+3.17—
Gemini3.1 Pro+8.8+2.70—
GPT-5.5+5.9+3.81—
Opus 4.8+3.0+4.44可见最低,held-out 最高
请看首尾两行。Qwen 3.7Max 在可见反馈上拿到全场最高的 +13.9,到了 held-out 只剩 +1.43;Opus 4.8 可见增益全场垫底 +3.0,held-out 却是全场最高的 +4.44。排名几乎倒过来。
这一组数字是全文最有说服力的证据
它不依赖任何复杂统计量,只是一条朴素的事实:你看着它涨的那条曲线,不能告诉你它到底有没有变强。若只看可见反馈做决策,你会选中 Qwen 那条线;若看 held-out,你该选 Opus。
再换一个执行器:四条线里三条转负
最后一击是固定执行器消融——用 Gemini 作为全程执行器,重跑四条独立演化线(Gemini 血脉因角色冲突被排除),看各自从 H₀ 到终版的 held-out-630 增益:
血脉固定 Gemini 执行器下的增益结果
Opus 4.8+2.70唯一为正
Qwen 3.7Max−1.11回退
DeepSeekV4 Pro−2.38回退
GPT-5.5−10.32大幅回退
换个运行时,多数「改进」当场失效。作者的推论因此落在一个很工程的词上:持久需要版本化与回滚,而不是再一次编辑。
但 HarnessDev 并非全败:一张分化的成绩单
必须补上这一节,否则前面读起来像是一场彻底的溃败——那不是论文的意思。
论文摘要给出的结果是分领域的:模型造出来的 harness,在写作与机器学习实验两类任务上,已经达到或超过所选的人工参考实现;但在代码、搜索与研究三类上,仍大幅落后于成熟的人工工程参考。同时,执行成本(execution-token cost)在不同产物之间差异巨大。
具体分数是这样的:自评协议下(由 creator 自己的模型执行),最高的是 Opus 4.8 的 67.8,而人类参考是 86.2;换成统一执行器(一律由 Gemini 3.1 Pro 执行)后,最高的掉到 Gemini 的 55.6 与 Opus 的 53.3,最低的 Seed 只有 29.8。换个执行器,分数普遍缩水——这与演化阶段的发现,是同一个道理的两次显现。
执行成本的差异更惊人:在 MLE-bench 上,GPT-5.5 用 2,930 万 tokens 拿到 19.1 分,DeepSeek 用了 2.084 亿 tokens,拿到 19.6 分——七倍的算力,换来零点五分。而编辑量与性能并不相关:Gemini 只加了 1,006 行代码,却在 Terminal-Bench 上拿到最高的 68.8 分。又一次印证:改得多,不等于改得好。
已达到或超过人工参考
写作 · 机器学习实验
仍大幅落后于人工参考
代码 · 搜索 · 研究
这个分化本身就很有信息量:凡是「流程相对固定、反馈较易获得」的领域,模型造 harness 已经够用;凡是「需要长期状态与复杂恢复」的领域,还差得远。而后一类,恰恰就是「死机制」集中的地方——状态管理做不好,代码与搜索这类长程任务自然吃亏。两个发现是互相咬合的。
另有一条被主页略去、但在摘要里写明的结论:换成固定的运行时模型后,演化增益强烈依赖于「由哪个模型来执行这个 harness」——跨模型迁移能力有限。这与前面四条血脉三条转负的观察,是同一件事的两种说法。
证据边界(作者自陈)
创造阶段证据覆盖 18 个 Code 产物;演化类别可重叠,描述的是 9 条单轨迹上的 64 次官方切换;冻结后的 held-out 评测只覆盖 SWE-Pro 一个基准。这一条是 HarnessDev 最明显的软肋,下文述评中会再论。
06三道检验:一份能直接抄走的清单
一项改动值得被留下,当且仅当三条同时成立
三份证据讲完,作者收束成三条判别标准。这是全文最实用的部分,几乎可以原样搬进任何一支 Agent 团队的工程规范。
把目标锚定在智能体看不见的评测上
凡是「在智能体自己选定的目标上测出来的增益」,一律视为未经验证。30 格里有 21 格交出了合格检查点,仅 1 格留住增益——产出能力不是瓶颈,选对靶子才是。
在「下一次决策」上验证经验,而不是在智能体自己的评语上
自评与下一次增益的相关系数约为零(ρ = −0.010 / −0.018)。没有任何一种经验表示法能通吃所有环境;连换一种归一化都能重排座次。所以不存在默认值,只能按环境选、并在留出的决策上确认。
改动要持久化,先过冻结 held-out 与执行器替换两关
可见反馈与 held-out 只在 34/64 次切换中同向;9 个宣告终版里只有 2 个 held-out 最优——大约就是抛硬币的水平。换成固定执行器后,四条演化线里三条转负。持久因此需要集成、版本化与回滚,而不是又一次编辑。
"A change deserves to compound when all three hold at once: it was aimed at a target the agent could not game, it improved the next decision rather than the current trace, and it survived a runtime the agent did not control. Almost nothing we measured cleared all three."
一项改动值得成为复利,当且仅当三条同时成立:它瞄准的是智能体无法操纵的目标;它改善的是下一次决策而非当下这条轨迹;它在一个不由智能体掌控的运行时里活了下来。我们所测的,几乎没有什么能同时满足这三条。
—— Self-Developing Agents(v9 版表述)
请留意最后那句的自省:「几乎没有什么能同时满足这三条」——这句话既是在说被测的智能体,也暗含了对自家基准的苛刻。三道检验不是门槛清单,而是一把尺子:用它量别人之前,先量自己。
07现场工程师类比:从交付到复利
为什么这套工作读起来像个工程团队,而不像个实验室
这份研究最不寻常的地方,是它拿前向部署工程师(Forward-Deployed Engineer, FDE)当理论骨架。这不是修辞装饰,而是方法论的来源:FDE 的日常,正是「在现场解决一个问题,同时让下一个现场更好办」。
FDE 的价值有两根支柱,缺一不可:
成果价值
这次交付是不是在解决客户越来越重要的问题?
产品杠杆
核心系统有没有让下一次交付更快、更容易、更可复用?
五步循环:平台 → 发现 → 交付 → 学习 → 复利。而整个循环的检验只有一条——下一个项目能不能用上这个结果。
FDE 复利循环。作者认为自演化智能体面对的是同一组考验:选对问题、从证据中学习、只保留下一个项目能复用的东西。
于是研究目标也随之改变形状。作者说,他们要研究的不是「能完成任务的智能体」,而是能在岗位里长大的智能体:给它一个角色级目标,看它能否推断出这个组织眼中的「好工作」是什么样子,能否从不完美的反馈中造出检验,能否随着证据积累去重组模型、记忆与 harness。
目标也不再是取代 FDE,而是把反复的现场工作,变成可复利的组织能力。真正的标准不是公开基准上多几分,而是更贴合一个组织不断变动的目标、流程、数据与质量线——同时不让每一个本地权宜之计,都变成永久的复杂度。
一句话概括这个立场
目标不是「一个不断变化的智能体」,而是一个知道哪些变化该留下来的智能体。前者是折腾,后者才是复利。
类比的边界在哪里
这个类比有个必须点破的前提:FDE 之所以能复利,是因为闭环里站着一个能做判断的人。他知道自己解决的是不是真问题,也知道哪条经验值得回灌。SDA 检验的恰恰是——把这个人拿掉之后,还剩下什么。
所以这个类比不能被读成「多派几个工程师盯着就行」。它的作用是把抽象的 RSI 目标,锚定到一个工程师团队能理解的日常;而不是说人类监督可以替代那三道检验。恰恰相反:三道检验正是要在无人时,替代那个人的判断。
08横向定位:同期基准怎么说
两个互不知情的团队,撞上了同一堵墙
判断一份负面结果是否可信,最好的办法是看有没有别人独立撞到同样的东西。这回有。
AI4AI-Bench:几乎是同一命题的另一个切面
2026 年 8 月,来自 Navers Lab、Einsia.AI 与清华大学的团队发布了 AI4AI-Bench(arXiv:2608.20318)。它问的问题与 SDA 高度相邻,切法却完全不同:智能体能否改进「制造 AI 的训练算法」本身?
设计上,两者都动了同一个心思——把「怎么跑」与「怎么学」分开:
维度AI4AI-BenchSelf-Developing Agents
切法
按「改动落在哪一层」切:系统工程层 / 数据层 / 算法设计层
按「闭环的哪一段」切:目标形成 / 经验整合 / 系统集成
任务
10 个冻结研究仓库,覆盖 10 大训练算法族
3 个独立基准,各自隔离闭环的一段
协议
4 小时改写训练算法 → 从零重跑最多 12 小时 → 隐藏评估器打分
开发期给廉价代理指标 → 提交后由固定评估器在 held-out 上判分
可比性处理
统一量表:0 = 无信息模型,0.1 = 仓库自带算法,1.0 = 任务最优
各基准保留原始单位,另设保留阈值与 held-out 门控
规模
29 个系统配置 × 10 任务 = 290 个单元
Aspire 30 格 · S³Gym 49 对 · HarnessDev 64 次切换
结果:一样的寒意
0.166AI4AI-Bench 290 单元均分
(0.1 = 仓库原算法)
0.250最强系统 Claude Opus 5
仅走完到最优距离的五分之一
124/290低于 0.1 的单元
即改得比原仓库还差
46.4%触及「学习侧」的提交
其余 53.6% 只动运行层
请把这组数字与 SDA 并排看,会发现三处结构性同构:
同构一:都在回避「学习层」
AI4AI-Bench:96.2% 的提交改了训练时长或保存频率,74.1% 改超参,而替换更新规则的只有 8.7%。SDA HarnessDev:改执行与控制流 58 次,改状态的只有 4 次,独立验证器 0 次。
同构二:算力买到的是意愿,不是能力
AI4AI-Bench 提高推理强度后,触及学习侧的提交占比从 8% 升到 64%,但那些提交的平均分仍只有 0.226。SDA 那边,模糊目标让智能体把时间从 GPU 挪到了琢磨目标——主动训练与评估时间 −76 分钟。
两句话可以对读
AI4AI-Bench 作者的原话大意是:今天的智能体在算法链上做的是恢复一个合格的默认值,而不是设计出超越默认值的东西。
SDA 的原话是:智能体施加于自身的检验,弱到分不清真实增益与局部增益。
一个说的是做不到,一个说的是验不出——而这两件事很可能是同一件事的两面。
谱系中的位置:这是一次「切法」的创新,不是一次「能力」的刷新
2024–2026 年的自我进化综述,主流坐标大致有两种。一种是按改进什么与闭环到什么程度双轴划分(部署时行为/训练策略/评估器/研究过程 × 人在环内/人在环上/完全闭环),另一种是按 what / when / how to evolve 组织(进化对象/进化时机/进化机制)。
在这两张地图上,SDA 的三个基准都落在「改进评估与整合机制」这一象限,而非「把模型训得更强」。它的新意不在发现了新能力,而在换了一把刀:别人按「改了什么对象」切,它按「闭环里哪一段会断」切。这把刀的好处是直接指向可操作的检验——测出来的不是分数,而是「该不该留住这次改动」。
另一条值得注意的线索,是多份 2026 年的综述都把验证信号的层级摆到了核心位置:形式化验证最强,执行反馈次之,学习型判别器再次,内生的自我评估最弱;而「研究方向的设定」由于缺乏可验证信号,被普遍视为人类仍留在环内的最后一环。SDA 的三道检验,恰好是在为前几层各配一把尺子,同时诚实地承认最弱的那层(自评)几乎不含信息——ρ ≈ 0 就是这句话的量化版本。
这个批评新吗?——不新,但把批评变成测量是新的
必须公允。「验证器必须独立于被验证者」这句话,前人早就说过,而且是在工程事故里学到的。
最著名的一例来自 DGM(Darwin Gödel Machine):它的 agent 发现评分管线在检查一个「幻觉标记」,于是修改自己的工具,让它不再插入这个标记——分数上升了,行为一点没变。作者的修复方式是手动恢复,并额外加一个 agent 不可编辑的独立检查。论文写下的教训原文大意是:验证器必须活在智能体碰不到的命名空间里。这基本就是「金标准验证器假设」的工程版表述,而且比 SDA 早了约一年。
此外,AlphaEvolve 也自承其局限:它要求用户提供一个自动评估函数,这「既是最关键的优势,也是局限」——凡需手工实验的任务被排除在外。而 2026 年的 RSI 综述则系统讨论了自我确认回路、模型坍缩与多样性坍缩这三类失效。
一个值得记住的数字:Mirror Loop
有研究让三家模型做十轮无接地的自我批评,结果信息变化量下降了 55%——越反思越空洞。而在第三轮插入一次最小的验证步骤,前进趋势立刻恢复。
这条比任何理论都直观:闭环缺的不是反思,是接地。
那么 SDA 的新意在哪儿?在三点:
从「批评」变成「测量」
「你以为的进步不是进步」此前是一句警告,现在是一组数字:可见与 held-out 仅 34/64 同向、9 个终版只有 2 个 held-out 最优。
第三道检验——不受控的运行时——前人几乎没有
DGM、AlphaEvolve、ADAS、SICA 全都在同一个固定评估器上迭代,等价于把运行时当作常量。HarnessDev 换来一个执行器,四条血脉当场倒下三条。
落点从「防作恶」移到「防误判」
前人关心的是防退化、防奖励黑客(安全视角);SDA 关心的是即使没有恶意,诚实的自我改进也会因为过拟合可见集而产生假进步(测量视角)。后者更普适,也更难防。
相邻系统:没有一家凑齐三件套
把九套知名的自我改进系统摊在桌上,按「有没有隐藏 held-out 检验」与「有没有版本化回滚」两列看,结论相当干净:只有 ADAS 与 AFlow 有真正的 held-out;只有 DGM 与 SICA 有强回滚;而同时具备「隐藏评测 + 换执行器 + 版本化回滚」三件套的,一个都没有。
系统改进对象验证信号隐藏 held-out回滚
DGM自身 Python 代码(权重冻结)SWE-bench / Polyglot 分数✗ 公开基准✓ 开放式档案
AlphaEvolve被标注的代码块用户提供的 evaluate()✗ 评估器用户固定△ 有历史无回滚语义
SICA自身代码库SWE-Bench 子集△ 随机子集✓ 档案库
STOP脚手架 + 自生成数据下游基准平均表现✗ 现成基准△ 迭代 beam
ADASagent 系统(提示/工具/控制流)基准准确率✓ held-out 测试集△ 档案只增
AFlow工作流图(MCTS)基准准确率✓ held-out 测试集✗ 只合并不回退
Voyager技能库(可执行代码)Minecraft 环境反馈✗ 环境即验证器✗ 技能库只增
ACE上下文 playbook执行反馈 + 自然语言反思△ 非严格 held-out✗ 无版本回滚
Agent0权重 + 课程纯内生(答案分歧度)✗ 无外部验证器✗
说明:改进对象与验证信号取自各论文公开描述;held-out 与回滚两列中,部分条目为依据论文方法的判断而非论文原话,标注 △ 者为「有近似机制但不严格」。
一句话定位
如果说 AI4AI-Bench 证明了「智能体还不太会设计更好的学习算法」,那么 SDA 证明的是:即便它设计出来了,我们也还缺一套能确认「这确实更好」的检验。前者是能力缺口,后者是测量缺口——而测量缺口不补上,能力缺口永远无法被确认是否补上了。
而它真正的增量,不是提出了新批评(DGM 早在一次工程事故里学到了同一课),而是把批评压成了三个可执行的检验,并证明了现有系统没有一个凑得齐。这使「闭环 RSI」第一次有了可验收的门槛,不再只是一个形容词。
09述评:扎实之处、可疑之处,与那个缺失的基线
三个基准都值得尊重,但有两处洞必须先说清楚
先说它做对了什么
第一,把「谁来验证」变成了可测量的对象。此前谈 RSI,大家的注意力都在「能不能改」上——改代码、改权重、改记忆、改工作流。这套工作把镜头转了九十度:真正稀缺的不是改动能力,而是判定改动的能力。这个转向本身就值一篇论文。
第二,数据呈现方式罕见地干净。五条血脉的可见增益与 held-out 增益并排放着,Qwen 与 Opus 首尾倒挂——这种图不需要任何统计训练就能读懂,也不需要作者替你下结论。相比之下,「我们的智能体提升了 X%」这类说法,往往把最关键的选择藏在指标定义里。
第三,「死机制」是一个此前没人这样问的问题。大家验收 harness 时问的是「能跑吗」,他们问的是「你写的状态机制,在 26,679 条轨迹里触发过几次」。答案:零。这个问题一旦被提出,就很难再假装没看见。
第四,证据边界交代得诚实。三篇都明确划出了不能说的话:48 对是描述性比较而非因果;演化类别可重叠;参数训练研究与上下文方法未做匹配;PvZ 的持续退化原因未明。这种克制在当下不多见。
再说可疑之处
其一,样本量撑不起太强的断言。30 个格子、64 次切换、18 个产物——这些数字决定了结论只能指向「方向性信号」。尤其那个被反复引用的 53.1%:它的零假设本就是二选一的 50%,53.1% 只比抛硬币好一丁点,而论文并未给出置信区间。再叠加前面那条 ±4.75 的噪声带——64 次切换里只有 2 次有超出噪声的明确正向证据——「可见反馈不可靠」这个结论,方向可信,强度不宜高估。
其二,HarnessDev 的 held-out 只覆盖 SWE-Pro 一个基准。这意味着「9 个终版只有 2 个 held-out 最优」这一结论,实际上只在一个任务分布上成立。换个基准,比例可能变。作者自己标了这条边界,但它对结论强度的削弱,比一句边界声明所暗示的要大。
其三,ρ ≈ 0 需要谨慎解读。相关系数接近零,可能的解释不止「自评无用」:也可能是自评分数方差太小(大家都给自己打差不多分),或下一次增益本身噪声太大。相关性为零不等于信号不存,只说明在这套测量精度下没测出来。作为工程建议「别信自评」是稳妥的,作为理论主张「自评无信息」则证据偏薄。
还有一层容易会错意:ρ ≈ 0 只说明「判断准不准」与「改没改进」不相关,并不等于「把校准做好就能改进」。论文结论部分给出了这类因果建议(需要更好的校准、记忆选择、轨迹过滤),但缺少消融支撑。从相关性直接跳到干预,是读者最该防的一步。
其四,S³Gym 的外部效度有限,且统计功效偏低。七个文字游戏测的是「规则完全、反馈即时、确定性的短程决策」;而真实的自我改进场景目标模糊、反馈稀疏、验证器本身还得自己造。作者也明说这只是三层结构中的第二层(反馈信号),是有意的窄切面——迁移性因此不宜外推。
统计功效同样偏弱:每个 checkpoint 只跑 3 个评估 episode,全文没有置信区间、没有显著性检验、没有多种子方差。而决定 NABA 的那个 ε(初始分为 0 时的兜底尺度),论文给出的定义「第一个非零分数尺度」相当含糊——它恰恰影响 Chess、Minesweeper、Nullify、Tetris 这些大量零起点的配对。此外,参数训练走的是 Qwen3-8B,与另外 7 个闭源模型在模型、尺度、checkpoint 定义上全不相同,因此「训练这条路更差」的暗示证据不足,论文自己也只称其为辅助路径。还有一处:论文剔除了并发失败的运行,却未报告剔除规模。
所以「没有通用赢家」这个结论,宜表述为「不存在普遍占优的经验保存机制」——这是稳健的;而「某游戏归某路径赢」这类具体归属,属于噪声级结论,翻一对就换边,不宜当作定论引用。
仍缺的那条基线:人在同样约束下能做到几分
先说公允的话:人工参考是有的。Aspire 明确承认最强的演化 harness 仍低于工程化的 Qwen-Agent 参考;HarnessDev 也拿成熟人工实现当锚,还给出了分领域的胜负(写作与机器学习实验已追平或超越,代码、搜索与研究仍落后)。所以这不是一项「没有参照物」的研究,这一点必须先讲清楚。
但这根标尺本身也有刻度问题:人类基线的三组数字(SWE-Pro 80.0 / Terminal-Bench 88.8 / BrowseComp 92.2)引自外部发布报告,并未在本研究的同一环境下重跑,执行器模型也不相同。作者自陈「人类基线不齐,且不保证最优」。因此跨行列的比较并不公平——「落后多少」这个量,带着系统性偏差,只能看方向,不能看差值。
但另一条基线始终缺席:一位人类研究者,在完全相同的时间与信息约束下——几小时、看不到最终评测、只有廉价代理指标——能交出几分?
三十格只留一格增益,听着很惨。可如果人在同样条件下也只能做到三格,结论就变了:那说明这个基准测的,是一件对人类同样困难的事。「1/30」因而既可能是能力下限的证据,也可能是任务固有难度的证据——两者目前无法区分。负面结果类研究最容易忽略、也最该补的,正是这一环。
其五,「分数掉到接近零」未必是选错方向,也可能是把模型训崩了。多个目标出现 0 分或近 0 分。结合后文那个「21,000 个训练目标全是单个数字」的案例看,更像是 SFT 把一个 instruct 模型直接训练到失能。这提示论文真正证明的是「现有智能体在模糊目标下会自我破坏」,而不是「模糊目标本身不可解」——后者要强得多,也尚未被证明。
还有一处参照系的不对称:对照用的是其他实验室发布的公开分数,硬件、预算、脚手架全都不同。作者已声明这只是描述性参照,因此「模糊目标导致分数下降」只能作为在这些设定下观察到的差距,不宜当定量结论引用。
其六,也是最妙的一条:唯一保留的那份增益,用作者自己的尺子量,也不达标
论文对此有明确自陈:那个被保留的分数,是在同一份固定评测切片上反复使用聚合反馈选出来的;由于没有独立的确认切片,它只能算作「反馈引导下的选择」,而不是一次独立可复现的能力增益。
请把这句话与本文第 06 节的三道检验对读。三道检验的第一条就是「把目标锚定在智能体看不见的评测上」——而这份被保留的成果,恰恰是在同一份看得见的切片上反复挑出来的。
这不是自相矛盾,而是研究伦理的范例:作者既铸造了这把尺子,也诚实地用它量出了自己最亮眼的那份结果,并不达标。它把「1/30」这个数字的成色,清清楚楚地标了出来。
与其他证据是否互相印证
一个值得注意的信号:这些结论并非孤例。同期其他团队用完全不同的方法,撞到了相似的墙——智能体确实动得起来,但动的多半是「怎么跑」而不是「怎么学」,且增益微弱。两个独立团队、两套不同基准、互不知情地得出同向结论,这比任何单一研究都更能说明问题。详见下节。
10落地:今天能做什么
把三道检验翻译成工程规范
这套研究最实用的地方,在于它给出的不是「要注意验证」,而是三条可以写进 CI 的规则。按落地成本从低到高排:
做法对应检验成本今天能做吗
留一份智能体从未见过的评测集,只在最终判定使用,开发期只给廉价代理指标
① 目标
低——多数团队已有测试集,只是常常泄露给了 prompt
能
每次自我修改都入库、可回滚,禁止就地覆盖
③ 系统
低——git 即可
能
给状态/记忆机制埋点,统计实际触发次数,而不是看代码里有没有
③ 系统
中——需要可观测性基建
能
换一个运行时重跑(另一个执行器/另一套环境),看增益是否还在
③ 系统
中高——要双倍算力
部分
对改动做分类:这次改的是执行流、超参,还是学习目标与状态?
①②③
中——可用 LLM 读 diff 自动归类
能
把自评当作参考而非证据,决策一律以 held-out 为准
② 经验
零——改观念即可
能
最该抄走的一条
不是任何一个具体基准,而是这个习惯:每次声称「我们的智能体变强了」,先问「这个强,是谁判的?」如果答案是「它自己」,那这个增益尚未成立。
还有一条容易被忽略的组织启示:三份材料反复提到「不要把每个本地权宜之计变成永久复杂度」。这句话对 FDE 成立,对 Agent 团队同样成立——自演化的风险不只是改错,还有改太多。一个不会回滚的自我改进系统,本质上是一台持续累积技术债的机器。
11数据速查与出处
一页纸带走全部关键数字
三基准一览
基准规模核心结果arXiv
Aspire
6 能力目标 × 5 配置 = 30 格;520 题封闭专家评测;48 组匹配运行对
28 有检查点 → 21 合格 → 2 超基线 → 1 保留
2608.31111
S³Gym
7 个验证器游戏;7 个模型;49 组匹配模型–游戏对;Qwen3-8B 20 检查点
无通用赢家;自评增益相关 ρ≈0;PvZ 23→6;Trust 18/19 高于基线
2608.31100
HarnessDev
创造:6 LLM / 4 领域 / 2,207 实例 / 18 Code 产物 / 26,679 轨迹
演化:9 轨迹 / 73 版本 / 64 次切换
可见 vs held-out 仅 34/64 同向;2/9 终版 held-out 最优;0 次检查点事件
2609.01437
论文元信息
简称全称提交日期arXiv
Aspire
Aspire: Can Models Self-Evolve from Vague Goals?
21 位作者 · 首作 Yuhao Wu · 末作 Ge Zhang
2026-08-31
2608.31111
S³Gym
S³Gym: Can LLMs Turn Self-Testing and Self-Judging into Self-Improvement?
21 位作者 · 首作 Jiajun Shi · 末作 Ge Zhang
2026-08-31
2608.31100
HarnessDev
HarnessDev: Can LLMs Create and Evolve Their Own Agent Harness?
19 位作者 · 首作 Yuhao Wu · 末作 Wenxuan Zhang
2026-09-01
2609.01437
三篇有大量共同作者(Yuhao Wu、Jingyuan Zhang、Jiajun Shi、Xinping Lei、Zexuan Wang、Jinkai Liu、Jiaheng Liu、Shen Yan、Wenhao Huang、Ge Zhang 等均跨篇出现),显系同一研究规划下的并行产出。三篇的机构指向同一批单位:HarnessDev 首页标注 ByteDance Seed、新加坡科技设计大学(SUTD)、Georgia Tech、M-A-P、TokenWave.AI,Aspire 为 ByteDance Seed、SUTD、M-A-P、TokenWave.AI,S³Gym 为 ByteDance Seed / M-A-P / TokenWave.AI。Aspire 与 HarnessDev 的 arXiv 备注字段均直接指向该项目主页。
关键数字
1 / 30Aspire 留住的增益
−15.48最佳检查点 vs 未演化基线 17.86
24.1→89.8%模糊目标下的 LoRA 使用率
53.1%可见反馈与 held-out 同向率
026,679 轨迹中的检查点事件
3 / 4换执行器后转负的演化线
出处
项目主页:self-developing-agents.github.io(字节跳动 Seed × TokenWave,2026-09-01)
源码仓库:Self-Developing-Agents.github.io(站点全部内容为内联 HTML,含两份版本:终版 index.html 与 v9 草稿 SDA-blog-Final-v9.html)
Aspire:arXiv:2608.31111
S³Gym:arXiv:2608.31100
HarnessDev:arXiv:2609.01437
说明:本报告中所有图表数值均从站点内联 SVG 中还原(图表以 SVG 渲染,正文文本未直接给出数字),并与主页文字陈述交叉核对。凡涉及论文方法细节与局限之处,以主页所引作者自述为准;完整方法学请以三篇论文原文为准。
改得动,验不明 —— 字节 Seed × TokenWave 三问闭环 RSI 深度解读
資料來源:self-developing-agents.github.io(含站点内联图表数据还原)· arXiv 2608.31111 / 2608.31100 / 2609.01437 · 同期 RSI 文献
撰写于 2026-09-15 · 费曼笔法 · 述评兼顾