返回

文章详情

人工智能能独立完成的最大软件项目是什么?

Hacker News2026年8月3日 16:16

在过去几年中,人工智能在软件工程基准测试上取得了快速进展。然而,大多数这样的基准通常专注于较短的任务,例如修复漏洞或实现单个特性。MirrorCode是我们与METR共同开发的基准,旨在测试人工智能模型在长时间编码任务上的表现。在MirrorCode任务中,人工智能模型的任务是端到端重新实现整个程序,而没有访问原始源代码的权限。人工智能生成的解决方案必须在端到端测试中完全匹配原始程序的输出,包括保留测试。MirrorCode的25个目标程序涵盖计算机不同领域:Unix工具、数据序列化和查询工具、生物信息学、解释器、静态分析、密码学和压缩。MirrorCode的不同之处于:规模敏感评估 关键是,我们提供足够大的推断预算,以便认真尝试MirrorCode任务。许多现有的软件工程基准测试限制推断支出在1-10美元之间,即使任务对人类来说需要几周才能完成。例如,最大的一项MirrorCode任务花费了2600美元,涉及人工智能连续工作19天而没有人类干预。虽然很难,但也公平 重新实现整个程序对人类软件工程师来说极具挑战性。我们相信,如果没有人工智能的帮助,人类工程师要解决最复杂的MirrorCode任务可能需要数月时间。然而,MirrorCode任务也是可行的;我们知道任务中有足够的信息以保持公正。防作弊设计 我们对人工智能模型进行沙盒化,要求它们在没有互联网访问、没有访问原始代码库的情况下进行工作,并且没有作弊的途径。在开发代码时,模型从未看到过的端到端测试,因此它们不能简单地创建查找表来模仿原始程序的输出。人工智能已经能够执行一些长时间的编码任务 尽管MirrorCode任务具有挑战性,人工智能已经可以解决长时间的MirrorCode任务。例如,Claude Opus 4.7重新实现了gotree:一个大约有16,000行Go和40多个命令的生物信息学工具包。我们相信,这项任务如果没有人工智能的帮助,可能需要人类工程师2到17周的时间。Opus 4.7在14小时内解决了这个问题,成本为251美元。对这些结果的重要警告是数据污染。因为MirrorCode任务涉及重新实现开源程序,所以人工智能模型很可能在预训练阶段接触过原始代码库。这可能导致基准性能的虚高。然而,人工智能成功重新实现了多个通过我们的记忆筛选的目标程序,并未能重新实现那些筛选显示记忆迹象的程序。这表明结果没有被记忆主导,但我们不能排除记忆对人工智能性能的贡献。总体而言,我们预计MirrorCode测量的能力将概括到一个未见的代码库。我们在论文中进一步讨论这一点,以及更多结果和基准构建的细节。排行榜 MirrorCode尚未完全解决。关于我们定期更新的排行榜,我们报告MirrorCode(ML,+Private,2L)。这意味着我们运行来自中型和大型桶的15个目标程序,并放弃小型桶。每个目标程序在两种实施语言中进行评估(通常是Go和Ada),总共30个任务。我们对每个任务进行了三次测试,每次尝试的预算为100亿个tokens。开放源代码 我们将我们的脚手架和25个MirrorCode目标程序中的22个(总计132个任务实例,覆盖六种支持的编程语言)作为开源发布,另外三个目标作为私有测试集保留。该工作与METR共同开发,并获得METR的资助支持。MirrorCode的作者是Tom Adamczewski、David Owen和David Rein。Florian Brand、Giles Edkins、Allen Hart和Daniel O’Connell贡献了额外的目标程序。Rasmus Faber-Espensen做出了重要的基础设施改进,并提供了工程建议。备注 表现最佳的AI gotree实现通过了2000/2001个测试,但在一个处理日期注释的利基命令的单个边缘案例测试中失败。因此,它们并没有严格地完成100%的任务,但我们认为重新实现几乎完美,几乎涵盖了所有范围内的功能。请参阅论文中的 “建议命名约定” 中的定义。 “+Private”表示私有测试集被包括在内:在此,private_M和private_L是中型和大型桶中的私有目标。在2L映射下,目标程序通常使用Go和Ada(一种主流语言和一种低资源语言),有两个例外。这些分数与论文中的分数不能直接比较,后者评估了所有25个目标程序,使用了所有6种代理实施语言在小型和中型桶,并且为尝试提供了10亿个tokens的预算,除了大型目标。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡