AI能从自由软件工程中赚到100万美元吗?SWE-Lancer基准的深入探讨
发生了什么?
一项开创性的研究推出了 SWE-Lancer ,这是一个旨在评估大型语言模型在现实自由软件工程任务中表现的基准。该评估侧重于来自Upwork的1,488个任务,总价值100万美元。
该研究将任务分为:
- 个人贡献者软件工程任务:AI模型在此类任务中实施错误修复或新功能。
- 软件工程经理任务:AI在此类任务中从多个自由职业者的提交中选择最佳技术方案。
与传统的编码基准不同,SWE-Lancer评估的是经济可行性——衡量AI在软件自由职业中能实际赚多少钱。主要发现:
- 表现最佳的AI(Claude 3.5 Sonnet)赚取了40万美元,而可能的总额为100万美元,这表明AI在复杂的软件工程方面仍然面临挑战。
- 通过率仍然很低,AI在仅26%的编码任务和45%的管理任务中取得成功。
- AI在管理任务中的表现优于实际编码,这表明在项目协助而非全面的软件开发自动化方面具有潜在的用例。
主要收获
- AI还不能完全取代自由职业者:即使是先进的LLM也无法自主完成大多数复杂的软件工程任务。
- 技术管理对AI来说更容易:LLM在评估方案方面的表现优于编写代码,暗示了AI在软件项目监督中的作用。
- AI在软件工程中的经济影响是可量化的:该基准为AI在软件工作市场中的有效性建立了一个美元价值指标。
- 端到端测试至关重要:与之前的基准不同,SWE-Lancer使用人工验证的真实世界验证,防止AI利用单元测试漏洞。
深入分析:SWE-Lancer的意义
1. 重新定义AI编码基准
SWE-Lancer超越了像HumanEval或SWE-Bench这样的合成编码问题,解决了现实世界的软件复杂性。该数据集挑战AI:
- 修改完整存储库中的多个文件。
- 调试真实的、模糊的问题。
- 跨越完整的技术栈(Web、移动、API)工作。
通过纳入真实世界的支付费率,它还引入了AI性能的财务指标,使其成为AI未来在软件开发中的关键基准。
2. AI在全栈软件工程方面面临挑战
与孤立的编码任务不同,SWE-Lancer揭示了AI在推理、调试和多文件理解方面的主要差距。AI模型需要多次尝试才能达到人类水平的成功,从而显著降低了它们的实际效率。
3. 管理 vs. 工程 – 一个令人惊讶的结果
该研究表明,AI在选择最佳软件方案方面的表现明显优于编写功能代码。这表明LLM可能更有效地充当软件项目助手,帮助管理人员做出更好的招聘和技术决策。
4. 真实世界的测试消除了AI的捷径
以前的基准依赖于单元测试,这使得AI能够“玩弄系统”。SWE-Lancer通过实施人工验证的端到端测试来应对这种情况,确保AI解决方案在类似生产的环境中实际有效。
5. 对自由职业者的长期经济影响
该研究引发了对自由软件工程未来的担忧:
- AI可能会减少对初级开发人员的需求。
- 像Upwork这样的自由职业平台可能会发展,集成AI以实现自动化的错误修复和代码审查。
- 公司可能会在AI驱动的编码助手方面投入更多资金,从而改变招聘策略。
然而,SWE-Lancer也证实AI还不能完全取代,这意味着自由职业者在复杂任务中仍然保持优势。
你知道吗?
- SWE-Lancer中报酬最高的任务是一个价值32,000美元的软件功能实现——AI未能完成它。
- 大多数AI失败源于不完整的调试、缺少验证步骤或误解需求。
- 虽然Claude 3.5 Sonnet是表现最好的,但OpenAI的GPT-4o和其他模型也表现出类似的挣扎,这加强了AI在软件自由职业中的更广泛的局限性。
- 对于复杂的任务,AI推理成本仍然高于自由职业者的支出,这使得人类工程师在大多数情况下更具成本效益。
结论
SWE-Lancer是评估AI在现实世界中经济影响的一个里程碑。虽然AI远未取代软件工程师,但它在协助技术管理和处理更简单的任务方面显示出前景。未来可能会看到AI集成到自由职业平台中,但目前,人类的专业知识在软件开发中仍然是不可或缺的。