研究背景与基准介绍 - 多校联合研究团队发布了首个评估AI编程智能体端到端项目开发能力的基准测试ProjDevBench,要求智能体仅凭自然语言需求文档从零构建完整、可运行的软件仓库[3][5] - 该基准填补了现有测试(如HumanEval、MBPP、SWE-bench)的空白,后者聚焦于函数级代码生成或问题修复,而ProjDevBench要求智能体自主完成从架构设计到多文件编码的全流程[9][10] - 研究团队从约2,800道候选题目中,通过多阶段筛选,最终保留了20道高难度编程项目,涵盖算法、数据结构、解释器、管理系统等8大类别,这些项目平均需要约10个源文件[14][16] 评估方法与设计 - 采用双重评估机制:在线判题系统(OJ)执行评分占80%,提供编译错误(CE)、运行时错误(RE)、超时(TLE)、内存超限(MLE)、答案错误(WA)等细粒度诊断反馈;代码审查评分占20%,用于检测OJ测试无法捕捉的问题[11][13] - 设计两种任务模式:Easy模式提供部分代码要求补全;Hard模式仅提供自然语言规范要求从零构建,以评估不同场景下的能力[18][19] - 人类参考解法平均包含约10个源文件,而智能体平均需要138轮工具调用、消耗4.81M tokens才能完成一道题目,最复杂的任务需要超过两小时[16] 主要实验结果 - 所有被评估的六种主流编程智能体(Cursor、GitHub Copilot、Claude Code等)的总体提交AC率仅为27.38%[7][11] - 当任务从“有代码库”(Easy模式)变为“从零构建”(Hard模式)时,智能体性能出现断崖式下跌,例如GitHub Copilot + Sonnet-4.5的得分从71.10降至36.63[6][18] - 在评估的配置中,Codex + GPT-5取得了最高综合得分77.85,但所有智能体在从零构建任务中均表现不佳[17][20] 智能体失败模式分析 - 提交状态分布显示,除27.38%的Accepted外,主要失败原因为答案错误(WA,占41.86%)、超时(TLE,占13.91%)和运行时错误(RE,占7.01%)[21] - 智能体存在规范理解偏差,经常生成语法正确但遗漏关键业务逻辑的框架代码,例如在火车票管理系统任务中遗漏座位管理系统[21] - 边界情况处理薄弱,大量运行时错误源于空指针解引用、数组越界等问题;在时间复杂度分析和资源管理上也存在局限,倾向于使用熟悉但次优的模式[21][22] 交互行为与性能关系 - 研究发现交互轮次与性能呈强负相关(相关系数为-0.734),智能体在遇到困难时陷入低效试错循环,而非通过反思实现突破[11][23] - Token消耗与得分也呈负相关(相关系数为-0.734),例如Gemini CLI + Gemini-3-Pro在Hard模式下得分从74.57降至35.53,增加的token主要来自重复的交互轮次[24][25] - 静态代码复杂度(如文件数量、修改行数)与性能的相关性较弱,表明任务难度主要体现在延长的交互和降低的性能上[25] 代码审查揭示的盲点 - 代码审查发现智能体对软件开发工作流存在误解,例如经常在本地修改代码并创建commit,却未push到远程仓库,导致提交不完整[26] - 智能体在规范遵从方面失败,包括构建系统配置错误、使用禁止的标准库头文件、遗漏必需文件等,表明其将规范要求视为次要于功能正确性[26] - 这些发现表明,智能体尚未将软件开发理解为一个结构化的工作流程,而仅仅是代码生成任务[27] 研究总结与意义 - 该研究首次证实当前AI编程智能体在处理真实、复杂的端到端软件开发任务时仍处于初级阶段,擅长局部代码修补,但在全局架构设计、时间复杂度优化、资源管理及复杂逻辑推理上尚未达到可用标准[28] - 研究明确了从“代码补全工具”到“软件工程师”的能力鸿沟,并为评估和改进下一代自主软件开发智能体提供了更贴近真实工程场景的标准[30] - 研究指出了未来研究方向:如何让智能体在交互中更有效地利用反馈信号,从单纯的“试错”转向真正的“推理”[30]
AI编程真面目:完整项目通过率仅27% | 上交大新基准
量子位·2026-02-09 16:00