全球首個AI程式設計師Devin誕生了,碼農夫碗一夜被砸!



【導讀】全球首位AI軟體工程師Devin誕生了,它掌握全端技能,雲端部署、底層程式碼、改bug、訓練和微調AI模型都不在話下。最可怕的是,它完全不怕996,老黃的預言是徹底成真了!

就在剛剛,世界上第一位AI程式設計師Devin誕生。

一家叫Cognition的10人新創公司,才成立不到2個月,就給了全世界億點震撼。

一放出,Devin就刷爆了全網。

它掌握了全端技能,能自主學習不熟悉的技術,端到端地構建和部署應用程序,自己改bug,甚至還能訓練和微調自己的AI模型!

在SWE-bench上,它的表現遠遠超過Claude 2、Llama、GPT-4等選手,取得了13.86%的驚人成績!

也就是說,它已經能通過AI公司的面試了。


就在前不久,輝達CEO黃仁勳表示,自己相信就在不久的將來,人類再也不需要學習如何編碼了,孩子們應該停止程式設計課。


誰能想到,才短短數月,他的預言就成真了!

更令人震驚的是,Devin背後擁有一支強大的金牌程式設計師團隊(規模不大,人才濟濟)。

據介紹,光是創始團隊已經狂攬了10枚IOI金牌!



執行長Scott Wu和弟弟Neal Wu得獎情況

Cognition AI的執行長Scott Wu稱,自己從9歲開始學習編程,便愛上了將想法變成現實的能力。現在,這個夢想居然真的實現了。




網友驚呼:碼農不存在了!?

看到Devin如此無敵的能力,網友驚呼,一切都結束了!


Devin會搶走我的飯碗嗎?


德撲AI之父,OpenAI的研究科學家Noam Brown表示,「2024年將是人工智慧令人興奮的一年」。


電腦科學家,AI新創公司CEOSilas Alberti評價到:

它是一個能夠獨立完成任務的自主系統,在快速原型設計、修復bugs和複雜資料的視覺化上表現卓越。

大部分其他助手在進行四、五步驟操作後就會偏離任務軌道,但Devin能夠在整個任務過程中準確地保持它的目標和方向不變。

投資了Cognition AI的矽谷大佬Peter Thiel更是認為,Cognition AI與Founders Fund之前投資過的DeepMind,現在的AI巨型獨角獸OpenAI,Scale AI等公司處於同一水平。

AI新創公司Unify創辦人稱,Devin不僅搶走了我的工作,還搶走了我的名字,簡直是雪上加霜。



美國著名開發者Brian Roemmele表示,自主編碼智能體Devin已現AGI雛形!它能在幾分鐘內自主編寫整個應用程式。這是真正無代碼未來的開始。


Spotify工程師表示:「目前尚不清楚智能體會在幾年內取代軟體開發人員,但免費午餐已經不復存在。」

「從為期8週的訓練營畢業,然後找到一份價值20 萬美元的工作,這樣的日子已經一去不復返了。做好磨練和深入學習的準備。熟練地引導人工智慧取得好的結果可能才是未來程式設計師能體現出來的價值。」



世界第一位AI軟體工程師Devin

AI軟體工程師Devin的影響力,簡直堪比2023年全網炸鍋的智能體-AutoGPT。

Devin究竟有多強?


Devin可以規劃和執行需要數千項決策的複雜工程任務。

並且,它可以在每一步回憶相關的上下文,隨著時間的推移學習,並糾正錯誤。

研究人員也為Devin提供了常見的開發工具,包括shell、程式碼編輯器、以及瀏覽器——都是人類完成任務最需要的工具。

此外,Devin也具備主動與使用者合作的能力。

例如,即時報告進度,接受回饋,並根據需要與你一起完成設計選擇。

目前,Cognition AI也推出了一個Devin客製化的Chrome外掛程式-Tab Switcher。


而Cognition的開發者們紛紛分享出了自己使用Devin的範例,簡直不要太驚艷!

學習如何使用陌生的技術

當你發給Devin一篇部落格文章後,它會在幾分鐘內完成自主學習,從閱讀文章,運行程式碼。

可以看到,Devin在Modal上運行了ControlNet,在寫程式碼過程中,也會自我debug。

最後,人類程式設計師Sara想要帶有自己名字的桌面桌布,就立刻生成了。


建置和部署端到端的應用程式

當你想要玩一個「生命遊戲」(the Game of Life),交給Devin做就好了。

Devin首先會用工具Shell,建立一個新的react應用程序,然後開始透過編輯器編寫程式碼。

程式碼完成後,它也會將應用程式自動部署到Netlify,一個初步的「生命遊戲」就做好了。


這個過程中,Devin還可以逐一根據使用者要求,完成功能的新增。

例如在初始畫面加上像素化的「Devin」一詞,然後希望這個字體再大一些,幀速率更快。

同時,人類程式設計師要求Devin修復一個bug——螢幕在3秒後凍結的錯誤。


下一步,讓Devin在10秒後提高幀率,讓網站能適應不同的視窗大小。

同時,一個遊戲還得需要互動性,也就是在某處點擊滑鼠時,應該會產生一個新區塊。

接下來,就是見證奇蹟的時刻了!


自行查找程式碼庫錯誤,自行修復

這個名叫Andrew的開發者表示,自己維護了一個大型開源儲存庫,其中包含許多不同的演算法,用於競爭性程式設計。

不久前有朋友告訴他:其中一個實作中有bug。Andrew插入了一個快速修復,但並沒有測試它,因為他沒能抽出時間來編寫測試案例。


既然如此,就給Devin來試試看吧!

小哥給了Devin儲存庫,讓它來檢查和處理這個儲存庫。然後,Devin就找到了正確的儲存庫,並檢查了所有檔案。


接下來,在小哥的要求下,Devin還很輕易地就把測試寫了出來——只是看了一下測試應該是什麼樣,接口是什麼樣,就完成了這項任務。

挑戰還沒完,接下來,小哥要求Devin將對所有輸入進行測試,而不僅僅是測試這個輸入,也就是自己常用的「暴力測試」。

於是,Devin重寫了測試函數,使用了四個巢狀的循環,這次,它發現了一個bug。


接著,Devin開始調試。它在這裡加入了一個print語句,來偵錯輸入和輸出,然後重新測試,發現了錯誤:程式碼不應該傳回負值。

於是Devin查看了正在測試的程式碼,然後加入了這行程式碼,確保回傳值是非負的。

現在Andrew可以確信,自己的程式碼是完全正確的了!


訓練和微調AI模型

Devin能力也在一步一步進階。

最讓人興奮的是,它可以自己訓練、微調模型,AI訓AI成真了!


首先,提供智能體Devin一個GitHub函式庫的連結(如QLoRA-一種量化大模型的微調方法)。

Devin所做的就是,微調7B Llama模型。

接下來,就是獻技的時刻,Devin複製了GitHub庫,了解如何使用readme運行,設定好所需pip的要求,查看所有的腳本語言,並開始運行。


訓練過程中,Devin也遇到了Cuda問題(這是在開源程式庫中可以預料到的)。

不過這可難不倒Devin。它會自主查看輝達環境,並找出如何重新安裝軟體包讓其成功運作。

接下來,模型訓練開始進行了。

可以看到損失率正在下降,程式設計師給予Devin正向回饋:「做的不錯」!

大約1小時後,Devin已經順利完成幾百步訓練,仍在進行中...


解決開源程式碼庫中的錯誤和功能請求

只要給出一個指向GitHub問題的鏈接,Devin就會執行所需的所有設定和上下文收集了!

這位叫Tony的工程師,想一次運行一堆命令,並且希望在一個螢幕上追蹤它們的狀態,於是他找到了一個名為impro的開源工具,希望執行這個操作。

看起來雖然impro完成了任務,但狀態太模糊了。根本看不出來究竟哪些指令失敗了。


Tony想改進這裡的使用者體驗,但自己根本不熟悉程式碼,於是他想到去求助Devin。

他發現網路上有人面臨同樣的問題,所以他把這個問題的連結給了Devin,讓它修復這個問題。


在右邊,他很清楚地看到,Devin從一個工具跳到了另一個工具。

它首先使用了Shell Deon CLS儲存庫,然後閱讀了自述文件和編輯器,了解了子程式碼,然後,它返回Shell,安裝了所需的依賴項。另外,Devin還開啟了一個網頁瀏覽器。


然後,Devin就開始寫程式了!

在這個過程中,它甚至打開了一些R文檔來調試編譯器錯誤。最後,完成了任務,出了一份自己做了哪些改進的總結報告。


所以,Devin的更改有效嗎?Tony發現,它成功了!第三個指令是成功的,他甚至可以看到狀態碼。



為成熟的生產儲存庫做出貢獻,修復系統錯誤

下面這個範例,是SWE-BENCH基準測試的一部分。Devin解決了Python代數系統中的一個錯誤。它會自行設定程式碼環境、複製錯誤、自行編碼、測試修復程式!

這位叫Neil的開發者,分享了Devin幫自己改bug的範例。

他一直在用這個名為Senpai的儲存庫,它是一個用Python寫的代數系統。

但Neil發現,取分數的對數時,我們會得到一個無限大的Zoo,這是絕對不可能的。

於是,他試著讓Devin來解決這個問題。


Devin在儲存庫中復現了Zoo的問題後,隨後,它找出了程式碼中正確的那部分,並加入了print語句,以便找出問題原因。


可以看到,原因就在於,整數除法會得到0,就導致之前取了0的對數。因此,Devin用true除法取代了整數除法。

隨後,它開始測試,確保沒有其他問題。


就這樣,Devin幫Neil節省了大量的時間。


勝任自由工作平台Upwork的工作

Cognition的開發者You也試著在全球最大的綜合類自由工作平台Upwork上,為Devin提供真正的工作。

沒想到,它竟可以完全勝任,看來智能體也能出來做副業了......

在Upwork上,他先挑選了一個「用電腦視覺模型做推理」的工作。

先來看看這個任務的要求:

- 我希望利用該資源庫中的模型進行推論。(https://github.com/mahdi65/roadDamageDetection2020)

- 你的交付成果將是關於如何在AWS的EC2實例中進行操作的詳細說明。

- 請提供你完成這項工作的評估報告。我不會回覆沒有評估的報告。


看起來很簡單一個任務,但開發者You表示,自己也不知道如何開始做。

但交給Devin,這件事就變得容易得多了。

Devin收到請求後,先開始設定了儲存庫。然後運行中發現了版本控制問題,Devin自主處理並更新了程式碼。

然後,Devin繼續載入並導入軟體包。它還從互聯網上下載了圖像,並運行模型。

接下來,Devin再次遇到了問題——關於列印調試,它自主修復了程式碼。


最後,Devin對資料結果進行抽樣,並撰寫出一份報告。

它會一些標有損壞道路樣本的圖像,以及詳細的text文件。

13.86%正確率,Devin碾壓GPT-4/Cluade 3

SWE-bench是一個要求AI智能體解決開源專案(例如Django和scikit-learn)中實際GitHub問題的測試。

在評估中,Devin能夠完整地正確處理13.86%的問題,這一成績大幅領先於先前技術水準的1.96%。

即便是在提供了具體需要修改的文件情況下,先前最優秀的模型也只能處理4.80%的問題。



華人金牌程式設計師團隊

Cognition AI這家正在改變世界的公司,才正式成立不到2個月,只有10名員工,分散在紐約、矽谷,以及世界各地的Airbnb民宿中。


就這樣一個連正式辦公場地都沒有的團隊,卻已經從矽谷大佬Peter Thiel領投的Funders Fund和其他知名的投資機構那裡獲得了2100萬美元的投資,其中還包括前推特高管Elad Gil 。


在如此炸裂的產品的背後,團隊成員背景更是奪目耀眼。

Cognition AI的核心創始團隊包括3人:CEO Scott Wu,CTO Steven Hao,CPO Walden Yan。


共同創辦人兼技術長Steven Hao,在AI系統方面有著豐富經驗,


他於2018年本科畢業於MIT計算機和數學專業。


2018年加入由Alexandr Wang創辦的Scale AI,是一名資深的AI系統工程師。


共同創辦人兼首席產品長Walden Yan,在加入Cognition AI之前他還是哈佛大學的一名在校大學生。


作為電腦和經濟專業本科大四在學的學生,理論上應該今年本科畢業。

但實際情況卻處在「保密狀態」,因為他還沒有告訴父母自己輟學的事。(手動狗頭)


他在個人網站上,列出了3個自己認為最重要的成就:

- 是MIT PRIMES Research團隊的成員

- 得過IOI金牌

- 創立DeepReason並開發了一款智慧區塊鏈審計工具


聯合創始人兼執行長Scott Wu,是一名連續創業家。


在成立Cognition之前,他曾經創立了一個以AI驅動的社群網路平台Lunchclub,也曾就讀於哈佛大學。



他的弟弟Neal Wu ,也是公司的員工。


在加入Cognition AI之前也在包括Google等多家公司工作過,是一名經驗豐富的軟體工程師和銷售。


本科同樣畢業於哈佛大學電腦專業。


他們兄弟倆在非常青年時期就參加了很多國際編程比賽和科學奧賽,獲獎無數。



不僅如此,團隊的其他成員,也都是大佬級的存在。





還有一個nobody。


其中,Andrew He從6年級開始,參加了各種數學競賽。在2014年和2015年的國際資訊學奧林匹克大賽中獲得了2枚金牌。

他就讀於MIT,並於2019年畢業,獲得了數學和電腦科學學士學位。


如此豐富的程式設計競賽經歷,對於他們開發這個程式設計AI智能體有著非常大的幫助。

眾所周知,程式設計競賽的核心就是要迅速且準確地解決程式設計難題,強調快速解決複雜問題的能力,而且對於創新的解決問題的思路有著很高的要求。

在CEO Scott Wu看來,團隊獨特的背景讓他們在這個領域有非常強大的優勢。

將AI培養成程式設計師,實際上是一個複雜的演算法挑戰,這需要AI系統能夠做出複雜的決策,並能預見未來幾步,從而選擇正確的路徑。

這幾乎就是我們多年來一直在大腦進行的一場比賽。現在,我們需要用AI系統來參加這些比賽。


Cognition AI首款產品Devin的最大突破在於大幅提升電腦推理與規劃能力。

它要求AI系統不僅要預測句子中的下一個字或程式碼行的下一個片段,還能像人類一樣思考,並獲得解決最終問題最合理的方法和路徑。

而產業共識也認為,AI的推理和規劃能力將是AI下一步產生最重要突破最可能的方向。

Devin在接受使用者以自然語言提出的任務後,不僅能夠自主開始工作並完成任務,還會向使用者報告其計劃,並即時展示正在使用的命令和程式碼。

如果使用者發現過程中的問題,可以即時提供回饋。它會在任務進行中立即調整。

而Devin最大的亮點在​​於,大多數現有的AI系統在處理這類長期任務時往往難以保持一致性和專注,但它能夠在完成數百上千任務時始終不偏離目標。

其他電腦科學家或資深程式設計師在試用Devin之後認為,它已經不只是一個程式設計助手,簡直是個可以獨立工作的員工。

CEO Wu並沒有詳細說明他們的智能體背後使用的AI技術,只是籠統地解釋說,團隊找到了將大語言模型(例如OpenAI的GPT-4)與強化學習技術相結合的獨特方法。(新智元)

參考資料:

https://ww w.cognition-labs.com/blog

https://www .bloomberg.com/news/articles/2024-03-12/cognition-ai-is-a-peter-thiel-backed-coding-assistant


Extension那個用模板來套,基本上只要寫兩三行功能可以更強,因為這個大家都寫爛了,然後難度也不高。 版更那個確實是問題,在 .NET也非常嚴重,不過這問題很常見,只是缺乏工具去處理,現在還是依賴人工比對。 後來幾個範例都是一般工程師會做的事情,也不用花多少時間,比較像是 Trial and Error。 最後還是比較想要用AI來解決數學問題 但既然要當成副駕駛,我覺得 "記憶版面和版面的因果關係" 進階到 "演算與演算法因果的關係",才會是比較珍貴的功能,這樣就可以處理過去很難處理的事情,而不是上面那些一般隨手都會的事情