What Do Evolutionary Coding Agents Evolve?
本文介绍了进化编码轨迹数据集 EvoTrace 以及基于重放的方法 EvoReplay,揭示了进化编码代理的性能提升往往源于重新调优或复用现有知识等多样化机制,而非真正的算法创新,其证据在于代码行频繁出现确定性循环。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,一个由人工智能程序员组成的团队正试图解决一个复杂的谜题,比如设计一种将圆形装入盒子的新方法,或者编写一个更快的视频游戏引擎。他们并非由一人单独工作,而是使用一种名为进化编码的系统。
其工作原理如下:人工智能生成一段代码,对其进行测试,并查看得分情况。随后,它对该代码进行微小的修改(变异),测试新版本,并保留那些表现更好的版本。这一过程重复数千次,代码随时间“进化”,正如自然界进化动物一样。
曾有一段时间,所有人都认为这些人工智能代理正在发现全新的、卓越的思维方式来解决难题。但这篇论文提出了一个简单而怀疑的问题:“它们实际上在进化什么?”
为了回答这个问题,研究人员构建了一个名为EvoTrace的庞大“黑盒记录器”。你可以将其想象为这些人工智能实验的飞行记录仪。它不仅记录最终得分,还记录每一个步骤、每一行添加或删除的代码、人工智能看到的每一个提示,以及它犯下的每一个错误。他们还构建了一个名为EvoReplay的工具,允许他们暂停实验、倒带,并询问:“如果我们改变这一件事,结果会怎样?”
以下是他们发现的四个主要方面,辅以日常类比进行解释:
1. “微调者”与“建筑师”
当人工智能获得更高分数时,究竟发生了什么变化?
- 现实情况:大多数时候,人工智能并非在发明新策略。它只是在微调旋钮。
- 类比:想象你有一台收音机。人工智能将 90% 的时间花在调节音量大小,或微调调谐旋钮(将数字从 1.85 改为 1.90)。它很少决定从头开始建造一台全新的收音机。
- 发现:真正导致分数大幅跃升的变化(例如添加新库或完全重写某段代码)非常罕见。人工智能将大部分精力耗费在微小、枯燥的调整上。
2. “健忘的园丁”(循环)
这是最令人惊讶的发现。
- 现实情况:人工智能不断删除代码行,却在几步之后又将它们加回来。
- 类比:想象一位园丁拔除了一株杂草,走开后,又在五分钟后回到原地,将完全相同的杂草种在完全相同的位置。他们一遍又一遍地重复这样做。
- 发现:人工智能添加的新代码中,约有**30%**实际上是它之前删除的代码。这就像人工智能的记忆很短,忘记了它刚刚丢弃的内容,并浪费时间“重新进化”相同的想法。这种情况几乎发生在每一次运行中,无论使用哪种人工智能模型。
3. “机器中的幽灵”(可复现性)
如果你要求人工智能使用完全相同的指令再次解决该问题,它会得到相同的结果吗?
- 现实情况:不会。
- 类比:想象一位厨师做了一锅完美的汤。如果你要求他使用完全相同的食谱和食材再做一次,他会做出一锅不同的汤。它看起来不会一样,食材的顺序也可能不同。
- 发现:然而,尽管代码看起来不同,但汤的味道是一样的。人工智能可以使用完全不同的代码复现高分。这意味着“分数”是真实的,但具体的解决方案只是从帽子中随机抽取的一次幸运结果,而非独一无二的杰作。
4. “简单调音师”(调优差距)
人工智能的成功在多大程度上仅仅是找到了正确的数字,而非发现了新算法?
- 现实情况:大部分改进源于简单的数学调优。
- 类比:想象一场赛车比赛。人工智能花费数周时间建造一台华丽的新引擎(结构)。但研究人员发现,如果他们只是拿一台平庸的引擎,花几个小时调整燃油混合比和轮胎压力(超参数),就能获得几乎相同的速度。
- 发现:在许多数学任务中,一个简单的计算机程序,只需微调“中等水平”解决方案的数字,就能匹配甚至超越复杂进化搜索的最终得分。人工智能未必发现了新的解题方法;它只是找到了旧方法的完美设置。
全局视角
该论文得出结论:当我们看到这些人工智能代理获得更高分数时,不应自动假设它们正在“发现新科学”。
通常,它们只是在:
- 微调数字(超参数调优)。
- 遗忘并重新记起相同的代码(循环)。
- 过拟合测试(死记硬背测试答案,而非理解原理)。
作者认为,要真正理解这些代理是否聪明,我们需要关注旅程(轨迹),而不仅仅是目的地(最终得分)。我们需要知道它们是在建造一座新房子,还是仅仅在重新布置旧房子里的家具。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。