所有語言
分享
文章來源:硅星人Pro
作者|苗正
“首個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的辦法了。