全球首個 AI 程序員來了!超越 GPT-4 震撼硅谷,但取代碼農為之尚早

愛範兒 於 19/03/2024 發表 收藏文章
讓 AI 誕生的職業,會因為 AI 失業嗎?

初創公司 Cognition AI ,2 個月前才剛成立,一夜之間在 X 捲起了風暴,就因為他們一條瀏覽量上千萬的推文:

引用今天,我們很高興地向大家介紹,第一位 AI 軟件工程師 Devin。

Cognition AI 團隊藏龍卧虎,基本都是國際信息學奧林匹克競賽金牌選手。

代碼構建了互聯網的地基,程序員至今仍然是有門檻的高薪職業。這些智商數一數二的人類頭腦,為什麼要集合起來,手把手地教 AI 深入自己最擅長的領域?

第一位接近人類的 AI 程序員,究竟強在哪裏

Cognition AI 對於 Devin 的定義是:世界上第一位完全自主的 AI 軟件工程師。

先拋開技術參數,看看 Devin 可以做些什麼。

Devin 還沒有開放使用,只能通過郵箱提交申請,所以我們現在看到的是官方給出的案例,以及少數第三方開發和產品人員的評價。

先從 Cognition AI 自己開始,他們想讓 Devin 完成一個任務:測試大語言模型 Llama 在三個 API 提供商上的性能。

他們發了一段用自然語言寫的提示詞,接下來,雙手離開鍵盤,一切都交給 Devin。

Devin 先是制定了一個步驟清晰的計劃,然後就開始像人類程序員一樣寫代碼。


Devin 決定使用瀏覽器打開 API 文檔,讀取並學習如何接入每一個 API。

過程中出現了一個意外的 bug,Devin 表示不慌,哪裏有錯就解決哪裏,添加了一個調試打印語句,通過日誌中的錯誤信息找出修復 bug 的方法。

最終,Devin 構建和部署了一個可視化的網站,既完成了任務,結果又賞心悦目,走進閲卷老師的心坎裏。


根據 Cognition AI 的博客,Devin 還能完成更加複雜的任務,並且有超強的學習和調整能力。

甩一篇文章的鏈接給 Devin,裏面介紹瞭如何通過 ControlNet 等插件,在 AI 圖像裏嵌入精準的文本。

這本來是 Devin 不熟悉的技術,但它通過自行閲讀和學習知識,三下五除二輸出了帶有用户英文名字的電腦壁紙。


請 Devin 製作一個互動網站,Devin 按照用户的要求,不厭其煩地修改和完善,改進初始化頁面、加快幀速率、響應不同大小的窗口。

然後,Devin 將網站部署到 Web 開發平台 Netlify,省時省力省心,只把愉快玩耍的部分留給人類。


除了衝鋒陷陣,Devin 也很適合打野。

面對一個需要不時維護的包含不同算法的開源存儲庫,Devin 拔劍四顧,幫忙查找和修復錯誤。比程序員更加火眼金睛。

甚至,Devin 有較強的自我管理意識,能夠訓練和微調自己的 AI 模型,人類程序員可以把它晾在一邊,1 個小時之後再回來看看,進展得怎麼樣了。

▲ 這位程序員真的晾了 AI 一個小時.

Cognition AI 還想證明,Devin 不是一個自嗨的道具,所以他們試着在自由職業平台 Upwork 接了一個單,編寫和調試代碼來運行計算機視覺模型,但交給 Devin 完成。

Devin 有條不紊地設置代碼倉庫,解決版本衝突,從互聯網下載圖片供模型使用,採樣結果數據,還編寫了一份漂亮的報告,正中金主的下懷。


不僅如此,Cognition AI 在 X 驕傲地宣佈,Devin 已經通過了一家行業領先 AI 公司的工程面試。

如果是一個剛入門的程序員,面對甲方的任務抓耳撓腮,叫天不應叫地不靈,不妨將任務需求發給 Devin,大神原來就在身邊。

試水市場之後是同行比拼,Cognition AI 讓 Devin 進行了一次編碼基準測試 SWE-Bench,解決開源項目裏真實存在的 GitHub 難題。

術業有專攻的 Devin 完全自力更生,端到端正確解決了其中的 13.86%。

乍看不高,比起之前模型在輔助下的最好成績 4.8%,這已經是非常大的進步了,甚至遠遠超過了 GPT-4、Claude2 等一眾前輩。


目前用過 Devin 的少數用户,給出的也基本是溢美之詞。

在彭博社記者的實測中,Devin 從頭開始構建一個網站,只要 5-10 分鐘。

同樣的 5-10 分鐘,Devin 還能重複創建基於 Web 的經典乒乓球遊戲。

之所以説重複,是因為在這個過程裏,彭博社記者輸入了幾次提示詞,改進網站外觀、乒乓球運動時的物理特性等等,Devin 有求必應。

計算機科學家 Silas Alberti 則發現,Devin 擅長項目原型設計、修復錯誤以及以圖形形式顯示覆雜數據。


他甚至覺得,Devin 不能被稱為「編程助手」了,更像一位獨立工作的助理軟件工程師,自主自發自治地幫人完成任務。

斯坦福大學機器學習專業博士生 Silas Alberti 也上手了 Devin,兩週前用它構建了一個小型 SMS 網站摘要器,並通過 Twilio 部署,使用評價很接地氣:

引用幾乎就像一個人類同事!當 Devin 遇到問題,我給它建議時,就像在管理一名初級工程師。

體驗之後,這位博士生提高了對自己的要求——成為更優秀的工程師,未來才能管理一支 Devins 團隊。

夢幻華人團隊打造,克服代碼不是終點

Devin 背後的 Cognition AI,就像拔地而起的一座高山,在 2 個月前才成立。

10 名員工甚至沒有固定的辦公室,在硅谷的 Airbnb 和紐約的辦公室之間奔波。

但就是這樣一家公司,籌集了 2100 萬美元的投資,一夜之間火爆 X。


Cognition AI 的團隊目前就 10 個人,華人面孔多,人才密集度過高——DeepMind、Waymo 等大廠的工作經歷,10 枚國際信息學奧林匹克競賽金牌。創始人則主要有三位。

首席執行官 Scott Wu,今年 27 歲,他的兄弟 Neal Wu 也在 Cognition AI 工作,兩人都從青少年時期開始參加國際編程比賽,能力在專業圈子裏非常出名,甚至讓美國國家編程隊勝過中國和東歐一籌。


首席技術官 Steven Hao,曾在負責訓練 AI 系統的初創公司 Scale AI 擔任資深工程師。

首席產品官 Walden Yan,曾就讀於哈佛大學,疑似輟學中。

Scott Wu 認為,奧林匹克競賽的經歷就是他們團隊的優勢。

將編程技能教給 AI,本質上是一個複雜的算法挑戰,讓系統做出複雜的決策,預測未來的最佳路徑,類似他們在競賽中解決的問題。

Scott Wu 甚至用了一種很浪漫的説法:這就像多年來他們在腦海裏玩的遊戲。

然而,還沒成為大公司,就有了大公司的病,和越來越封閉的 OpenAI 類似,Cognition AI 不對外公開技術細節,也不透露是構建了自己的模型,還是依賴現有的模型。

他們只是泛泛地説,找到了一種 GPT-4 等大語言模型與強化學習技術結合的辦法,讓 Devin 具備了幾個方面的能力。


首先,Devin 在推理和長期規劃方面取得了突破,可以規劃和執行需要數千個決策的複雜工程任務,並記憶每一步的上下文,還能不斷學習和修復錯誤。

有了推理能力,AI 就能更像人。我們所熟悉的大語言模型,往往是系統根據概率,預測句子的下一個單詞,或者代碼的下一個片段。但具備推理能力意味着,AI 更加接近人類思考和解決問題的方式。

至於長期規劃能力,這其實決定了 AI 能多有用。計算機科學家 Silas Alberti 實測發現,大多數編碼助手在四五步之後就脱軌了,但 Devin 狀態基本一直在線。

彭博社甚至表示,Devin 能在保持一致性的情況下,連續處理數百甚至數千個任務,這或許就是 AI 的「一心多用」吧。

其次,工欲善其事,必先利其器,Devin 配備了人類程序員使用的所有常見開發工具,包括沙盒計算環境中的命令行界面、代碼編輯器和瀏覽器。

再者,Devin 積極地和人類協作,實時報告自己打算怎麼做,用哪些命令和代碼,任務完成到哪一步,並虛心接受反饋,用提示詞提醒 Devin,它就會聽勸並做出調整,按照你的需求和你共同完成一個項目。


Devin 的演示效果已經足夠驚豔了,但克服代碼不是 Cognition AI 的終點,而是一個開始。

Cognition AI 真正希望解決的是推理問題,讓 AI 更加接近人類,然後在更廣泛的學科裏實現更多樣的可能性。

文字、圖像、視頻、代碼,還有什麼是 AI 學不會的?

當 AI 做得更多,人類負責監督 AI 做得更多

程序員請 AI 代勞自己的工作,不只是 Cognition AI 一家的想法。

2021 年 6 月,GitHub、微軟和 OpenAI,就在 GPT-3 的基礎上推出了 AI 代碼助手「Copilot」。


上個月,一家名為 Magic AI 的公司籌集了超過 1 億美元,從頭設計自己的模型和底層技術,構建「超人軟件工程師」。

當 GPT-3.5 剛火的時候,有人認為:

引用當你輸入提示詞時,你就是在為大語言模型編程。

我們隨意地讓 AI 生成一段文字、一張圖片,也可以算入其中,但與此同時,真正的編程也因為 AI 變得更加普及,把我們帶回了一個熟悉的話題:人類的飯碗會被搶走嗎?

樂觀地想,AI 程序員可以讓程序員擺脱繁瑣的、無聊的任務,做更加創造性的事情。

而對代碼一竅不通但有腦洞的小白,也可以構建自己的網站、服務和應用程序。

反之,悲觀主義者或許覺得,AI 程序員讓程序員不再是個高薪行業。Cognition AI 評論區裏就有人狂發表情包:作為一名軟件工程師,我已經完蛋了。


OpenAI 創始團隊成員、大神級人物 Andrej Karpathy 也在 X 發表了自己的看法,軟件工程自動化類似於自動駕駛的發展過程:

引用1. 人類手動編寫代碼 ;2.GitHub Copilot 自動完成幾行代碼;3.ChatGPT 編寫大塊代碼;4. 代碼差異越來越大,例如 Cursor copilot++ 風格;5…….

這個過程中,AI 做得更多,人類做得更少,但仍然擔任監督的角色。

因為 Devin 的出現,接下來開發人員編寫代碼需要的工具,包括終端、瀏覽器、代碼編輯器等,可能發生很大的改變,人工監督的抽象程度也會越來越高。
然而也不能高興得太早,AI 的部分,以及用户界面和體驗的部分,還有很多工作要做。人類如何監督,如何調試錯誤,如何引導 AI,如何用自然語言提出高級的命令,仍然等待解答。


深度學習大佬 François Chollet,觀點則更加犀利而尖鋭——軟件工程不是複製和粘貼代碼,而是開發和操作問題及其解決方案的心智模型,Devin 還沒到這個境界。

軟件工程的革命,或許近在眼前。至少目前,AI 還無法完全取代人類,因為訪問過於火爆,Cognition AI 官網一度宕機,看來 AI 還無法做出不會崩潰的網頁。

同時,Cognition AI 也還在招兵買馬,對軟件工程師和機器學習研究員求賢若渴。可見在眼下這個時刻,優秀的人類程序員,珍稀程度前所未有地高,還能再幹票大的,為 AI 添磚加瓦,把更多同類甩在身後。


資料來源:愛範兒(ifanr)

留言


請按此登錄後留言。未成為會員? 立即註冊
    快捷鍵:←
    快捷鍵:→