卡内基梅隆大学突破:AI研究员实现自主实验迭代优化能力提升
这项由卡内基梅隆大学计算机科学学院主导的研究发表于2026年5月以预印本形式在arXiv上公开编号为arXiv:2605.05724v1有兴趣深入了解的读者可以通过该编号查询完整论文。研究本身要解决的问题其实是机器学习领域里一个看起来平常却相当棘手的挑战一个新模型能不能自己做研究不是泛泛地写出一篇论文而是真正地在电脑上动手改代码、跑实验、看结果、再改、再跑——就像人类研究员每天在实验室里做的事情一样。以往的人工智能研究辅助工具要么只会帮你写文章要么只会调调参数要么只会建议下一步怎么做但它们很少能把提出想法→改写代码→运行实验→看懂反馈→再次改进这整个闭环自动化地转起来更别说在这个过程中遇到错误、超出限制、结果不好之后还能从中学习并调整方向。卡内基梅隆大学的这支团队正是把目标锁定在这个完整的闭环上。他们构建了一套自动研究系统核心设计是让多个专门负责不同方向的AI代理就像一组分工协作的研究小助手轮流提出假设、修改代码、提交实验、读懂外部评测系统返回的结果然后把这些经验记录下来传给下一轮继续用。整个过程一旦启动人类不需要介入——不需要挑选哪个想法值得试不需要修复崩掉的实验也不需要判断某次失败是否有价值。机器自己摸索自己总结自己继续。在实验中这套系统跑了三个不同的机器学习任务合计提交了1197次正式实验加上600次对照实验。在参数高尔夫这个任务上它把模型压缩效率提升了0.81%在NanoChat-D12语言模型预训练任务上它把核心评估分数从0.1618提升到0.2244提升幅度高达38.7%在CIFAR-10图像分类速度任务上它在满足精度要求的前提下把训练时间压缩了4.59%。每一项结果都由独立的外部评测系统验证研究团队没有在中途干预或修改规则。---一、这套系统到底在做什么一次实验就是一次提案动手看反馈要理解这套系统的工作方式可以把它比作一个认真负责的实习研究员团队正在厨房里改进一道菜谱。每个人负责不同的方向——有人专门研究食材搭配有人专门负责火候控制有人专门琢磨调味还有人专门分析之前每次尝试的记录。每次有人提出我觉得改用这个食材会更好就真的去做一道菜然后让一个独立的美食评委打分。评委的评分结果会被完整记录下来这次多少分、花了多长时间、有没有超出食材预算、失败原因是什么。这些记录会被传给整个团队下次有人提新想法时可以先看看之前哪些方向试过了、哪些超预算了、哪些方向虽然没提升但离目标最近。这套系统中每一次实验被称为一个trial试次。每个试次包含四个要素一个关于这次改动为什么有用的假设、对训练代码的实际修改、外部评测系统给出的结果分数、以及被记录下来供后续参考的反馈信息。这四个要素构成了一次完整的研究动作就像一次菜谱改进实验从设想到上桌再到记录结论的完整过程。系统里有一个叫做lineage血缘记录的核心机制可以理解为那本越来越厚的改良菜谱日志。每次实验结束后不论成功还是失败结果都会被追加进这本日志。下一轮的AI代理在开始工作前会先翻阅这本日志了解当前最好的结果是什么、哪些方向试过了但没用、哪些方向因为超出限制而被淘汰、最近有没有什么新思路值得借鉴。正是这本日志让整个系统不会每次都从零开始乱撞而是能够沿着已有的经验线索继续往前推进。---二、三个不同的竞技场不同的限制条件不同的反馈信号为了验证这套闭环系统是否真的有效研究团队选择了三个截然不同的任务环境每个环境都有自己独特的游戏规则和得分方式就像用不同难度的关卡来测试同一套攻略是否通用。第一个任务叫参数高尔夫。这个名字来自OpenAI发布的一个公开挑战规则很像真实的高尔夫球——分数越低越好但还有严格的场地限制。具体来说选手需要训练一个语言模型让它在一个固定的文本数据集上达到尽量低的验证损失可以理解为模型读文本时猜词的错误率越低表示模型越聪明。但关键在于整个程序打包后的文件大小不能超过16兆字节训练过程不能超过10分钟全程使用8块高端显卡H100。这意味着每个想法都要在效果更好和体积更小之间精准拿捏稍微贪心一点就会因为文件超大而直接被淘汰。这个任务的主要反馈信号就是文件大小和时间预算——每次超出限制系统都会返回精确的超出了多少字节或超时了多少秒这些信息被直接传回给下一轮的AI代理。第二个任务叫NanoChat-D12。这是由著名AI研究者Andrej Karpathy开源的一套小型语言模型预训练框架任务目标是在固定的90分钟计算时间内尽可能提高模型在多个评估基准上的综合分数称为CORE分数。这个任务的独特之处在于它的反馈信号主要是运行效率——如果一个代码改动让训练变快了那省下来的时间就可以用来训练更多轮次相当于间接提升了最终分数。这就像给赛车手一个固定油量跑完比赛你的排名取决于终点速度所以提升引擎效率和降低轮胎磨损都能让你跑得更远。在这个任务中AI代理最大的收获之一正是发现了训练代码中存在一个注意力计算模块效率低下的瓶颈替换后省出了大量计算时间这些时间随即被用于训练更多数据分数因此大幅提升。第三个任务叫CIFAR-10 Airbench96。CIFAR-10是一个经典的图像分类数据集里面有飞机、汽车、鸟、猫等十类图片任务是训练一个模型来准确区分它们。Airbench96在这基础上加了一个颇具挑战性的规则模型在测试集上的平均准确率必须达到96%以上然后在满足这个精度门槛的前提下谁的训练时间越短谁就赢。这个精度门槛就像一道关卡没有达到它再快也没用。于是AI代理每次提出加速训练的想法都要先过一关精度检验——失败了不会只收到一个笼统的错误提示而是会得到详细的这次速度是多少、精度是多少、差了多少这些精确的失败信息同样会被记入日志供后续改进参考。---三、分工协作的专家团队为什么要有专家而不是一个全能代理这套系统里有一个设计选择乍看之下不那么显眼但实验结果表明它相当关键系统里不只有一个AI代理在工作而是一群分工明确的专家代理每个人只负责训练流程的某一个方面。以参数高尔夫任务为例这里一共有十个专家角色分别负责模型架构设计、优化器调参、量化压缩、正则化方法、损失函数设计、评估策略、课程学习、分词方式、测试时训练以及一个专门负责综合分析已有结果的元搜索分析师角色。每个专家有自己的工作目录有自己的提示词说明自己该负责什么、不该碰什么还有明确的改动力度指导——比如架构专家被告知如果当前最好的版本已经在小参数上调来调去了那就应该考虑更大幅度的结构性改动而不是继续微调同一个数字。NanoChat-D12任务有五个专家分别负责模型架构、优化策略、数据处理、训练调度和系统级优化。CIFAR-10任务同样有五个专家覆盖架构、优化、数据增强、损失函数和正则化。每个专家都能看到同一份日志账本——所有人的实验记录都被汇总在共享的血缘记录里。这意味着当系统专家发现了训练效率问题并修复了它架构专家在下一轮工作时就能看到系统专家刚刚省下了一批时间这条信息并据此决定是否值得在这段时间里尝试更复杂的架构。信息在不同专家之间流通想法可以跨越角色边界相互激发。研究团队在论文中做了一组对照实验把这种分工专家共享日志的设计和其他几种方案做了比较。对照方案包括只有一个全能代理独自工作单一通才十个不分专业方向的普通代理同时工作通用多代理以及和标准系统完全相同但去掉了历史记录共享机制的版本无血缘记录。实验结果用一个数字来概括就很清楚了在同样的200次实验预算内分工专家共享日志的版本找到了16次有效提升无血缘记录版本只找到了3次然后之后跑了125次实验都没有再找到任何新的提升。没有历史记录的系统就像一个每天早上都失忆的研究员每次都要从头开始摸索碰壁了也不知道上次是为什么碰壁的。通用多代理版本虽然也有10个代理同时工作但因为它们提出的想法高度重叠最大的一个想法类别占了12%的提案而分工专家版本只有3.5%实际有效提升反而比分工专家版少。衡量提案多样性的方式也很有意思。研究团队把每次实验的假设文本用一种叫TF-IDF的算法转换成向量然后统计这些向量聚集成多少个真正不同的想法簇。分工专家版本在200次实验中形成了134.8个有效想法簇通用多代理只有41.1个单一通才只有61.9个而且单一通才有10.1%的提案几乎是重复的分工专家版本只有2%。这说明专业分工确实在帮助系统把注意力分散到更多不同的方向上。---四、失败也是信息崩溃、超时、不达标都是有价值的反馈在这套系统里一次实验失败并不意味着这次尝试毫无意义。研究团队把每种失败都仔细分类并将失败的具体信息原封不动地传递给下一轮代理。实验状态被划分为九种。keep表示这次结果比之前最好的记录更好被正式保留。discard表示结果有效但没有改善。crash表示训练代码运行出错了并没有产生有效的评分。preflight_crash表示代码在连GPU时间都没用上之前就在本地检查阶段出错了。size_blocked表示打包后文件超过了16兆的上限直接被拦截。train_budget_overrun表示训练阶段超时了。eval_budget_overrun表示评估阶段超时了。disqualified是专门给CIFAR任务用的表示速度够快但准确率没达到96%的门槛。还有一种harness_abort表示系统调度层面出了问题这类失败被标记为非实质性信号不会传递给下一轮代理。这种精细化的失败分类在实践中起到了非常具体的作用。以参数高尔夫任务中的一个真实案例为例第587次实验提出了一个叫做TTT-only z-loss的技术改动简单说就是在测试时自适应阶段引入一种额外的训练目标这个改动确实让模型的验证损失从1.0810下降到了1.072431效果是好的——但文件打包后超出了16兆的上限2056个字节被判为不合格。这个结果被完整记录分数是多少、超出了多少字节。下一轮的代理读到这条记录知道这个想法本身有效只是体积太大于是专门针对压缩部分进行优化在保留同样技术思路的前提下从源代码层面回收了足够的字节空间最终让第596次实验在15,995,930字节的合法范围内实现了1.072251的分数把这个原本超限的好想法变成了一个真正合格的提升。CIFAR-10任务里有一个更生动的例子。第60次实验跑完之后时间只用了25.165秒已经比起始点快了但准确率只有0.9596差了0.0004没过96%的门槛被判为disqualified不达标。这条记录被传给后续代理速度已经够快了差的只是那一点点准确率。于是第70次实验保留了所有加速改动只把预热阶段的比例从10%调短到5%结果准确率恢复到0.96008时间保持在25.1464秒成功通过了精度门槛。一次差一点点的不达标直接告诉了系统应该调整哪个旋钮。---五、NanoChat的故事一个运行速度的发现如何滚雪球式地变成38.7%的提升NanoChat-D12的实验轨迹是这篇论文里最完整的一个故事弧值得详细讲一讲因为它清晰地展示了这套闭环系统是如何把一个系统层面的发现转变成一系列连锁的研究行动的。故事从第7次实验开始。系统专家代理在分析NanoChat-D12的训练代码时发现了一个效率问题原始代码里12层Transformer注意力模块中的部分层使用了一种叫做masked SDPA的计算路径这种路径在当前GPU上运行时比另一种叫做Flash SDPA的计算路径要慢。这就像一条双车道高速公路里有几段路莫名其妙地缩窄成了单车道——整体速度被瓶颈拖慢了。代理把这几层全部切换到Flash SDPA路径代码改动本身并不复杂但效果是可测量的训练速度加快了在固定的90分钟预算内可以训练更多的数据。CORE分数从基准的0.1618上升到了0.1695这是第一次有效提升。这条记录进入了血缘日志。关键在于它记录的不只是CORE提升了还记录了为什么提升——因为运行时间省下来了所以可以多跑一些训练步骤。后续的数据专家和调度专家读到这条记录意识到时间预算现在有了富余可以扩大训练数据的量。第20次实验把训练数据的比例从原始设置大幅扩展这一步带来了最大幅度的单次提升CORE分数跳到了0.2029单次提升0.0334。接下来第24次实验进一步调整了不同训练阶段的数据混合比例预训练阶段约12份、中间训练阶段约100份、最后阶段约130份第25次实验在这个方向上进一步细化把CORE分数推到了0.2241形成了一个相对稳定的高点。最后第156次实验由另一个方向的代理提出了一个细小但有效的改动在语言模型输出头之后添加一个零初始化的可学习偏置向量这个向量可以让模型学到词汇层面的先验分布最终把CORE分数推到了0.2244。整个过程一个系统层面的运行效率发现经过血缘记录的传递变成了数据预算的扩展决策又变成了训练阶段配比的调整最终在一个小型的模型结构改动上收尾。这条链条里的每一步都是前一步的观察结果催生的下一步假设。---六、实验的严谨性如何防止AI作弊这套系统在设计上有一个贯穿始终的原则评测必须由独立于训练代码的外部机制来完成不能让代理自己报告自己的成绩。这个原则看起来简单但实现起来需要在多处精心设计。在参数高尔夫任务中分数由官方评测路径计算代理提交的代码无法接触评测逻辑。在NanoChat-D12任务中CORE分数由一个受保护的解析器从训练日志中提取代理不能修改这个解析器系统还会自动审计每次提交是否有代理尝试碰触解析器或评估器的文件发现则直接标记为无效。在CIFAR-10任务中训练时间由外部Shell命令测量并写入独立的时间记录文件训练脚本本身不能报告自己的运行时间准确率评测也由外部分类器执行。这种设计的意义在于它在源头上关闭了一种常见的奖励黑客风险——如果允许AI代理修改评测代码那最简单的提升方式就是让代码直接输出一个更好看的假分数而不是真正改进模型。外部评测机制确保了每一个记录在案的分数都对应着真实的训练效果。每次提交前系统还会先在本地做一次预检查语法检查用Python的编译器确认代码没有语法错误、大小检查用真实的压缩算法模拟打包提前判断是否会超出16兆限制。这两步检查不消耗GPU资源可以快速过滤掉明显不合格的提交把宝贵的GPU时间留给真正有机会的实验。研究团队还为系统设置了明确的终止条件超过48小时的运行上限或者超过4小时没有找到任何新的有效改善就会停止。每次有新的有效提升出现4小时的倒计时就会重置。---七、并行运行与效率十个专家同时工作能快多少在计算资源的使用上研究团队也做了一次有意思的测量。他们定义了一个并行效率指标衡量多代理同时工作相比单代理串行工作能快多少倍。理论上十个代理同时工作应该快十倍但实际上因为所有代理共享同一个GPU资源池、共享日志文件的读写锁效率会有所损耗。测量结果是单一通才代理每小时可以完成2.26次实验分工专家的十代理版本每小时完成18.15次并行效率约为80%理论最高值是十倍实际达到了八倍左右通用十代理版本每小时完成16.79次并行效率约为74%。这意味着分工专家版本相比通用多代理版本不只是提案更多样连实际执行效率也略高——因为专家分工减少了代理之间对同一资源的争抢。这个效率数字在实践中非常重要如果反馈结果返回得太慢后续代理在制定新提案时就用不上这些反馈闭环的价值就会大打折扣。对于一个每次实验本身就需要10分钟到90分钟的任务保证足够的并行吞吐量是整套系统能在有限时间内完成大量探索的前提。---八、系统的边界与局限哪些事情它还做不到研究团队对这套系统的能力边界有非常坦诚的描述。在整个1197次实验中AI代理提出的改动本质上都属于组合已知技术的范畴——把现有的高效注意力核、现有的正则化方法、现有的量化策略以各种方式组合、迁移、适配到当前的任务环境中。系统提出过的改动包括把不同类型的注意力机制混合使用如差分注意力、多头潜在注意力、在Transformer块内部引入循环结构类似状态空间模型的思路、修改学习率调度的形状从余弦切换到WSD等、引入GQA分组查询注意力一种减少键值缓存体积的技术、使用哈希嵌入替代标准词嵌入、添加多任务预测目标、调整卷积深度和宽度的比例以及尝试自定步调的损失缓存策略。这些都是机器学习领域中存在的已知技术方向系统的贡献在于在特定约束条件下将它们有效组合。然而系统在整个过程中没有提出任何可以被称为范式级创新的想法——比如提出一种全新的神经网络基本操作或者打破现有架构假设的根本性结构设计。论文作者明确写道这套系统在当前阶段的观察范围内无法做出类似发明Transformer这样的结构性突破。这是一个诚实的自我定位而非缺陷的掩盖。系统同样不适合那些反馈模糊、无法自动验证的任务场景。如果一个研究问题的评估需要人工判断、或者实验周期过长导致反馈无法及时返回这套闭环就难以转起来。它最适合的环境是有明确的可量化目标、失败可以被精确描述、每次实验的时间成本在可接受范围内、评测逻辑独立于训练代码。---归根结底这项研究要说明的是AI辅助研究不应该被定义为AI生成一篇论文或AI提出一个大想法而应该被理解为AI真正参与那个每天都在发生的改代码-跑实验-看结果-再改-再跑的循环。当这个循环被忠实地自动化之后它产生的不是一个漂亮的结论而是一份可供检查的轨迹——每次提案是什么、代码怎么改的、评测系统怎么说的、失败原因是什么、下一步怎么变了。这份轨迹本身就是研究过程的证据而不只是研究结论的展示。如果有一天AI系统真的能在这个闭环里提出范式级的新想法那么同一套评测机制就可以立刻检验那个想法是否真的成立——因为评测标准并不随着想法的大小而改变。那时候这套系统的价值会比现在更加凸显。目前的成果已经说明在组合与改进这个维度上机器已经可以做得相当扎实至于发明这个维度暂时还是留给人类和未来更强大的模型去探索吧。有兴趣深入了解技术细节的读者可以通过arXiv:2605.05724v1查阅完整论文代码和实验轨迹也在论文中提到的GitHub仓库公开。---QAQ1自动研究系统中的血缘记录lineage是什么它有什么用A血缘记录是系统在每次实验结束后自动追加的一份历史日志记录了每次提案的假设内容、代码改动、得分结果、失败原因和耗时等信息。下一轮AI代理在提新想法前会先翻阅这份日志避免重复踩已知的坑也能基于之前成功的方向继续深入。没有这份记录的对照实验里系统在找到3次有效改进后就陷入了125次连续无效探索说明历史记录对维持研究方向至关重要。Q2参数高尔夫任务里的文件大小限制为什么那么重要A参数高尔夫要求整个程序包括模型权重打包后不超过16兆字节。这个限制直接影响模型复杂度每次提出新架构或添加新功能都必须同时考虑是否会撑破这个体积上限。论文中有个典型案例第587次实验找到了一个有效的技术改动模型性能确实提升了但文件超出上限2056字节被判无效。系统读到这个精确的超出量专门做了压缩优化最终在合规体积内复现了同样效果。Q3NanoChat-D12任务的CORE分数从0.1618提升到0.2244这个38.7%的提升是怎么来的A提升主要由三个叠加改动构成。第一步是系统专家发现训练代码中部分注意力层使用了低效的计算路径替换为更快的Flash SDPA后节省了训练时间第二步是把省下来的时间用于扩大训练数据量数据预训练、中间训练和最终训练阶段的比例从原始值调整为约12:100:130第三步是在模型输出层后添加了一个零初始化的可学习偏置向量。三步改动先后落地CORE分数依次经过0.1695、0.2029、0.2241最终稳定在0.2244。