【新智元导读】全球首个 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 在官方视频中,完成任务的表现。
接下来,一起看下 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 文件的一处修改,最开始使用的是 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 程序员,全网沸腾
3 月初,还记得 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)
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。