✨ 要点🔬 技术摘要
想象一下,你是一家繁忙建筑工地的经理。你手下没有人类工人,而是有五款不同的AI 机器人 (OpenAI Codex、GitHub Copilot、Devin、Cursor 和 Claude Code),它们能够编写代码、修复漏洞并撰写文档。你的目标是看看哪款机器人在工地检查员(即“拉取请求接受率”)那里最能顺利通过工作验收。
这篇论文就像一份详细的成绩单,比较了这五款机器人在数月内的表现。以下是研究发现的简明解读:
1. “工作类型”比机器人本身更重要
最大的惊喜并非哪款机器人速度最快,而是它们正在做什么类型的工作 。
类比 :想象一下,让机器人去“写一首诗”与去“建一座桥”。写诗通常比建桥更容易获得通过。
发现 :论文指出,任务类型 是最重要的因素。
当机器人被要求处理文档 (如编写手册或注释)时,它们的通过率高达82% 。
当它们被要求构建新功能 (如给房子加一个新房间)时,通过率仅为66% 。
启示 :如果仅凭总体评分来评判机器人,你可能会被误导。一款主要从事简单“写诗”任务的机器人看起来会像超级明星,即使它在“建桥”方面表现糟糕。
2. 没有一款机器人能在所有类别中胜出
不存在一款适用于所有情况的“最佳机器人”。每款机器人都有其特定的超能力。
OpenAI Codex :这是可靠的万金油 。它在几乎每种工作类型中表现都稳定出色,从未跌落到及格线以下。
Claude Code :这是文档专家 。它在编写手册和创建新功能方面表现最佳,但我们必须谨慎,因为在这项研究中它并未承担太多其他类型的任务。
Cursor :这是漏洞修复者 。在修复损坏内容方面,它是表现最顶尖的。
Devin :这款机器人起步较慢,但随时间推移表现越来越好 。它是唯一一款显示出每周清晰进步趋势的机器人,通过率从约 60% 攀升至 80%。
3. 时间会改变一切(但并非对所有人如此)
研究人员观察了这些机器人数月,以查看它们是否有所学习或进步。
类比 :这就像一名学生每周参加一次考试。
Devin 就像那个努力学习、每周分数都不断提高的学生。
其他机器人 则像那些原本就很聪明的学生;他们起步分数高,并保持高位,但随时间推移并未显示出太多进步。它们只是保持稳定。
4. 为什么“全球评分”具有误导性
论文警告不要只看机器人的单一“平均分数”。
类比 :想象两位厨师。厨师 A 只烹饪简单的沙拉(大家都喜欢)。厨师 B 只烹饪复杂、辛辣的炖菜(很难做对)。如果你只看“平均顾客评分”,厨师 A 可能看起来更好。但这并不意味着厨师 A 是更优秀的厨师 ;这仅仅意味着他们被分配了更简单的食材。
发现 :研究人员必须根据机器人所做的工作类型 将它们分开,才能获得公平的对比。一旦这样做了,他们就发现,所谓的“最佳”机器人会根据工作是修复漏洞、编写测试还是更新文档而发生变化。
总结
如果你想聘请一位 AI 编程助手,不要只问:“谁是最好的?”
如果你需要漏洞修复 ,请关注 Cursor 或 OpenAI Codex 。
如果你需要新功能或文档 ,Claude Code 或 OpenAI Codex 可能是你的最佳选择。
如果你想要一款看起来随时间不断学习和进步 的机器人,Devin 是值得关注的那一款。
主要结论是:情境为王 。如果不确切知道它被要求做什么工作,你就无法评判一个工具。
技术摘要:比较 AI 编码代理:基于任务分层的拉取请求接受度分析
问题陈述
AI 驱动的代码助手迅速集成到软件工程工作流中,已将范式从简单的代码补全转变为能够独立生成函数、修复漏洞并创建拉取请求(PR)的自主代理。然而,对这些代理有效性的系统比较仍然有限。现有的评估往往依赖全局性能指标,无法区分代理的固有能力与其被分配的具体任务分布。例如,一个主要处理文档任务(通常接受率较高)的代理,可能看起来优于处理复杂功能实现的代理,即使后者具备更强的底层能力。这种混淆效应,加上缺乏关于代理性能随时间演变的纵向数据,导致人们难以理解不同 AI 编码代理在现实世界软件开发中的真实效能。
方法论
本研究对 AIDev 数据集 中的 7,156 个已关闭拉取请求进行了实证分析,具体为 AIDev-POP 子集(拥有 100 颗以上星标的项目)。该数据集涵盖了五种流行的 AI 编码代理:OpenAI Codex、GitHub Copilot、Devin、Cursor 和 Claude Code 。
数据过滤与预处理: 作者对包含 33,596 个 PR 的原始数据集进行了过滤,仅保留:
已关闭的 PR。
来自拥有宽松许可证(MIT 或 Apache-2.0)的仓库的 PR。
收到除创建者以外的至少一次人类审查或评论的 PR,以确保评估具有实质性意义。
指标与统计方法:
成功指标: 定义为接受率 (合并 PR 的比例)。
时间分析(RQ1): 对随时间变化的接受率应用线性回归模型(y = β 0 + β 1 ⋅ t + ε y = \beta_0 + \beta_1 \cdot t + \varepsilon y = β 0 + β 1 ⋅ t + ε )和 LOESS 平滑,以识别演变模式。
因素分析(RQ2): 研究审查了接受率与任务类型以及审查频率之间的相关性。
比较分析(RQ3): 为解决工作负载异质性,作者执行了基于任务分层的成对比较 。使用皮尔逊卡方独立性检验(针对稀疏数据使用费舍尔精确检验),他们在特定任务类别(如功能、修复、文档)内比较了代理。
显著性控制: 对 64 次检验应用了邦弗罗尼校正(α ≈ 0.00078 \alpha \approx 0.00078 α ≈ 0.00078 )以控制多重比较。
效应量: 报告了 phi 系数(ϕ \phi ϕ )以衡量效应幅度。
该研究明确承认其观察性质,指出虽然它记录了模式,但由于仓库集中度、用户行为变化和模型更新等潜在混淆因素,它并不声称存在因果关系。
主要贡献
时间演变分析: 研究揭示了各代理之间异质的演变模式。Devin 是唯一在 32 周期间表现出接受率持续上升趋势的代理,而其他代理则基本保持稳定。
基于任务分层的方法论: 本文引入了一种方法论,通过在特定任务类别内评估代理来控制工作负载异质性,防止从全局平均值得出误导性结论。
任务类型的主导地位: 实证证据表明,任务类型 是影响接受率的主导因素,在表现最高(杂项:84.0%)和最低(性能:55.4%)的类别之间造成了 29 个百分点的差距。这一差距往往超过了同一类别内不同代理之间观察到的方差。
代理特定优势: 分析表明,没有单一代理在所有任务类型上均优于其他所有代理。性能高度依赖于上下文。
主要结果
时间趋势(RQ1):
Devin 显示出每周 +0.77% 的持续改进(R 2 = 0.34 R^2 = 0.34 R 2 = 0.34 ),接受率从约 60% 上升至约 80%。
OpenAI Codex 和 GitHub Copilot 表现出平台期行为,从首次观察到的周开始就保持了持续的高接受率。
性能因素(RQ2):
任务类型: 文档任务的接受率达到 82.1% ,而新功能的接受率为 66.1% ,相差 16 个百分点。
审查频率: GitHub Copilot 的 PR 每次收到的审查次数(4.94 次)显著多于 OpenAI Codex(1.39 次),这与较低的接受率相关,尽管作者指出这可能反映了任务复杂性或仓库策略,而非直接的因果关系。
代理比较(RQ3):
OpenAI Codex 在所有九个分析的任务类别中均表现出持续的高接受率(范围从 59.6% 到 88.6%),在修复 (83.0%)和重构 (74.3%)任务中领先。
Claude Code 在文档 (92.3%)和功能 (72.6%)方面领先,尽管样本量较小。
Cursor 在测试 任务(77.8%)和修复 任务(80.4%)中表现出色。
统计显著性: 在 64 次分层比较中,经过邦弗罗尼校正后,仅有 6 次具有统计显著性。所有显著差异均涉及修复 或功能 任务。值得注意的是,Devin 在修复 任务中的表现具体落后于 Codex、Copilot 和 Cursor。
意义与启示
该论文认为,"最佳"AI 编码代理并非一个普遍概念,而是取决于具体的任务。基于任务类型的接受率显著差异表明,全局性能指标可能会产生误导。
对于从业者: 代理的选择应由具体工作流驱动。对于漏洞修复,Cursor 和 OpenAI Codex 表现出强劲的性能,而 Devin 在该领域表现相对较弱。文档任务在代理之间的差异极小。作者建议从业者可能受益于采用针对不同工作流定制的代理组合。
对于研究人员: 该研究主张将任务分层 作为未来评估的标准做法。全局指标应辅以任务分布,且比较应进行分层以控制混淆变量。作者还强调,除了简单的接受率外,还需要补充指标(如静态分析、技术债务)以捕捉长期的代码质量。
该研究得出结论,虽然 AI 代理正在改变软件开发,但对其评估需要细致入微、具备上下文感知能力的方法论,以兼顾任务异质性和时间动态。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。