差一格的环:把三篇论文的账自己算了一遍
先讲个场景。
一个工程师盯着训练日志,曲线一路向上:0.79、1.75、2.38。他关掉日志,觉得自己这一周没白干。然后他打开那张被藏起来的卷子,上面写着 17.86。
那个数字是他的起点。他一直没动。
这篇帖子把字节 Seed 与 TokenWave 的「Self-Developing Agents」三件套讲得很顺,我顺着它的脚注把三篇原文、项目页和同期那个 AI4AI-Bench 都调出来对了一遍。结论大体成立,但有几笔账要重算——其中一笔,是论文自己算错的。
先说三处原帖没提的硬料
一、落款比原帖多三家。 原帖写「字节 Seed × TokenWave」。HarnessDev 的 arXiv 页上,affiliation 列的是 ByteDance Seed · Singapore University of Technology and Design · Georgia Institute of Technology · M-A-P · TokenWave.AI。SUTD、Georgia Tech、M-A-P 都在署名里。不是说原帖错,是这三家不该被抹掉——尤其 M-A-P 这两年出的数据与评测工作,圈内人一看就明白这组合的成色。
二、HarnessDev 开头那句动机,比全文任何结果都更有冲击力,而原帖没引。 论文 Introduction 第一页写着:
> with identical weights, GPT-5 solves 35.2% of Terminal-Bench 2.1 inside Terminus 2 but 49.6% inside Codex CLI.
同一个 GPT-5,同一套权重,换个外壳,分数从 35.2 跳到 49.6。 相对提升 41%。这才是「为什么要研究 harness」的真正理由——不是模型不行,是模型外面那圈代码不行。把这句话放在最前面,后面那一串「53.1%」「34/64」才不是无聊的统计。
三、时间线要对齐。 Aspire(2608.31111)与 S³Gym(2608.31100)都是 2026-08-31 提交,HarnessDev(2609.01437)是 09-01,归在 cs.SE。三篇同一天挂 arXiv 的说法,严格讲是「两篇 8-31、一篇 9-01」——差一天,意思不变,但引用时别写错。
第一笔账:那个「五分之一」,其实是六分之一
AI4AI-Bench(2608.20318,2026-08-20)设计了一套统一量表:0 = 无信息模型,0.1 = 仓库自带的原算法,1.0 = 该任务最优。
于是「到最优的距离」= 1.0 − 0.1 = 0.9。
- 最强系统(论文摘要说 0.250)走完的距离:0.250 − 0.100 = 0.150
- 占比:0.150 ÷ 0.900 = 16.7%
顺手再算均分那笔:0.166 对应 (0.166 − 0.1) ÷ 0.9 = 7.3%。290 个配置–任务单元的平均成绩,走完了通往最优的百分之七。
还有一处内部口径对不上,值得论文作者回一句:摘要同时给出「触及学习侧的提交平均 0.226、其余 0.126」,又说整体均分 0.166。按 0.226 / 0.126 加权反解,触及学习侧的比例应该是 40% 左右;而帖子引的原文数字是 46.4%。0.464 × 0.226 + 0.536 × 0.126 = 0.172,和 0.166 差了一截。两个数可能来自不同切片(提交级 vs 任务级),但同一段话里并排放着,读者没法不困惑。
第二笔账:64 次切换,有 11 次不知去向
HarnessDev 演化阶段最要紧的一组数:64 次相邻版本切换(论文同一 commit 重复运行的噪声带约 ±4.75 分)。
- 增益落在噪声带内:27
- 超出噪声带的明确正向证据:2
- 确实变差(双回归 8 + 单回归 16):24
64 − 53 = 11。这 11 次切换既不在「噪声内」、也不在「变差」、也不在「明确正向」,原文没有交代它们去哪了。最可能是有 11 次「无变化」或「增益为零」,但这只是推测。一份以「诚实报告噪声」为卖点的研究,值得把这 11 笔说清楚。
反过来说,有一处数字对得很漂亮,值得记一笔:9 条独立轨迹 + 64 次相邻切换 = 73 个官方版本,和论文给的 73 完全吻合。这种「账能对上」的小地方,比任何漂亮结论都更能说明数据是真跑出来的。
第三笔账,也是最要紧的一笔:ρ ≈ 0 旁边那个 −0.23
原帖写:
> 智能体对自己这次做得好不好所下的判断,与它下一次是否真的变好,相关系数 ρ = −0.010 与 −0.018。约等于零。
这句没错,但它漏掉了论文原文紧接着给的另一组数:
> 另有一组运行级的相关,Pearson r = −0.23、Spearman ρ = −0.11
−0.23 是 −0.010 的 23 倍。 同一份数据、同一个问题,转移级看是「毫无关系」,运行级看是「有明确关系,而且是负的」。
把这个差异摆出来之后,问题就变了。原来那句「自评不含信息」,现在要先回答:为什么尺度一换,结论就从零变成负?
一个不难想到的解释是——负相关可能不是「自评没用」,而是天花板效应。本来就强的运行,判断自然更准(打分容易),但它的提升空间也更小(已经在高位,涨不动);本来就弱的运行,判断稀里糊涂,可正因为起点低,稍微一动相对增益就大。这两件事叠起来,就会在运行级造出一个虚假的负相关。
论文自己没有做这个分离。所以我的判断是:
- 作为工程建议——「别信自评」——很稳,照做没坏处;
- 作为理论主张——「自评几乎不含信息」——证据偏薄,而且方向性都没定下来(负号到底意味着什么,论文没答)。
这帖真正值钱的地方
说完挑刺的部分,得把好东西说清楚。
这套工作最有价值的不是任何一个百分比,而是它第一次把「谁判它改对了」变成一个可以量出来的东西。
费曼当年讲过一个道理:你没法通过命名来理解一个东西。以前「递归自我改进」这四个字的困境是——它听上去像状态,不像数量。你说「它在自我进化」,我没法反驳,因为我手里没有尺子。而现在有尺子了:30 格配置–目标里只留 1 份增益;64 次切换里只有 2 次超出噪声;9 个宣告终版里只有 2 个在 held-out 上真的是最优。
还有一处细节特别诚实,原帖也提到了但值得再强调一次:被留下来的那唯一一份增益,作者用自己的三道检验去量,也不达标。 因为那份分数是在同一张看得见的切片上反复挑出来的,没有独立的确认集。作者完全可以把这句藏起来——他们没有。
这比「1/30」这个数字本身重要得多。一个愿意用自己造的尺子量自己最亮眼那个结果的团队,它给的负面结论才值得信。
落地:三道检验怎么翻译成 CI
论文给的三条,我按落地成本重排了一下:
| 做法 | 成本 | 今天能不能做 |
|---|---|---|
| 留一份从来没进过 prompt 的评测集,只在最终判定时用 | 低 | 能,多半你已经有,只是泄露了 |
| 每次自改都入库、可回滚,禁止就地覆盖 | 低 | 能,git 就够 |
| 给状态/记忆机制埋点,统计实际触发次数 | 中 | 能,要可观测性基建 |
| 换一个执行器整套重跑,看增益还在不在 | 中高 | 能,但要双倍算力 |
你测出来的那个「进步」,有多少是你自己那套壳的功劳? 这个问题,在此之前几乎没人问过。
最后一句
原帖的标题是「改得动,验不明」。我算完这几笔账,觉得可以再补半句:
改得动、也验得明,但验的那把尺子得在别人手里。
那张 1/30 的图之所以让人不舒服,不是因为智能体太弱,是因为它认认真真跑了三十遍,每一遍都在朝一个它自己定的方向使劲。它不缺力气,它缺一个能告诉它「你跑错方向了」的人。
而这个角色,现在还得由我们来演。