MirrorCode(8分钟阅读)

TLDR AI 论文

摘要

Epoch AI 和 METR 推出了 MirrorCode,这是一个基准测试,用于测试 AI 模型在长时间跨度内端到端重新实现整个程序的能力。早期结果显示,Claude Opus 4.7 在 14 小时内解决了一个生物信息学工具包,花费 251 美元,但记忆化方面的注意事项仍然存在。

MirrorCode 是一个用于测试 AI 模型在长时间跨度任务上表现的基准。它包含的任务要求 AI 模型在无法访问原始源代码的情况下,端到端地重新实现整个程序。AI 生成的解决方案必须在端到端测试中与原始程序的输出完全匹配。该基准的 25 个目标程序涵盖计算的不同领域,包括 Unix 工具、数据序列化和查询工具、生物信息学、解释器、静态分析、密码学和压缩。
查看原文
查看缓存全文

缓存时间: 2026/08/04 13:30

# MirrorCode:AI 能独立完成的最大软件项目是什么? 过去几年,AI 在软件工程基准测试上取得了快速进展。然而,这类基准测试大多侧重于较短的任务,例如修复 bug 或实现单个功能。MirrorCode 是我们与 METR 共同开发的基准测试,用于测试 AI 模型在长周期编码任务上的表现。在 MirrorCode 任务中,AI 模型需要在无法访问原始源代码的情况下,从头到尾完整地重新实现一个程序。AI 生成的解决方案必须在端到端测试(包括留存测试)中与原始程序的输出完全一致。MirrorCode 的 25 个目标程序涵盖了计算的不同领域:Unix 工具、数据序列化和查询工具、生物信息学、解释器、静态分析、密码学和压缩。 ## MirrorCode 的不同之处 ### 规模感知的评估 关键的是,我们提供了足够大的推理预算,使得对 MirrorCode 任务的严肃尝试成为可能。许多现有的软件工程基准测试将推理花费限制在 1 至 10 美元左右,即使该任务人类完成可能需要数周时间。例如,最大的 MirrorCode 任务之一单次运行花费了 2,600 美元,AI 在没有人干预的情况下工作了 19 天。 ### 困难,但公平 对于人类软件工程师来说,重新实现整个程序极具挑战性。我们相信,在没有 AI 的情况下,人类工程师解决最复杂的 MirrorCode 任务可能需要数月时间。然而,MirrorCode 任务也是可行的;我们知道任务中提供了足够的信息,使其具有公平性。 ### 设计上具备防作弊能力 我们对 AI 模型进行沙箱化,要求它们在无法访问互联网、无法访问原始代码库,并且没有任何作弊途径的情况下完成工作。端到端测试是模型在开发代码时从未见过的,因此它们无法简单地创建查找表来模拟原始程序的输出。 ## AI 已经能够执行一些长周期编码任务 尽管存在难度,AI 已经能够解决长周期的 MirrorCode 任务。例如,Claude Opus 4.7 重新实现了 gotree:一个包含约 16,000 行 Go 代码和 40 多个命令的生物信息学工具包。[^1] 我们相信,同样的任务在没有 AI 辅助的情况下,人类工程师需要 2 到 17 周才能完成。Opus 4.7 在 14 小时内解决了该任务,花费为 251 美元。 这些结果的一个重要注意事项是数据污染。由于 MirrorCode 任务涉及重新实现开源程序,AI 模型在预训练时很可能已经见过原始代码库。这可能导致基准测试上的表现被高估。然而,AI 成功重新实现了几个通过我们记忆筛查的目标程序,而在筛查显示存在记忆证据的程序上则未能重新实现。这表明结果并非由记忆主导,但我们不能排除记忆对 AI 表现有所贡献的可能性。总体而言,我们预计 MirrorCode 所衡量的能力能够泛化到未见过的代码库。我们将对此,以及更多的结果和基准构建的细节,在论文中进一步讨论。 ## 排行榜 MirrorCode 尚未被完全攻克。在我们定期更新的排行榜上,我们报告 **MirrorCode (ML, +Private, 2L)**。这意味着我们运行来自 Medium 和 Large 分桶中的 15 个目标程序,并舍弃 Small 分桶。每个目标程序使用两种实现语言(通常是 Go 和 Ada)进行评估,共产生 30 个任务。每个任务运行三次,每次尝试的预算是 100 亿 token 和 7 天时间。[^2] ## 开源代码 我们以开源方式发布我们的脚手架(scaffold)以及 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 在基础设施方面进行了关键改进,并提供了工程方面的建议。 ## 注释 [^1]: 得分最高的 AI gotree 实现通过了 2000/2001 项测试,但在一个用于操作日期注释的小众命令的单个边界情况测试上失败。因此,它们并未严格地 100% 完成任务,但我们认为该重新实现近乎完美,基本覆盖了所有范围内的功能。[返回](https://epoch.ai/MirrorCode#user-content-fnref-1) [^2]: 请参阅论文中“建议命名约定”(Suggested naming conventions)中的定义。“+Private”表示包含私有测试集:此处为 private_M 和 private_L,即 Medium 和 Large 分桶中的私有目标。在 2L 映射下,目标程序通常使用 Go 和 Ada(一种主流语言和一种低资源语言),但有两个例外。这些分数不能与论文直接比较,因为论文评估了全部 25 个目标程序,在 Small 和 Medium 分桶中使用了全部 6 种智能体实现语言,并对除 Large 目标外的尝试给予 10 亿 token 的预算,且没有时间限制。[返回](https://epoch.ai/MirrorCode#user-content-fnref-2)

相似文章

@AnthropicAI:每次发布新模型时,我们都会运行相同的测试:给模型一段训练小型AI模型的代码,要求新模型对其进行加速。

X AI KOLs

Anthropic 分享了内部基准测试结果,展示了AI编码能力的显著提升:2024年5月,Claude Opus 4 在机器学习代码优化任务上平均加速约3倍;而今年4月发布的新模型 Mythos Preview 达到了约52倍加速,相比之下,一位熟练人类工程师需要4-8小时才能实现4倍加速。

FrontierCode

Hacker News Top

FrontierCode是Cognition AI推出的新基准测试,通过评估合并性(mergeability)来衡量AI模型编写高质量、可维护代码的能力。结果显示,即使是Claude Opus 4.8等顶级模型,在最难子集上的得分也仅为13.4%,这突显了代码质量方面存在的显著差距。