AI程序员还是代替不了程序员,震撼硅谷的Devin-ai程序员,再度震撼硅谷——但这次是被打假

一位油管程序员博主Internet of Bugs对Devin发布的视频进行了逐帧分析,逐一举证说明了Devin并不如演示中那般拥有程序员开发能力。

甚至有“自己现写bug然后当场修复”的骚操作。

主要疑点包括但不限于:

  1. 号称能解决任何Upwork任务,但演示中解决的问题并不是prompt要解决的那一个,做无用功;

  2. 看起来在修复bug,实际上修复的bug人类程序员根本就不会犯;

  3. 没有意识到简单两步就能解决问题,花里胡哨一顿操作,其实是自己把任务搞复杂了;

  4. 修改代码的水平一言难尽。

  5. Devin所处理的任务并非随机,而是精心挑选;与客户实际需求有很大的出入

Internet of Bugs花了半个多小时,把Devin演示视频中的upwork任务完成了一遍——而Devin完成任务可能用时6个多小时。

要知道,其背后公司Cognition AI手握10块IOI金牌的活招牌,还在推出Devin当月宣布成功融资2100万美金。

推特和YC上已经吵翻天了,让这件事的讨论度高居不下。

演示造假让demo看起来轻松达到意料之外的技术进步。

35年从业者逐帧验证

此次出来声张正义的Internet of Bugs,从事软件行业已经35年。他首先声明自己的立场:“我并不反对高科技,但我确实反对过度炒作”。

他自己也经常使用GitHub Copilot、ChatGPT、LIama2、Stable Diffusion。

此次则主要针对的是一些更为具体的说法。

比如之前Devin号称能够靠处理upwork任务来赚钱的。但在真正的演示中Devin并没有做到这一点。

不信?没关系,Internet of Bugs带着逐帧的证据来了。

总结如下:

Devin所处理的任务并非随机,而是精心挑选;

与客户实际需求有很大的出入;

实际操作过程,数次自己创造bug然后再修复;

很多毫无意义的操作,相当于几十年前在C语言中才用的方法;

首先,来到了演示视频的2.936秒处,在屏幕左上角有显示他们搜索过这个内容。因此,这不是所谓“随机”选择的任务。

再来看客户给到的具体需求。真正需求为“我想要利用这个库来进行推理。你需要提供详细的操作指南。我不想讨论完成这项工作预计需要的时间。”

但给到Devin的需求却是:我希望利用这个模型在这个库中进行推理。请自己弄明白。

最后视频末尾出现的Devin生成报告中,也没有提及客户实际需要的内容。

那么,这份工作的最终交付成果应该包括什么呢?

但Devin实际做了什么?

Devin第一次真正的尝试,是它修改了一个名为requirements.txt文件,其中规定了代码所依赖的库版本。视频中提到它正在更新代码,但实际上更像是修改配置文件。

然后根据需求,需要Devin能建立自己的推理能力,并仅需使用样例数据即可。但实际项目要比这个复杂得多。

结果很快,Devin就遇到了第一个命令行错误——打开图像失败、文件未找到、无此文件或目录等。但在光头哥实际复现时并没有出现,结果研究发现,代码仓库压根就不存在这个文件。

这相当于Devin自己创建了个bug,然后再修复bug。在接下来的操作中,Devin经历了很多次这样的“自建自修”。

不能说十分有用,只能说完全没有必要。

接下来,再来看看代码库中这样一个readme文件。正如视频所展示的那样,readme文件清晰地说明了该文件的功能和用法。在页面右侧,甚至还有一个小按钮,点击它就可以复制整条命令,然后粘贴到命令行窗口中,按下回车即可运行。

但Devin完全没能理解,而又是自创了个项目。而写的那段从缓冲区读取数据的代码十分糟糕。

于是Internet of Bugs发出了灵魂拷问:

“这不就是几十年前在C语言等中才用的方法吗???”

这种做法显然已经过时,正常人用Python谁还会再写这个代码。这种代码很难调试,它逻辑复杂,难以理解,很容易出现细微的错误。

此外,代码库中还存在一个真正的错误,但Devin既没有发现也没有修复。

然后Internet of Bugs用谷歌搜索,按照GitHub上一条相关评论修改了代码,只花了1分07秒,问题就解决了。

最终Internet of Bugs总共花了35分55秒复现了Devin的工作,而Devin实际花了多长时间呢?

如果细看视频Demo,就会发现Devin处理工作前后有6个小时20分钟的间隔。

视频的前部分显示的是3月9日下午3:25的时间戳,但后半部分却显示的是当天晚上9:41

而逐帧细看就有会发现一些奇怪且毫无意义的操作。

比如head -N 5 results.json | tail -N 5这个命令,它表示取这个JSON文件的前五行,然后再取这些行的最后五行。

正确的做法应该是”head-5 results.json”。那个-N是多余的。只要说-5就可以,不需要那些多余的东西。

最后Internet of Bugs锐评,AI现在生成的内容有很多都十分愚蠢,反倒会让事情变得更为复杂。

当看到它的任务列表时,会觉得:哇,Devin做了很多事情。但实际上可能并非如此。

网友:至少掌握了看起来很忙的技巧

对于此次Devin造假翻车,不少网友对现阶段AI产品炒作嗤之以鼻。

你对此这么看?

参考链接: https://www.thepaper.cn/newsDetail_forward_27026926