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