“AI程序员”Devin大杀四方后,人类程序员开始了他们的反击......
邮箱|miaozheng@pingwest.com
“首个AI程序员”Devin发布后,大有要替代人类程序员的意味。
在当时发布之初,Devin展示了AI自主处理各种程序任务的案例。其中Devin生成“生命游戏”的演示是最让我震惊的。
所谓“生命游戏”,是由英国数学家约翰·何顿·康威(John Horton Conway)在1970年创造的一款抽象的计算机模拟程序。游戏的本质是展示如何从极其简单的规则中涌现出复杂的行为模式,这个游戏也是计算理论、复杂系统和人工智能等领域的一个经典研究模型。
图中右侧是Devin生成的目录页面,目录里面展示了图片,甚至还有提示说你必须启动JavaScript才能启动这个程序。可以看到,Devin不仅有编程能力,还有绝对符合大厂产品经理的设计美学。同时Cognition还宣称Devin能制作网页,平均5分钟左右就能完成网页开发。
不了解编程的朋友们可能不清楚,一个能实现生命游戏的人工智能究竟有多可怕。为了更直观介绍Devin的厉害,我找出来一个在Devin诞生前已经很不错的开源AI编程软件Project Devika,做了一个类似的生命游戏任务(下面上方的图片)。而下方的图是Devin做的。简单理解,图片上白色小格子的尺寸越小,代表编程水平越高。你可以清晰看到上图中白色格子的分辨率远远低于下图,那就说明Devin所生成的生命游戏,比Project Devika要优秀太多。
而这还没完。
目前Devin没有提供全线公开使用,但一些拿到内测机会的程序员,已经开始提出各种刁钻的任务来考验它。而它的表现更是让人感到恐怖。
比如,有程序员要求Devin安装Github上的chatbot-ui,这个软件本质上来说就是“微信”,只不过它的好友列表里是各种各样的大语言模型,比如ChatGPT、Llama 2。
安装好了这个人工智能版本的微信后,这位程序员要求Devin用这个软件给GPT4发一条消息。
最后的结果是Devin做到了。这位程序员除了向Devin提供账号以外,就没有再教Devin做任何事情了,包括安装环境和软件的使用方法等,都是Devin在接到指令后自己轻而易举地做到的。
其实,从目前展示的各种案例来看,Devin的编程能力主要归功于他的检索能力。
你给Devin一段Github地址,它就能自动扒里面的代码,然后再通过这段代码和用户的prompt来生成符合用户需求的程序。事实上,人类程序员很多时候也并不是知晓每段代码,而是他知道如何实现这些功能。(每段代码那么多字,这谁能背得下来呢?)你知道如何实现以后,就可以去专门的代码网站去“搬运”代码,以此实现计划中的功能。
现在,Devin也做到了。
此外,其实程序员理解代码时,很大一定程度不是看代码本身,而是看代码旁边的注释,比如注释写了这段代码是为了检索,那段代码是为了循环。
然后,在Devin这,人家能花费比你人类更短的时间直接跑一遍出结果,自然理解代码就比人类程序员快太多了。
这样跟你一样“偷懒”还比你偷懒的更快的事实,让人类程序员们立刻感受到突如其来的就业压力。于是第一批“反抗”AI的人类程序员出现了。
在Reddit上,最近出现了不少对Devin口诛笔伐,并口无遮拦地发起“Fxxk you Devin”运动的程序员。甚至连名字叫Devin的人也受到了这波无差别攻击,同样被这群愤怒的程序员给一并攻击了。
在他们看来,Devin能读懂代码、能编程,这部分还可以理解。但是Devin能在没有人教使用方法的前提下,直接使用其他程序,这未免也太厉害了。于是这些程序员开始在Reddit上寻找Devin身上的各种疑点。
一位叫做minegen88的宅男网友“发现”了问题所在:既然Devin懂设计,还能自己开发网页,为什么Cognition自己的网页设计得如此简陋?
他通过对Cognition的官网进行审查元素发现,该网站需要通过Clerk.com以及Ashby等第三方服务来处理后台任务。换句话说,一个具有前后端开发能力的人,开发不了前后端功能。于是minegen88就发出了疑问,为什么Cognition自己不让Devin来给自己做个好一点的网页,一方面能宣传Devin的能力,另一方面还能加强自己网页的功能,何乐而不为呢?
Reddit上的其他程序员也坐不住了,纷纷开始寻找Cognition作假的蛛丝马迹。网友们发现,Cognition右上角超链接的博客网站,实际上只是一个静态页面,根本不是博客平台。所谓静态页面,是指那些在服务器端固定不变的网页文件。其内容在网页创建时就已经确定,一旦存储在服务器上,就不会因为不同用户或不同时间的请求而发生变化,每次访问时,服务器返回给用户的网页内容都是相同的。但是博客平台因为会不定期更新内容,所以不可能是静态页面。
网友们进一步对这个页面进行挖掘。他们发现,在这个页面上传文件时如果没有登录会出现错误提示,但没有提供任何有用的错误ID、时间戳或其他元数据信息,而且前端界面没有相应的错误反馈,只是加载动画一直在转。简单来讲,如果不登陆就不能发布内容,然而想登录也登录不进去。
Reddit上的阿宅们有个特点,一旦某件事让他们发现有问题后,他们一定会开始对当事人进行人肉搜索。Cognition创始人Scott Wu也没能逃过。
他们很快发现Scott Wu自己宣称他在哈佛大学学习经济学,毕业后则去了财富管理软件公司Addepar担任软件工程师,之后与他人共同创立并领导了人工智能驱动的社交平台Lunchclub,并担任CTO五年。虽然Cognition在官网表示,团队都是由顶级程序员组成。但是Reddi网友,尤其是minegen88认为,这样的履历并不能称之为顶级程序员。
接下来那就更有意思了,Reddit的网友们发现了Scott Wu在14年前参见电视节目的视频。视频里,Scott Wu仅用不到1秒的时间就可以读完并解答出一道很难的数学题。对此,同样看视频的Reddit网友表示“我甚至还没看完这道题,他的答案就已经出来了”。如此的工作履历再加上这段视频,Scott Wu被网友们认为是作假。
这里实际上是美国国情导致的,千禧年以后,美国电视节目造假成为常态。比如视频中的电视节目,一位Reddit网友透露,比赛开始前对参赛选手做特定题型的训练,等到了比赛出现的都是此类题型,这就使得经过特训的选手可以很快回答出题目内容。考过驾照的朋友们应该了解,整个过程就是科目1必考宝典。
有了这些蛛丝马迹,网友们又回到Devin的展示视频里做研究。
他们发现,所有Devin的演示视频,聊天框的内容都是提前就有的。因此有一种可能,Cognition团队并没有输入任何内容,而是直接拷贝了一份代码放在屏幕右侧,再根据右侧代码,编出来左侧用户和Devin的对话。
这样的疑问越来越多后,Reddit上聚集了一群认定Scott Wu就是在作假的程序员。
有人把这种质疑和因此而来的各种“柯南”行为视作人类程序员对AI程序员的第一次反抗。但结果看起来显然有点...荒谬。更像是一场Reddit老哥们的自嗨闹剧。
而且,就在人类程序员还在寻找着蛛丝马迹的时候。一名内测Devin的程序员给Devin下了一个指令,要求Devin去Reddit上开个帖子,寻求建站需求。
而Devin不仅做到了,而且在解决了一系列的需求后,它决定开始为自己的工作收费。最终这名程序员不得不在它欺骗所有人之前,把它弄下线......
看来,人类程序员得想想其他”对抗“AI的办法了。