新聞 > 科教 > 正文

世界首個AI程式設計師Devin視頻竟造假?被逐幀解析

【新智元導讀】全球首個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在官方視頻中,完成任務的表現。

,時長02:01

接下來,一起看下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文件的一處修改,最開始使用的是torch1.4.0版本,博主使用了最新版本的torch2.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基準測試中,它的表現遠遠超過Claude2、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也並非是萬能的。

責任編輯: zhongkang  來源:新智元 轉載請註明作者、出處並保持完整。

本文網址:https://hk.aboluowang.com/2024/0415/2043936.html