世界首个AI程序员Devin,视频竟造假?
2024-04-14 15:10

世界首个AI程序员Devin,视频竟造假?

本文来自微信公众号:新智人与人的元 (ID:AI_era),编辑:桃子,原文标题:《世界首个AI程序员Devin视频竟造假?博主逐帧解析,Devin代码任务完成很糟糕》,题图来自:视觉中国

文章摘要
文章揭示了世界首个AI程序员Devin视频造假的疑问,通过博主逐帧解析发现Devin在完成任务时表现糟糕,无法像人类工程师一样完成任务。博主自己复制任务只花了半小时,而Devin却用了至少6个小时甚至可能超过一天。

• 🔍 通过逐帧解析揭露Devin视频造假的疑问

• ⏱️ 博主用半小时复制任务,揭示Devin用时超过6个小时

• 🤖 Devin无法像人类工程师一样完成任务,表现糟糕

全网爆火的世界首个AI程序员Devin,如今被爆出视频竟是作假?


最近,一位有35年软件工程师经验的YouTube博主逐帧复现了Devin完成Upwork任务的宣传视频。


却意外发现,AI并不能像人类工程师一样完成任务,而且表现非常糟糕。



他将25分钟“揭穿Devin的谎言”视频公开后,一时间引爆全网并在HN、Reddit等社交平台上掀起轩然大波。



更有意思的是,博主自己复制了Devin尝试做的任务,花费了大约36分钟。然而,Devin用了至少6个小时,甚至可能超过一天。



有网友表示,“正如博主详细解释的那样,尽管其试图在演示中暗示,Devin并不能独立完成Upwork的工作。它正在创建混乱、过于复杂的代码”。



也有人认为,Devin从诞生之初,就更多是营销和炒作,而不是现实。



说来,Devin视频真的是作假了吗?


一、逐帧分析,揭穿Devin的谎言


Devin发布之初,其背后的初创公司Cognition AI更新了官方博文,通过七个视频介绍了这一AI的“魔力”。



其中一个视频,是让Devin自主完成了全球最大的综合类自由职业平台Upwork的一项任务。



当时,网友看后惊讶地表示:没想到AI智能体都可以做副业了。



Cognition的开发者You挑选了一项“用计算机视觉模型做推理”的工作,具体要求是:


  • 我希望利用该资源库中的模型进行推断。(https://github.com/mahdi65/roadDamageDetection2020)


  • 您的交付成果将是关于如何在AWS的EC2实例中进行操作的详细说明。


  • 请提供您完成这项工作的评估报告。我不会回复没有评估的报告。



如下是Devin在官方视频中,完成任务的表现。



接下来,我们一起来看下YouTube博主是如何逐帧分析Devin在真正实操中的能力的。


博主称,我们首先看到,Devin并不能做到Upwork上的所有工作,而是由研究者精心挑选了“road damage”任务。


当然,这并非说Devin就是欺骗性的,而是代表其在别的任务中的表现,一定要比这个差。



然后,在实际对话中,开发者You向Devin提出的要求如下,“我想用这个储存库中的模型进行推理,请弄清楚”。



值得注意的是,客户的要求是“你需要在亚马逊EC2实例中提交这一操作的详细说明”,这与开发者提出的要求显然不同。



然而,从Devin的视频末尾可以看出,它实际上并没有按照客户要求完成工作。



在博主看来,在完成这项任务之前,你需要明确如何开始这项工作。


这就需要向客户询问:


  • 实例的大小,类型?


  • 是更倾向于一个运行更快但成本更高的实例,还是一个更经济但运行较慢的实例?


  • 这个系统需要持续在线吗?


  • ……


如何处理自己需要进行推理分析的资料/图片?你将怎样把这些上传到服务器?


比如,可以建立一个网页界面来处理,也可以通过SSH上传,或者放在S3 bucket里。那输出结果的访问方式又是怎样的呢?


这些都是必须了解的问题。



总而言之,博主称,这也是我之前视频里提到的,软件开发者的工作中最难的、最关键的、最耗时的一部分:主要是与客户、领导及其他利益相关者的沟通。


这些都是AI目前无法完成的任务,而这些恰恰是我们所做的非常重要的事情。


二、Devin实际上做了什么?


如下是视频中的一个截图,提到了一个Repo。



这是一个名为 requirements.txt 的文件,它规定了代码的依赖库版本。


不过,这个代码库最初依赖的一些库是四年前的版本,而现在其中一些库已经不再提供下载,所以不得不进行修改。


再此,视频中提到,Devin更新了代码。博主表示,“Devin能够做到这一点确实令人赞叹”。



与客户的要求相比,他们希望基本建立起自己的推理能力。


Devin被告知只使用样例数据就可以,因此这正是博主复现Devin操作时所做的。


Devin很早就遇到了一个错误,这是一个命令行错误:



在顶部,遇到了与打开图像、文件未找到、无此文件或目录相关的错误。


这个错误出现在一个名为visualize_detections.py的代码文件中。博主称自己并没有遇到这一问题,是因为代码库中不存在名为visualize_detections.py的文件。



回到命令行,如果放大窗口的其他部分,便会看到,Devin将一些内容写入一个名为inspect_results.py的文件中,接着运行Python执行这个文件,结果出现了语法错误。


在Python文件中使用/n是不行的,而且echo命令也不该这么使用。整个过程都是错误的,且毫无意义。


Devin在创建这些含错误的文件后,又进行了修正。视频中提到,Devin实际上是在进行打印行调试。这是一个很常见的做法,很多人都会用到。



评论里说,“Devin正在添加代码,追踪数据流直至彻底理解”。


博主对此怀疑道,我不相信Devin真的能理解任何事物。



放大观察这一部分,可以看到一个奇特的循环。它正在读取一个文件,并把数据读入一个缓冲区。这是update_image_ids.py文件。


再次说明,这个文件在客户要求使用的代码仓库中不存在。


实际上,博主在GitHub上搜索了所有可能的位置,只有2处存在带有这个名称的文件。



屏幕上显示有三个的原因是,其中一个是另一个的分支版本,它们与Devin正在使用的文件完全不同。


但问题在于Devin此处正在调试一个自己创建的文件,而这个文件完全不在项目代码仓库中,非常不妥。


其实,Devin并不是在修正自己在网上发现的代码,也不是在处理客户指定的问题代码,而是在修正自己生成的错误代码。


更糟糕的是,这样做并不必要。这是那个代码库中的readme文件。



该库中有一个名为infer.py的文件,正如视频中Devin所做的那样。


readme文件说明了其功能及使用方法。在右侧,甚至还有一个小按钮,可以复制整条命令,粘贴至命令行窗口,然后按下回车。


博主认为开发这个“检测道路损坏”的代码仓库的人已经尽可能地简化了使用说明,但Devin似乎还是没能理解。


因此,Devin不得不自己创建了一个混乱的项目。


正如Devin所发现的复杂、难以处理、很容易出现的小错误,这些让这样的代码很难调试。



三、半小时复现,AI却用了6小时


接下来,博主计划自己去复现Devin尝试做的任务。


他表示,自己用了大约36分钟的时间,就完成了Devin所做的事。



在下一张幻灯片中,实际上有一个需要修复的错误,在名为dataset.py的文件第33行。


问题是torch模块缺少一个名为underscore six的属性。


博主在谷歌上搜索了这个问题,找到了GitHub上的一个相关评论。


他按照该评论中的建议修改了代码行,确实解决了问题。


“解决这个问题总共花了我大约一分零七秒的时间,只需这么短的时间就修正了错误。这只是一个快速的谷歌搜索而已”。



以下是博主所做的修改的具体内容,这是最初状态和最后状态之间的差异。


这是requirements.txt文件的一处修改,最开始使用的是torch 1.4.0版本,博主使用了最新版本的torch 2.2.2。


右边是Devin视频中的最后一屏,左边是最后的输出。


它们两个大同小异。博主的框是黄色的,Devin是红色的。



根据Devin官方视频中的时间,从2024年3月9日3:25pm开始,一直到9:41pm完成,中间经历了6个小时。




最后再看下Devin完成工作的效果及其评价。


为了复制Devin的结果,博主只需要在云实例上设置合适硬件的环境,并实际运行两个带有正确路径的命令。


Devin看似做了很多工作,完成了很多任务。然而,只要你设置好环境,实际上只需要运行2个命令。些代码修正全都无关紧要,因为它们都是Devin自生成的代码。


在视频的最后,研究者You表示Devin做得好。而实际上,Devin完成的任务对于AI来说的确很酷。



四、AI程序员,全网沸腾


还记得Devin在三月初发布时,全网都在疯转这个AI。


在SWE-bench基准测试中,它的表现远远超过Claude 2、Llama、GPT-4等选手,取得了13.86%的惊人成绩。



它不仅能自主学习不熟悉的技术,端到端地构建和部署应用程序,自己改bug,甚至还能训练和微调自己的AI模型。


网友纷纷恐慌,Devin会偷走我们的工作吗?难道程序员真的不存在了?!



甚至,其背后十人初创团队的励志故事也被人挖了出来。


核心创始人首席执行官Scott Wu,以及弟弟Neal Wu等人共揽收十枚IOI金牌。



也就不到一个月的时间,各种AI程序员相继诞生。


比如,普林斯顿团队推出的SWE-agent,可以在真实的GitHub仓库里修bug,还有OpenDevin,Devika开源项目。



不过,关于AI程序员能否解决真实问题的能力,却还是应该持有保留态度。


因为,即便是借助了GPT-4 Turbo的能力,AI也并非万能。


参考资料:

https://x.com/0interestrates/status/1779268441226256500

https://www.reddit.com/r/programming/comments/1c1g0fn/debunking_devin_first_ai_software_engineer_upwork/


本文来自微信公众号:新智元 (ID:AI_era),编辑:桃子

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定