新闻 > 科教 > 正文

世界首个AI程序员Devin视频竟造假?被逐帧解析

【新智元导读】全球首个AI程序员Devin被爆视频造假?YouTube博主近日揭露了背后明星初创公司Cognition的谎言,通过逐帧分析发现,Devin并不能独立完成Upwork工作。全网爆火的世界首个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在官方视频中,完成任务的表现。

,时长02:01

接下来,一起看下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分的时间,完成所做的事。

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

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

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

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

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

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

这是requirements.txt文件的一处修改,最开始使用的是torch1.4.0版本,博主使用了最新版本的torch2.2.2。

然后在右边,这是Devin视频中的最后一屏,左边是我的视频,也就是最后的输出。

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

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

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

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

这些东西看起来就像Devin做了很多工作,完成了很多任务。

然而,只要你设置好环境,实际上你只需要运行2个命令。些代码修正全都无关紧要,因为它们都是 Devin自生成的代码。

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

AI程序员,全网沸腾

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

在SWE-bench基准测试中,它的表现远远超过Claude2、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也并非是万能的。

责任编辑: zhongkang  来源:新智元 转载请注明作者、出处並保持完整。

本文网址:https://www.aboluowang.com/2024/0415/2043936.html