← 科研空间 首页

原版 PDF

原版 PDF

原版 PDF

原版 PDF

原版 PDF

论文精读 arXiv:2605.20086v1

Evolutionary Coding Agents Evolve

不只问分数涨了多少:追问 agent 究竟演化了什么。

先讲一个故事

教学性场景(非论文记载):想象一支自动程序实验室,连续 100 轮让 coding model 修改一个算法。排行榜上的最佳分数提高了,研究者却不知道:它真的发明了新结构,还是仅把参数调好?它是否反复加回此前删掉的代码?另一个研究者用原 prompt 重跑,能否得到同一突破?

本文把问题从“最后分数多高”转成“搜索轨迹究竟改变了什么”。关键转折不是再设计一个更聪明的进化器,而是把候选程序、父子关系、提示词、评估结果等完整保存,再对轨迹做重放与受控干预。

故事与技术如何对应

故事人物与情境为教学类比;数据规模、工具和结果为论文报告。

先给结论

论文给出的核心贡献是可重放的轨迹分析设施,而不是新一代得分更高的 agent。对所收集的 121 runs,约 30% 新增代码行是同一 lineage 早先删除行的逐字重引入;36 个突破事件的同 prompt 重放中位数能复得原分数的 0.76 倍,却几乎不复现原始字节级程序;数学任务中,24 次 BO 在 36 个中间程序上有 22 个优于原程序,并在 15 个可比对象中有 13 个达到/超过进化终分。结论限于这些任务、框架与运行条件,不能泛化为所有 coding agents。

外部边界:先前工作已证明 LLM+进化搜索可产出有效结果;本文补上的可检验问题是搜索过程机制,而非“进化搜索有效”本身(详见 Reference/Evidence 与内部 grounding anchor)。

研究动机

最终 evaluator score 把不同因果来源混在一起:算法结构创新、既有策略参数调优、模型内知识重组、以及对 evaluator 的过拟合。只保留 score-by-iteration 会丢失区分它们所需的证据。论文因此将 evolutionary coding agent 操作性定义为:任务规格与可执行评估器、候选程序种群/档案、产生变异/重组/精炼的一个或多个 LLM,以及选择未来候选和上下文的搜索程序。

问题可概括为:agent 实际演化了什么?哪些变化推动分数,哪些是循环、不可复现或泛化失败?

数学表示及建模

固定程序结构 \(s\),其可调参数为 \(\theta\in\Theta_s\),则程序写为 \(p=s(\theta)\),任务评估器给出 \(f(p)\)。从中间程序结构 \(s_0\) 出发的调参上限定义为:

\[f^\star_{BO}(s_0)=\max_{\theta} f(s_0(\theta)),\qquad \Delta(s_0)=f^\star_{evo}-f^\star_{BO}(s_0).\]

这里的 \(\Delta\) 是对该程序暴露参数空间、搜索预算和 evaluator 的相对差距,不是“结构创新”的无偏因果估计。实际 BO 用一次 LLM 找数值旋钮、自动重写为参数区块,再用 24 次 evaluator 调用(8 random + 16 BO acquisition)。

循环指标:对每个 parent-child diff,统计新增行中逐字等于同 lineage 先前删除行的比例。该指标是字面重复,不等于语义上无效,也不证明模型遗忘。

算法流程 / 方法

  1. 采集与规范化:从 OpenEvolve、GEPA、EvoX、ShinkaEvolve 汇总轨迹为统一 JSONL,保留源码、评分、上下文、边及环境。
  2. 轨迹静态分析:跨运行计算 lineage、program size、数值常量等。
  3. 编辑标签:先人工归纳九类 edit,再以 LLM-as-judge 标注所有 parent-child diffs,抽样 200 项盲法人工复标验证。
  4. 确定性循环检测:追踪 lineage 的删除行,识别后续 byte-identical re-introduction。
  5. 突破重放:36 个 best-so-far 事件各用原 prompt/context 重采样 10 次;比较可解析、通过评估、字节一致、分数恢复。
  6. 结构/参数对照:选取 36 个中间程序,提取常数并 BO,比较原分数与该 run 进化最终最佳。

九类编辑:Bug fix、External dependency、Architectural change、Composition、Local refinement、Pruning、Refactor、Efficiency、Hyperparameter tuning;通常多标签而非互斥。

实验设计

该集合并非随机抽样的全部 agent 生态;不同 framework/task 的 trace 可观测性与 evaluator 条件也不完全相同。

实验结果

诊断 论文观察 正确解读
常见 vs. 有效编辑 Hyperparameter tuning 最常见;单 edit 正向分数 odds ratio:External dependency 3.58(n=104)、Efficiency 1.61(n=464)、Architectural change 1.55(n=1,075)。 频率与单次效用不等价;编辑多标签,关联不等于因果。
循环 新增行中位约 30% 是早先删除行的逐字重引入;118/121 runs 的比率随迭代单调增长。 存在普遍的字面 churn;不是每行都无用。
重放 36 breakthrough 的 parse/eval 中位成功率均 1.00,exact-match 0.00,Replay/Original 中位 0.76。 改善可由同 prompt 产生不同程序部分复现;不是确定性程序复刻。
参数 BO 36 个目标中 22 个超过原中间程序;与进化 final-best 比,15 个可比项中 13 个持平或更好,中位差 +0.025。 样本显示数学任务的部分晚期收益可由参数搜索取得,不能据此抹去结构发现价值。
ALE 泛化 四个框架中两个至少在 30% scored problems 过拟合;同一 ahc024 上 OpenEvolve private +1606,而 ShinkaEvolve private −1610(尽管 public 改善)。 public score 不足以作为泛化结论,且结果依框架而异。

Math runs 的最佳 lineage 深度中位数 6、ALE 为 4;best-so-far 通常较早出现,之后大量预算落在未进入最终最优 lineage 的分支。

我的评论

价值:把“分数进步”拆成可检验机制,是 benchmark 报分之后重要的测量层;开放 trace 与 replay 让研究者可以提出反事实问题。最扎实的结论是描述性统计与具体 replay/BO 对照。

边界:九类 edit 由 LLM judge 扩展到全量数据,κ/F1 显示可用但仍有错分;24 次 BO 的“tuning ceiling”受参数提取、范围和预算约束;重放只测所选 36 个突破事件;跨多个系统仍不足以代表整个领域。私测 overfit 的分析也只覆盖论文给出的 run/problem 子集。

审稿判断:作为诊断数据/方法论文,其问题重要、证据具体且复现资源有潜力;我会要求更明确公开可复核的 trace 许可、judge 错误案例及 BO 参数边界。避免将“约 30%”解读为所有 coding agents 的普遍常数。

One More Thing

“可重放轨迹”让 coding agent 的评估对象从一条排行榜曲线扩展为可干预的搜索过程。下一步若要把相关诊断变成方法改进,关键实验应检验:向 agent 提供 lineage-aware 的删改记忆后,是否减少无益循环,同时不压制后来确有价值的回滚;需要在 held-out evaluator 和多任务上做随机对照,而非仅优化循环率。

完整图谱

下列图覆盖论文正文与附录识别出的 Figure 1–12。由于源包获取失败,当前内嵌的是论文页面裁图(不是独立高清原图),图号与图注依据随任务 PDF 文本核对;需在可联网环境用源包/高清图替换并再次目视核验。

论文 Figure 1 所在页截图
Figure 1:九类代码编辑的示例 diff。当前为页面截图。
论文 Figure 2 所在页截图
Figure 2:EvoTrace 与 EvoReplay 的轨迹记录及干预流程示意(页面截图)。
论文 Figure 3 所在页截图
Figure 3:程序规模与 numeric-literal 数量随搜索迭代变化。
论文 Figure 4 所在页截图
Figure 4:编辑类别频率与正向分数变化 odds ratio。
论文 Figure 5 所在页截图
Figure 5:按 best-so-far 更新统计的编辑标签富集。
论文 Figure 6 所在页截图
Figure 6:最终最佳 lineage 的编辑标签富集稳健性检查。
论文 Figure 7 所在页截图
Figure 7:按领域拆分的编辑标签频率。
论文 Figure 8 所在页截图
Figure 8:不同领域的单次编辑正向效用。
论文 Figure 9 所在页截图
Figure 9:分领域 best-so-far 编辑标签富集。
论文 Figure 10 所在页截图
Figure 10:分领域最终最佳 lineage 标签富集。
论文 Figure 11 所在页截图
Figure 11:每次编辑所含标签数量分布。
论文 Figure 12 所在页截图
Figure 12:不同 backend 的 edit helpfulness。

源图逐项图谱(完整覆盖)

以下为 TeX `includegraphics` 清单中 18 个原始图的优化内嵌版本;部分图与上方按 PDF 图号展示的页面截图重复,是为保证每一个源图文件都有独立可核查图项。

EvoTrace 与 EvoReplay 总览
EvoTrace 与 EvoReplay 总览(依据论文图源;不扩张为图外结论。)
九类代码编辑分类示例
九类代码编辑分类示例(依据论文图源;不扩张为图外结论。)
程序规模与超参数数量变化
程序规模与超参数数量变化(依据论文图源;不扩张为图外结论。)
编辑标签总体频率
编辑标签总体频率(依据论文图源;不扩张为图外结论。)
编辑标签与正向效用关系
编辑标签与正向效用关系(依据论文图源;不扩张为图外结论。)
best-so-far 路径编辑富集
best-so-far 路径编辑富集(依据论文图源;不扩张为图外结论。)
最终最佳 lineage 编辑富集
最终最佳 lineage 编辑富集(依据论文图源;不扩张为图外结论。)
ALE 编辑标签频率
ALE 编辑标签频率(依据论文图源;不扩张为图外结论。)
数学任务编辑标签频率
数学任务编辑标签频率(依据论文图源;不扩张为图外结论。)
ALE 编辑效用
ALE 编辑效用(依据论文图源;不扩张为图外结论。)
数学任务编辑效用
数学任务编辑效用(依据论文图源;不扩张为图外结论。)
ALE best-so-far 富集
ALE best-so-far 富集(依据论文图源;不扩张为图外结论。)
数学任务 best-so-far 富集
数学任务 best-so-far 富集(依据论文图源;不扩张为图外结论。)
ALE final-lineage 富集
ALE final-lineage 富集(依据论文图源;不扩张为图外结论。)
数学任务 final-lineage 富集
数学任务 final-lineage 富集(依据论文图源;不扩张为图外结论。)
ALE 每次编辑的标签数分布
ALE 每次编辑的标签数分布(依据论文图源;不扩张为图外结论。)
数学任务每次编辑的标签数分布
数学任务每次编辑的标签数分布(依据论文图源;不扩张为图外结论。)
各 backend 编辑效用
各 backend 编辑效用(依据论文图源;不扩张为图外结论。)

源图逐项图谱(完整覆盖)

以下为 TeX `includegraphics` 清单中 18 个原始图的优化内嵌版本;部分图与上方按 PDF 图号展示的页面截图重复,是为保证每一个源图文件都有独立可核查图项。

EvoTrace 与 EvoReplay 总览
EvoTrace 与 EvoReplay 总览(依据论文图源;不扩张为图外结论。)
九类代码编辑分类示例
九类代码编辑分类示例(依据论文图源;不扩张为图外结论。)
程序规模与超参数数量变化
程序规模与超参数数量变化(依据论文图源;不扩张为图外结论。)
编辑标签总体频率
编辑标签总体频率(依据论文图源;不扩张为图外结论。)
编辑标签与正向效用关系
编辑标签与正向效用关系(依据论文图源;不扩张为图外结论。)
best-so-far 路径编辑富集
best-so-far 路径编辑富集(依据论文图源;不扩张为图外结论。)
最终最佳 lineage 编辑富集
最终最佳 lineage 编辑富集(依据论文图源;不扩张为图外结论。)
ALE 编辑标签频率
ALE 编辑标签频率(依据论文图源;不扩张为图外结论。)
数学任务编辑标签频率
数学任务编辑标签频率(依据论文图源;不扩张为图外结论。)
ALE 编辑效用
ALE 编辑效用(依据论文图源;不扩张为图外结论。)
数学任务编辑效用
数学任务编辑效用(依据论文图源;不扩张为图外结论。)
ALE best-so-far 富集
ALE best-so-far 富集(依据论文图源;不扩张为图外结论。)
数学任务 best-so-far 富集
数学任务 best-so-far 富集(依据论文图源;不扩张为图外结论。)
ALE final-lineage 富集
ALE final-lineage 富集(依据论文图源;不扩张为图外结论。)
数学任务 final-lineage 富集
数学任务 final-lineage 富集(依据论文图源;不扩张为图外结论。)
ALE 每次编辑的标签数分布
ALE 每次编辑的标签数分布(依据论文图源;不扩张为图外结论。)
数学任务每次编辑的标签数分布
数学任务每次编辑的标签数分布(依据论文图源;不扩张为图外结论。)
各 backend 编辑效用
各 backend 编辑效用(依据论文图源;不扩张为图外结论。)

Other Discussion Roles / 其他讨论角色

以下七个角色使用 MIT MAS.S60 课程原始 prompt,从不同责任位置审视同一篇论文。

Scientific Peer Reviewer

The paper has not been published yet and is currently submitted to a top conference where you’ve been assigned as a peer reviewer. Complete a full review of the paper answering all prompts of the official review form of the top venue in this research area (e.g., NeurIPS). This includes recommending whether to accept or reject the paper.

总结与贡献:提出 EvoTrace(121 runs/16 tasks/4 frameworks)及 EvoReplay,并报告 edit taxonomy、cycling、replay 与 BO 诊断。优点是问题重要、把终分分析推进到轨迹证据;范围覆盖数学与 heuristic programming。

方法与证据:trace 可重放是关键优势;200 项人工复标 macro κ=.77、micro-F1=.90 支持标签可用。主要风险是 judge 误差、任务/模型覆盖有限、36 个 replay/BO 子样本与参数旋钮选择可能影响结论;多标签 edit 的 odds ratio 不能作因果解释。建议公开足够的逐项证据与失败案例并审慎限定外推。

影响/可复现:若 dataset/package 可直接获取,领域可复用其 schema 与诊断;本环境未能在线核验仓库内容或许可。建议:Weak Accept(置信度:中等),前提是数据与代码发布可验证且版本/指标定义清楚。

Archaeologist

This paper was found buried under ground in the desert. You’re an archeologist who must determine where this paper sits in the context of previous and subsequent work. Find and report on one older paper cited within the current paper that substantially influenced the current paper and one newer paper that cites this current paper.

前序影响:文章明确把 FunSearch 作为该范式的奠基实例引用;Nature 论文以 LLM 引导的进化程序搜索解决数学构造问题,提供“程序变异 + 可执行评价”的直接先例。链接:Nature 论文(本次外部抓取未成功,影响关系依据当前论文文本的引用与定位)。

后续引用:截至本页检索日,未能成功查询 arXiv/Semantic Scholar 引用索引(DNS 故障),因此无法核验任何更新论文确实引用 2605.20086;不杜撰 newer paper。边界是“本次无可核验证据”,不等于不存在。

Academic Researcher

You’re a researcher who is working on a new project in this area. Propose an imaginary follow-up project not just based on the current but only possible due to the existence and success of the current paper.

设想项目:Lineage Memory Intervention Benchmark。本文成功将轨迹保存并显示约三成字面循环,才使“记忆是否能减循环但保留有益回滚”成为可实验问题。用原始 EvoTrace tasks 构造三臂随机实验:无记忆、仅记最近删除代码、按删除原因/后续分数检索的 lineage memory;固定模型预算与 evaluator。主要指标是循环率、held-out score、有效回滚保留率、成本与多样性。预注册“循环下降且 held-out 不退化”判据,跨 framework 复验。此为新研究设想,非论文已验证结论。

Industry Practitioner

You work at a company or organization developing an application or product of your choice (that has not already been suggested in a prior session). Bring a convincing pitch for why you should be paid to implement the method in the paper, and discuss at least one positive and negative impact of this application.

产品提案(假想):企业代码优化流水线的 Evolution Trace Inspector。向负责大型 C++ heuristic/性能代码的团队提供每次变异的可审计 provenance、重复编辑告警、held-out evaluator replay 和参数调优基线。付费价值是减少昂贵的盲目迭代并让工程师区分结构改进与参数变化;论文支持该痛点存在于其任务样本,但并未证明商业 ROI。

正面影响:更可解释的自动优化可节约工程实验预算。负面影响:若只优化可测的 public metric,可能加剧对 hidden test 的过拟合;自动生成代码的安全性、许可与维护负担不能由分数代替。上线前需 sandbox、人工审批、私有评测集和回滚审计。

Hacker

You’re a hacker who needs a demo of this paper ASAP. Implement a small part or simplified version of the paper on a small dataset or toy problem. Prepare to share the core code of the algorithm to the class and demo your implementation. Do not simply download and run an existing implementation – though you are welcome to use (and give credit to) an existing implementation for “backbone” code.

可演示的简化版(算法路径,不声称运行过):给一个玩具整数函数的源码候选,每轮生成“修改常量/改一行”的 child,运行 evaluator,保存 parent、diff、score;维护 deleted_lines 集合并检测新增行是否已在本 lineage 删除;再对同一 prompt 重采样,比较是否复得高分而非相同源码。

for parent in population:
    child = mutate(parent, prompt, model)
    score = evaluate(child)
    added, removed = unified_diff(parent.code, child.code)
    cycling = added & lineage_deleted[parent.id]
    trace.append({"parent": parent.id, "child": child, "score": score, "cycling": cycling})
    lineage_deleted[child.id] = lineage_deleted[parent.id] | removed

这是原创教学伪代码,非复刻论文 package;没有下载或运行已有实现。真实 demo 需补充选择器、失败处理及同一 evaluator。

Private Investigator

You are a detective who needs to run a background check on one of the paper’s authors. Where have they worked? What did they study? What previous projects might have led to working on this one? What motivated them to work on this project? Feel free to contact the authors, but remember to be courteous, polite, and on-topic.

仅根据论文首页公开署名,可确认作者列出的机构:Zuse Institute Berlin、Technical University of Berlin、Hong Kong Baptist University、RIKEN Center for Advanced Intelligence Project。此处不推断个人工作经历、教育背景或私人动机;论文与当前可用来源未充分支持这些履历信息。由于外部网络 DNS 故障,未能核验作者个人主页/机构档案,也未联系作者(无用户授权)。因此“曾参与哪些项目/为何开展研究”明确为未知,而不是按机构或合作者关系猜测。

Social Impact Assessor

Identify how this paper self-assesses its (likely positive) impact on the world. Have any additional positive social impacts left out? What are possible negative social impacts that were overlooked or omitted?

论文自我框架:将 EvoTrace/EvoReplay 描述为帮助研究者诊断 agent 搜索动态、识别高分背后的不同机制;没有在所读正文中提出具体社会影响评估或直接部署承诺。

额外正面可能:轨迹审计可能帮助提高自动代码搜索的可复现性、减少无效算力消耗,并让过拟合更早暴露。负面/遗漏风险:更高效的代码优化也可用于恶意软件/漏洞利用;自动生成代码可能引入安全缺陷;benchmark 过拟合、模型/API 成本与能源开销、评估数据泄漏、数据集许可问题都需单独评估。它们是合理风险推演,不是论文已测量的社会后果。

Reference / Evidence

本文 arXiv 页面
https://arxiv.org/abs/2605.20086

来源版本:页面所读 PDF 标记为 v1(2026-05-19);检索日期 2026-10-23。尝试 curl 核验失败(当前环境 DNS 解析失败)。

本文 PDF
https://arxiv.org/pdf/2605.20086

本页数值与图文以任务提供的 PDF 文本为依据,在线版本未能复核。

FunSearch(前序工作)
Nature, 2023

公开链接;本次网络核验失败。用于已知边界及谱系背景。

AlphaEvolve(外部系统背景)
Google DeepMind 官方介绍

公开链接;本次网络核验失败,未据此作定量比较。

MIT MAS.S60 Other Discussion Roles 原始 prompt 来源
课程讲义 PDF

角色问题原文依据该公开讲义。