扫码打开虎嗅APP
本文来自微信公众号:爱范儿 (ID:ifanr),作者:范津瑞
说到“编程”,我们常常会想到那个不太友善的程序员笑话:
虚假的程序员:从零开始编写代码,勤勤恳恳修改、优化、注释;真正的程序员:熟练掌握“Ctrl+C”和“Ctrl+V”。
不过,由Cognition Labs开发的全球首位AI程序员“Devin AI”或许可以让你把“复制粘贴”这一步都省了,你可以直接把TA当成你的“程序员同事”,让TA帮你干活。
既然被称为“程序员”,那TA就不可能白白干活。Devin AI的服务起价为每月500美元(约合3624元),还真不算便宜。不过相比之下,这个价格比国内一线大厂程序员的平均工资还是低了不少。
Devin AI实际上是一个由人工智能驱动的编码平台,配备了命令行、代码编辑器和浏览器等常见的开发者工具,它可以在编写代码片段、检测错误和建议改进等方面协助开发人员完成代码编写,几乎覆盖了编程工作的全流程。
值得一提的是,Devin AI还可以通过机器学习算法分析代码模式,从先前的经验中持续学习,这极大地提高了其编码效率,还能保持与最新编程趋势的同步。
作为一位“编程助理”,Devin AI可以辅助程序员完成下面的工作:
代码补全:Devin AI能够通过分析代码上下文和语法预测下一行代码,加快编码效率;
错误检测:Devin AI可以检测代码中的常见错误和问题,帮助开发人员识别和修复bug;
代码重构:Devin AI会提供代码重构建议,能够帮助开发人员编写更简洁、更高效的代码;
代码优化:Devin AI可以分析代码性能,提出优化建议,以提高速度和效率;
多人协作:Devin AI甚至可以作为协作工具,允许多个开发人员同时在同一项目上工作。
官方建议,Devin AI在处理小型前端错误和极端情况、进行针对性的代码重构以及为待办事项列表中的任务创建初稿PR(Pull Request)等场景下最为实用。
当然,作为一位名副其实的“AI程序员”,除了辅助编程开发以外,TA还可以“独立完成任务”供开发人员审核。官方介绍Devin AI是“一位不知疲倦并且技术娴熟的团队成员”。
据官方介绍,Devin AI能够自主规划和执行需要数千个决策的复杂工程任务。这也就意味着开发者可以化身“产品经理”,将开发需求和任务等等“告诉”Devin AI,其就可以进行独立的成果产出。
针对这项功能,官方还贴心地给出了Devin AI的“使用指南”,就像你平时叮嘱同事一样:
给Devin AI分配“你自己知道如何完成”的任务;
告诉Devin AI如何测试或者检查自己的工作;
将会话时间保持在大约3小时以内,并且尽量将大型任务分解;
提前将你的详细需求告知Devin AI;
通过在对话中给出反馈、采纳建议的知识,或者手动添加你自己的知识,来强化对Devin AI的训练。
关于Devin AI在具体场景下的表现,官方展示了几个有趣的用例,我们能够从中一窥这位“程序员”有多厉害。
Devin AI可以学习和使用“不熟悉”的技术。其在阅读了一篇博客文章后,现学现卖,自主编写代码,在Modal上运行ControlNet并且生成了一张带有隐藏文字“SARA”的图片。
Devin AI还可以端到端构建和部署应用。在演示中,其根据需求制作了一个模拟“Game of Life”的交互式网站,并且逐步添加了用户提出的功能,然后将这个应用程序部署到Netlify中。
Devin AI甚至可以训练和微调自己的AI模型。演示人员仅仅提供了一个指向GitHub研究存储库的链接,其就对某个大语言模型进行了“微调”。
此外,Devin AI还可以实现自动查找和修复代码库中的错误,处理开源仓库中的错误和功能请求等等。
在“SWE-bench”这项“具有挑战性”的基准测试中,Devin AI正确解决了13.86%的问题,远超之前1.96%的最佳水平。即使确切给出了需要编辑的文件,之前最好的模型Claude 2也只能解决4.8%的问题。
令人惊叹的是,Devin AI甚至已经通过了现实世界的工程师面试,还在流行的自由职业平台“Upwork”上找到了一份工作。
Devin AI成为“自由职业者”的新闻还曾引起过不小的争议。一位有着几十年软件工程师经验的YouTube博主质疑其演示视频造假,表示这些内容是“自导自演”、“无用功”,并且对其实际能力和效率提出了质疑。
无论是不是商业炒作,Devin AI目前都已经全面推出。真正的编程表现如何,不妨再等等看,交由时间和用户评判。
图源:COGNITION
在Devin AI正式推出后不久,OpenAI也宣布推出了ChatGPT Canvas的多项更新,其中就包括直接运行Python代码功能,更新后的Canvas可以根据要求搜索API文档,指导模型编写并执行代码,还可以开发小工具和游戏等。
可以看到,即使是规模大如OpenAI这样的人工智能企业,也在不断对“AI编程”加注。在这样的背景之下,我们自然会想到那个“终极”问题:
TA离取代真正的程序员还有多远?