量子位 02-07
AI编程真面目:完整项目通过率仅27%
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

AI 编程是一项非常有实用价值的能力,但网络上不时也能看到程序员抱怨 AI" 听不懂人话 "、" 难以找到根本问题 ",更有直接建议 " 每次生成代码不要超过 5 行 " 的经验分享。

而近期又有很多 AI 工具声称可以从零快速构建完整代码项目。

所以 AI 编程智能体真的能从零构建完整软件项目吗?近日一多校联合研究团队针对这一问题进行了探索。

上海交通大学、上海创智学院、加州大学默塞德分校、北京理工大学(按论文作者顺序)联合发布ProjDevBench——首个通过 OJ 细粒度反馈评估 AI 编程智能体端到端项目开发能力的基准测试,要求智能体仅凭自然语言需求文档,从零开始构建完整、可运行的软件仓库。

当任务从 " 补全现有代码 " 变为 " 从零构建 " 时,性能出现断崖式下跌。

结果令人深思:所有智能体总体提交 AC 率仅 27.38%。

该研究得出的结论摘要:

六种主流编程智能体(Cursor、GitHub Copilot、Claude Code 等)的总体提交 AC 率仅为 27.38%,在从零构建任务中性能大幅下滑。

OJ 提供的细粒度诊断反馈(编译错误(CE)、运行时错误(RE)、超时(TLE)、内存超限(MLE)、答案错误(WA)等)是评估端到端开发能力的关键组成部分,远优于传统的 pass/fail 二元判定。

交互轮次与性能呈强负相关(-0.734),智能体在遇到困难时陷入低效试错循环,而非通过反思实现突破。

为什么需要端到端项目开发基准

现有基准测试如 HumanEval、MBPP 聚焦于函数级代码生成,SWE-bench 关注 issue 修复,但真实软件工程需要的远不止这些。当开发者使用 Cursor 或 GitHub Copilot 进行 "vibe coding" 时,他们期望智能体能够:从零设计系统架构、创建和组织多个源文件、配置依赖和构建系统(如 CMakeLists.txt)、最终交付一个可编译运行的完整项目。

这种端到端的项目构建能力此前从未被系统性评估过。ProjDevBench 填补了这一空白。

与传统基准的本质区别在于:HumanEval 等要求智能体补全代码片段,SWE-bench 要求修复现有代码库中的 bug,而 ProjDevBench 要求智能体像真正的软件工程师一样,在没有任何初始代码模板的情况下,自主完成从架构设计到多文件编码的全流程

双重评估机制:OJ 测试 + 代码审查

与以往仅返回 pass/fail 的测试不同,ProjDevBench 采用双轨制评估:

OJ 执行评分(80%):通过在线判题系统进行严格的黑盒测试,提供细粒度诊断信号——编译错误(CE)、运行时错误(RE)、超时(TLE)、内存超限(MLE)、答案错误(WA)等。这些信号支持智能体进行迭代调试,模拟真实开发中 " 编写代码 - 遇到报错 - 修改代码 " 的循环。

代码审查评分(20%):结合规则脚本和 LLM 模拟的代码审查,检测 OJ 测试无法捕捉的问题:是否违反显式规则(如使用禁止的库)、是否存在作弊解法、是否利用测试套件漏洞而非遵循实际约束。

这种设计的核心洞察是:仅靠测试用例无法全面评估代码质量。一个能通过所有测试的解法,可能采用了投机取巧的方式,而非真正理解并遵循问题规范。如下图所示:

任务设计与数据来源

研究团队从上海交通大学 ACM 班(https://acm.sjtu.edu.cn/home)的在线判题平台精选 20 道高难度编程项目,涵盖算法、数据结构、解释器、管理系统、存储组件等 8 大类别。

这些题目经过三阶段筛选:

初始收集:从约 2,800 道候选题目中筛选

范围过滤:保留需要多文件实现、模块组织、构建配置的项目级任务,排除纯算法单文件题目,剩余约 100 道

质量过滤:选取规范清晰、测试套件完善、难度非平凡的题目,最终保留 20 道

两种任务模式:

Easy 模式(有代码库):提供部分代码,要求补全项目

Hard 模式(无代码库):仅提供自然语言规范,要求从零构建

人类参考解法平均包含约 10 个源文件,智能体平均需要 138 轮工具调用、消耗 4.81M tokens 才能完成一道题目,最复杂的任务需要超过两小时。

实验结果解读

研究团队评估了六种主流编程智能体:Cursor、GitHub Copilot、Claude Code、Augment、Codex CLI、Gemini CLI,搭配 GPT-5、Claude Sonnet 4.5、Gemini 3 Pro 等前沿模型。

整体表现:Codex + GPT-5 取得最高综合得分 77.85,但所有智能体的总体提交 AC 率仅为 27.38%。

从零构建时性能断崖式下跌:这是最关键的发现。当任务从 Easy(有代码库)变为 Hard(无代码库)时,大多数配置出现显著性能下降。例如:

GitHub Copilot + Sonnet-4.5:71.10 → 36.63

Gemini CLI + Gemini-3-Pro:74.57 → 35.53

Codex + Sonnet-4.5:66.07 → 31.88

这表明当前智能体擅长在现有代码基础上进行修补,但缺乏从零开始进行宏观架构设计的能力。

失败模式深度分析

研究团队对所有提交进行了系统性分析,揭示了智能体的核心短板:

提交状态分布:

Accepted:27.38%

Wrong Answer:41.86%

Time Limit Exceeded:13.91%

Runtime Error:7.01%

Compile Error:4.52%

Memory Leak:3.51%

规范理解偏差:智能体经常生成语法正确但遗漏关键业务逻辑的框架代码。在火车票管理系统任务中,所有智能体都实现了用户管理和列车查询,却遗漏了座位管理系统。在扫雷任务中,智能体访问了 3,789 个安全格子中的 3,825 个,表明实现不完整而非逻辑错误。

边界情况处理薄弱:大量运行时错误源于空指针解引用、数组越界等问题。在 map 实现中,红黑树的旋转函数缺乏空指针检查;在 Bookstore 任务中,所有智能体都未能通过隐藏测试点,暴露了对空字符串、文件 I/O 异常、嵌套场景的处理不足。

时间复杂度分析缺失:在 ICPC 管理系统任务中,智能体在每次解冻操作后重新排序所有队伍,得到 O ( K × N log N ) 的解法,而正确做法是利用排名变化的局部性实现 O ( K log N ) 。智能体倾向于使用熟悉但次优的模式,而非分析问题特性进行针对性优化。

资源管理局限:在 BASIC 解释器任务中,当 std::stoi ( ) 抛出异常时,已分配的表达式对象未被释放,导致内存泄漏。智能体处理显式错误路径,却忽略正常操作中可能出现的异常。

交互长度与性能的负相关

研究团队发现了一个反直觉的现象:智能体的交互轮次越多、消耗的 token 越多,最终得分往往越低。

Tokens 与得分的相关系数:-0.734

交互轮次与得分的相关系数:-0.668

交互轮次与 token 消耗的相关系数:0.898

这意味着当智能体遇到困难时,它们往往陷入低效的 " 尝试 - 报错 - 再尝试 " 死循环,无法像人类专家那样通过深度思考找到更优解。增加的 token 主要来自重复的交互轮次,而非少量但深入的长推理步骤。

静态代码复杂度(文件数量、修改行数)与性能的相关性较弱,表明任务难度主要体现在延长的交互和降低的性能上,而非直接由代码规模决定。

代码审查的独特价值

除执行结果外,代码审查揭示了智能体在软件开发工作流理解上的盲点:

版本控制误解:智能体经常在本地修改代码并创建 commit,却未 push 到远程仓库,导致提交不完整。这表明智能体隐式假设 " 写代码 = 完成任务 ",忽略了进度必须通过版本控制显式记录和提交的要求。

规范遵从失败:构建系统配置错误、生成错误名称的可执行文件、使用禁止的标准库头文件、遗漏必需文件、修改受保护的模板。这些问题揭示了智能体将规范要求视为次要于功能正确性的倾向。

这些发现表明,智能体尚未将软件开发理解为一个结构化的工作流程,而仅仅是代码生成任务。

总结与意义

ProjDevBench 首次证实了当前 AI 编程智能体在处理真实、复杂的端到端软件开发任务时仍处于初级阶段。它们擅长局部代码修补,但在全局架构设计、时间复杂度优化、资源管理及复杂逻辑推理上尚未达到可用标准。

学术贡献:

提出首个端到端提供细粒度反馈的项目开发基准,要求智能体从零构建完整可运行的软件仓库

建立结合 OJ 细粒度反馈与 LLM 代码审查的双重评估协议

系统性揭示智能体在规范对齐、边界处理、复杂度优化、资源管理等方面的失败模式

实际意义:

为评估和改进下一代自主软件开发智能体提供了更贴近真实工程场景的标准

明确了从 " 代码补全工具 " 到 " 软件工程师 " 的能力鸿沟

指出了未来研究方向:如何让智能体在交互中更有效地利用反馈信号,从单纯的 " 试错 " 转向真正的 " 推理 "

局限性:目前基准仅包含 20 道任务,主要集中于 C++ 语言,尚未涵盖其他编程语言或人机交互式开发场景。未来将扩展任务规模、引入更多语言和任务类型。

论文链接:

https://arxiv.org/abs/2602.01655

项目链接:

https://github.com/zsworld6/projdevbench

一键三连「点赞」「转发」「小心心」

欢迎在评论区留下你的想法!

—    —

我们正在招聘一名眼疾手快、关注 AI 的学术编辑实习生 

感兴趣的小伙伴欢迎关注  了解详情

点亮星标

科技前沿进展每日见

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

ai 上海交通大学 编程 程序员 上海
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论