全球首位AI软件工程师Devin诞生了,它掌握全栈技能,云端部署、底层代码、改bug、训练和微调AI模型都不在话下。最可怕的是,它完全不怕996,老黄的预言是彻底成真了!
就在刚刚,世界上第一位AI程序员Devin诞生。
一家叫Cognition的10人初创公司,才成立不到2个月,就给了全世界亿点点震撼。
刚一放出,Devin就刷爆了全网。
它掌握了全栈技能,能自主学习不熟悉的技术,端到端地构建和部署应用程序,自己改bug,甚至还能训练和微调自己的AI模型!
在SWE-bench上,它的表现远远超过Claude 2、Llama、GPT-4等选手,取得了13.86%的惊人成绩!
也就是说,它已经能通过AI公司的面试了。
就在前不久,英伟达CEO黄仁勋表示,自己相信就在不久的将来,人类再也不需要学习如何编码了,孩子们应该停止编程课。
谁能想到,才短短数月,他的预言就成真了!
更令人震惊的是,Devin背后拥有一支强大的金牌程序员团队(规模不大,人才济济)。
据介绍,仅创始团队已经狂揽了10个IOI金牌!
首席执行官Scott Wu和弟弟Neal Wu获奖情况
Cognition AI的首席执行官Scott Wu称,自己从9岁开始学习编程,便爱上了将想法变成现实的能力。现在,这个梦想居然真的实现了。
网友惊呼:码农不存在了!?
看到Devin如此无敌的能力,网友惊呼,一切都完结了!
Devin会抢走我的饭碗吗?
德扑AI之父,OpenAI的研究科学家Noam Brown表示,「2024年将是人工智能令人兴奋的一年」。
计算机科学家,AI创业公司CEOSilas Alberti评价到:
它是一个能够独立完成任务的自主系统,在快速原型设计、修复bugs和复杂数据的可视化上表现卓越。
大部分其他助手在进行四五步操作后就会偏离任务轨道,但Devin能够在整个任务过程中准确地保持它的目标和方向不变。
投资了Cognition AI的硅谷大佬Peter Thiel更是认为,Cognition AI与Founders Fund之前投资过的DeepMind,现在的AI巨型独角兽OpenAI,Scale AI等公司处于同一水平。
AI初创公司Unify创始人称,Devin不仅抢走了我的工作,还抢走了我的名字,简直是雪上加霜。
美国著名开发者Brian Roemmele表示,自主编码智能体Devin已现AGI雏形!它能在几分钟内自主编写整个应用程序。这是真正无代码未来的开始。
Spotify工程师表示:「目前尚不清楚智能体会在几年内取代软件开发人员,但免费午餐已经不复存在。」
「从为期8周的训练营毕业,然后找到一份价值 20 万美元的工作,这样的日子已经一去不复返了。 做好磨练和深入学习的准备。熟练地引导人工智能取得好的结果可能才是未来程序员能体现出来的价值。」
世界首位AI软件工程师Devin
AI软件工程师Devin的影响力,简直堪比2023年全网炸锅的智能体——AutoGPT。
Devin究竟有多强大?
Devin可以规划和执行需要数千项决策的复杂工程任务。
并且,它可以在每一步回忆相关的上下文,随着时间的推移学习,并纠正错误。
研究人员还为Devin提供了常见的开发工具,包括shell、代码编辑器、以及浏览器——皆是人类完成任务最需要的工具。
此外,Devin还具备主动与用户协作的能力。
比如,实时报告进度,接受反馈,并根据需要与你一起完成设计选择。
目前,Cognition AI还推出了一个Devin定制的Chrome插件——Tab Switcher。
而Cognition的开发者们纷纷分享出了自己使用Devin的示例,简直不要太惊艳!
学习如何使用陌生的技术
当你发给Devin一篇博文后,它会在几分钟内完成自主学习,从阅读文章,运行代码。
可以看到,Devin在Modal上运行了ControlNet,在写代码过程中,还会自我debug。
最后,人类程序员Sara想要带有自己名字的桌面壁纸,就立刻生成了。
构建和部署端到端的应用程序
当你想要玩一个「生命游戏」(the Game of Life),交给Devin做就好了。
Devin首先会用工具Shell,创建一个新的react应用程序,然后开始通过编辑器编写代码。
代码完成后,它还会将应用自动部署到Netlify,一个初步的「生命游戏」就做好了。
这个过程中,Devin还可以逐一根据用户请求,完成功能的添加。
比如在初始屏幕上加上像素化的「Devin」一词,然后希望这个字体再大一些,帧速率更快。
与此同时,人类程序员要求Devin修复一个bug——屏幕在3秒后冻结的错误。
下一步,让Devin在10秒后提高帧速率,让网站能适应不同的窗口大小。
同时,一个游戏还得需要交互性,即在某处点击鼠标时,应该生成一个新块。
接下来,就是见证奇迹的时刻了!
自行查找代码库错误,自行修复
这个名叫Andrew的开发者表示,自己维护了一个大型开源存储库,其中包含许多不同的算法,用于竞争性编程。
不久前有朋友告诉他:其中一个实现中有bug。Andrew插入了一个快速修复,但并没有测试它,因为没能抽出时间来编写测试用例。
既然如此,就给Devin来试试看!
小哥给了Devin存储库,让它来检查和处理这个存储库。然后,Devin就找到了正确的存储库,检查了所有文件。
接下来,在小哥的要求下,Devin还很轻易地就把测试写了出来——只是看了一下测试应该是什么样,接口是什么样,就完成了这项任务。
挑战还没完,接下来,小哥要求Devin将对所有输入进行测试,而不仅仅是测试这个输入,也就是自己常用的「暴力测试」。
于是,Devin重写了测试函数,使用了四个嵌套的循环,这一次,它发现了一个bug。
接着,Devin开始调试。它在这里添加了一个print语句,来调试输入和输出,然后重新测试,发现了错误:代码不应该返回负值。
于是Devin查看了正在测试的代码,然后添加进了这行代码,确保返回值是非负的。
现在Andrew可以确信,自己的代码是完全正确的了!
训练和微调AI模型
Devin能力也在一步一步进阶。
最让人兴奋的是,它可以自己训练、微调模型,AI训AI成真了!
首先,给智能体Devin提供一个GitHub库的链接(比如QLoRA——一种量化大模型的微调方法)。
Devin所做的就是,微调7B Llama模型。
接下来,就是献技的时刻,Devin克隆了GitHub库,了解如何使用readme运行,设置好所需pip的要求,查看所有的脚本语言,并开始运行。
训练过程中,Devin还遇到了Cuda问题(这是在开源库中可以预料到的)。
不过这可难不倒Devin。它会自主查看英伟达环境,并找出如何重新安装软件包让其成功运行。
接下来,模型训练开始进行了。
可以看到损失率正在下降,程序员给出Devin正向反馈:「做的不错」!
大约1小时后,Devin已经顺利完成几百步训练,仍在进行中...
解决开源代码库中的错误和功能请求
只要给出一个指向GitHub问题的链接,Devin就会执行所需的所有设置和上下文收集了!
这位叫Tony的工程师,想一次运行一堆命令,并且希望在一个屏幕上跟踪它们的状态,于是他找到了一个名为impro的开源工具,希望执行这个操作。
看起来虽然impro完成了任务,但状态太模糊了。根本看不出来究竟哪些命令失败了。
Tony想改进这里的用户体验,但是自己根本不熟悉代码,于是他想到去求助Devin。
他发现网上有人面临同样的问题,所以他把这个问题的链接给了Devin,让它修复这个问题。
在右边,他很清晰地看到,Devin从一个工具跳转到了另一个工具。
它首先使用了Shell Deon CLS存储库,然后阅读了自述文件和编辑器,了解了子代码,然后,它返回Shell,安装了所需要的依赖项。另外,Devin还打开了一个Web浏览器。
然后,Devin就开始编码了!
在这个过程中,它甚至打开了一些R文档来调试编译器错误。最后,完成了任务,出了一份自己做了哪些改进的总结报告。
所以,Devin的更改有效吗?Tony发现,它成功了!第三个命令是成功的,他甚至可以看到状态码。
为成熟的生产存储库做贡献,修复系统错误
下面这个示例,是SWE-BENCH基准测试的一部分。Devin解决了Python代数系统中的一个错误。它会自行设置代码环境、复制错误、自行编码、测试修复程序!
这位叫Neil的开发者,分享了Devin帮自己改bug的示例。
他一直在用这个名为Senpai的存储库,它是一个用Python编写的代数系统。
但Neil发现,取分数的对数时,我们会得到一个无穷大的Zoo,这是绝对不可能的。
于是,他试着让Devin来解决这个问题。
Devin在存储库中复现了Zoo的问题后,随后,它找出了代码中正确的那部分,添加了print语句,以便找出问题原因。