零分Trader

AI大模型在软件开发中的应用与挑战:从IOI金牌到SWE-Bench评估的进步

作者头像
分析师熊大 本文作者

2025-2-21 阅读 120 约 9分钟读完

评论0

大型语言模型(LLM)正在改变软件开发的开发方式,AI是否可以大规模替换人类程序员已成为行业关注的话题。

在短短的两年中,AI模型从解决基本计算机科学问题到与国际编程比赛中的人类专家竞争的水平发展。例如,Openai O1在与人类参赛者相同的条件下参加了比赛。 2024年信息科学国际奥运会(IOI),并成功赢得了金牌,表现出强大的编程潜力。

同时,AI迭代率也在加速。在经过验证的代码生成评估基准SWE-Bench上,2024年8月GPT-4O的得分为33%,但新一代O3型号的得分已翻了一番,达到了72%。

为了更好地衡量现实世界中AI模型的软件工程功能,OpenAI开源今天推出了新的评估基准SWE-Lancer,该基准首次将模型性能与货币价值联系起来。

SWE-Lancer是一个基准,它包含UPWork平台中超过1,400个免费软件工程任务。这些任务在现实世界中的总奖励约为100万美元。 AI可以为编程做多少?

新基准的“功能”

SWE-Lancer基准任务的价格反映了真正的市场价值。任务越困难,奖励就越高。

这既包括独立的工程任务和管理任务,可以在技术实施计划之间进行选择,而基准不仅针对程序员,而且针对整个开发团队,包括建筑师和管理员。

与以前的软件工程测试基准相比,SWE-Lancer具有许多优势,例如:

1。所有1,488个任务代表了雇主向自由工程师支付的真正奖励,提供了自然的,确定的难度梯度,奖励从250美元到32,000美元不等,这是相当可观的。

其中35%的任务价值超过1,000美元,34%的任务价值在500美元至1,000美元之间。个人贡献者(IC)软件工程(SWE)任务组包含764个任务,总价值为414,775美元; SWE管理任务组包含724个任务,总价值为585,225美元。

2。现实世界中的大型软件工程不仅需要特定的代码开发,而且需要有能力的技术管理。该基准测试使用现实世界数据评估模型,充当SWE的“技术总监”角色。

3。具有高级全栈工程评估功能。 SWE-Lancer代表现实世界软件工程,因为它的任务来自一个具有数百万真实用户的平台。

移动和网络侧工程开发,与API,浏览器和外部应用程序的交互以及复杂问题的验证和再现所涉及的任务。

例如,某些任务花费250美元来提高可靠性(修复双触发API呼叫),1,000美元以修复漏洞(解决权限差异)和16,000美元来实现新功能(在网络,iOS,iOS,Android和Desktops上添加)。应用内视频播放支持等)。

4。领域的多样性。 74%的IC SWE任务和76%的SWE管理任务涉及应用程序逻辑,而17%的IC SWE任务和18%的SWE管理任务涉及UI/UI/UX开发。

在任务难度方面,SWE-Lancer选择的任务非常具有挑战性,开源数据集中的任务平均需要26天才能在GitHub上解决。

此外,OpenAI代表无偏的数据收集,从UPWORK中选择了代表性任务样本,并雇用了100个专业软件工程师来编写和验证所有任务的端到端测试。

AI编码赚钱能力PK

尽管许多技术大亨在宣传中继续声称AI模型可以替代“低级”工程师,但它仍然有一个很大的疑问,公司是否可以用LLM彻底替换人类软件工程师。

第一批评论表明,在完整的SWE-Lancer数据集中,当前的AI金牌模型均低于潜在的100万美元总薪酬。

总体而言,所有模型都将比SWE管理任务中的IC SWE任务更好,并且在很大程度上,AI模型并未完全征服IC SWE任务。当前的测试模型是OpenAI竞争对手人类最佳开发的。克劳德3.5十四行诗。

在IC SWE任务上,所有模型的单个通过率和收益率均小于30%,并且在SWE管理任务上,Claude 3.5 SONNET分数为45%。

Claude 3.5 SONNET在IC SWE和SWE管理任务上都表现出强劲的表现,而IC SWE任务上的第二次最佳模型O1的机会高9.7%,而SWE管理任务高3.4%。

如果转换为收益,表现最佳的Claude 3.5十四行诗在整个数据集中票房收入超过40万美元。

值得注意的一件事是,更高的推理计算将对“从AI赚钱”有很大帮助。

在IC SWE任务上,研究人员使用深度推理工具对O1模型进行了实验,该工具可以实现深度推理工具,这表明较高的推理计算能力将单个通过率从9.3%提高到16.5%,利润从16,000美元增加了到$ 29,000,收益率从6.8%增加到12.1%。

研究人员得出的结论是,尽管最佳模型Claude 3.5十四行诗解决了IC SWE问题的26.2%,但其余大多数解决方案仍然存在错误,并且需要大量改进来实现可靠的部署。接下来是O1,然后是GPT-4O,管理任务的单次通过率通常是IC SWE任务的单个通过率的两倍以上。

这也意味着,即使AI代理替代人类软件工程师的观点非常大肆宣传,目前企业仍然需要三思而后行。 AI模型可以解决一些“低级”编码问题,但它们无法替代“低级”软件工程师。因为他们无法理解某些代码错误存在并继续犯更多扩展错误的原因。

当前的评估框架尚未支持多模式输入,此外,研究人员尚未评估“投资回报率”,例如将支付给自由职业者支付的薪酬与完成任务时使用API​​的成本进行比较,这将是改进的下一步基准。

成为“ AI增强”程序员

截至目前,AI仍然有很长的路要走,可以真正取代人类程序员。毕竟,开发软件工程项目不仅像生成代码一样简单。

例如,程序员经常遇到极其复杂,抽象和模糊的客户需求问题,这需要对各种技术原理,业务逻辑和系统体系结构有深入的了解。在优化复杂的软件体系结构时,人类程序员可以全面考虑它们。 AI可能会发现很难对系统可伸缩性,可维护性和性能等因素进行全面分析和判断。

此外,编程不仅在于实现现有逻辑,而且还需要很多创造力和创新思维。程序员需要构想新的算法,设计独特的软件接口和交互方法等。这个真正新颖的想法和解决方案是AI的缺点。

程序员通常需要与团队成员,客户和其他利益相关者进行沟通和合作,了解各方的需求和成就,清楚地表达他们的意见,并与他人合作以完成项目。此外,人类程序员还具有学习和适应新变化的能力,他们可以快速掌握新的知识和技能并将其应用于现实世界项目,并且成功的AI模型还需要各种培训测试。

软件开发行业还受到各种法律和法规限制的约束,例如知识产权,数据保护和软件许可。人工智能可能会发现很难完全理解并遵守这些法律和法规要求,从而掩盖了法律风险或责任纠纷。

从长远来看,AI技术的进步所带来的程序员职位的替代方案仍然存在,但是在短期内,“ A-增强程序员”是主流,掌握最新AI工具的使用是一种优秀程序员的核心技能。 。

上一篇 A股三大电信运营商股价持续走高,中国联通中国电信涨停,中国移动涨近5% 下一篇 瑞幸咖啡2024年财报:9.9元优惠持续,全年营收344.75亿元同比增长38.4%
评论
更换验证码