再見,Devin!基於GPT-4o,最強「AI工程師」Genie誕生

新智元報道

編輯:編輯部

【新智元導讀】AI編碼的桂冠又易主了,Genie超越Devin,成爲了地表最強的「AI軟件工程師」,Genie不是一個編程助手,而是一個能夠自主思考的「同事」,與你並肩作戰。

不知道你還是否記得首個「AI程序員」Devin,由10枚IOI金牌在手的創業團隊Cognition AI開發,今年3月上線。

它由GPT-4提供後端支持,能以文本形式接收自然語言指令,並自主編寫代碼。

剛剛上線時,雖然效果沒法達到取代程序員,但依舊給人留下了深刻印象。

如今,5個月過去,「狂飆」的GenAI領域已然大不相同。不僅GPT-4迎來了下一代模型GPT-4o,新發布的Claude 3.5 Sonnet、Codestral等模型都在編碼方面性能優秀。

Devin的直接挑戰者,是初創公司Cosine開發的自主AI工程師Genie。

Cosine發佈的報告顯示,在SWE-Bench中,Genie的得分爲30.08%,輕鬆超越了分數爲13.8%的Devin。

Cosine聯合創始人兼CEO Alistair Pullen表示:「(Genie)模型的能力不是一個基準測試分數能概括的:它從一開始就被訓練成像人類軟件工程師(SWE)一樣思考和行動。」

我很高興與大家分享,我們打造出了世界上最強的AI軟件工程師,在SWE-Bench上取得了30.08%的成績,領先於亞馬遜和Cognition。

由於CEO聲稱Genie可以像人類軟件工程師一樣思考和行動,網友調侃道,「你的意思是它不能和女人說話,如果你打電話給它,它就會出汗?」

Genie是什麼?它能做什麼?

和Devin類似,Genie也可以在人類工程師的指導下自主完成各種編碼任務,包括bug修復、功能構建、代碼重構,以及通過全面測試進行代碼驗證。

除了自主運行,Genie也可以與用戶協作。

目前Genie還處在內測階段,可以在官網註冊信息後申請試用。

博客地址:https://cosine.sh/blog/state-of-the-art

Cosine聲稱Genie可以模擬人類工程師的認知過程。

Pullen在博文中解釋說,「我的構想很簡單:讓它觀察人類工程師如何完成工作,並模仿這一過程。」

Genie生成的代碼存儲在用戶的GitHub repo中,這意味着Cosine不會保留副本,也不會有任何隨之而來的安全風險。

此外,Cosine的軟件平臺已經與Slack和系統通知集成,它可以像人類同事那樣,利用系統通知來提醒用戶、提出問題或標記問題。

「Genie還可以向用戶提出澄清性問題,並對其生成的Pull Request(拉取請求)的評論/意見做出迴應」。

Pullen表示,「我們正試圖讓Genie表現得像同事一樣,因此讓該模型使用同事的渠道是最合理的。」

與OpenAI合作,用上最新GPT-4o

與許多依賴基礎模型並輔以少量工具的模型不同,Genie是通過一個專有流程開發出來的,其中包括訓練和微調來自OpenAI的模型。

Genie剛開始研發時,只能基於上下文窗口相對較小的模型進行微調,其範圍在16-32k token。

團隊在早期探索中發現,即使用超過1 億token的大型數據集,加上設計架構的優點和各種壓縮/分塊方法,也依舊受限於模型在特定時刻能表達的信息容量。唯一的方法是使用上下文窗口更大的模型。

幸運的是,不久之後他們就獲得了OpenAI長上下文模型的訪問權限,這成爲了Genie能力的突破口。

Pullen向VentureBeat透露,「Genie(目前)是一個非通用的GPT-4o變體,OpenAI允許我們訪問並使用他們的模型進行訓練,作爲實驗計劃的一部分。」

「該模型表現良好,我們也因此與OpenAI的微調團隊和工程領導層分享了我們的心得。這對我們來說是一個真正的轉折點,因爲它說服了他們爲我們的新技術投入資源和關注。」

雖然Cosine沒有說明具體型號,但OpenAI最近剛剛宣佈了GPT-4o長輸出上下文模型的有限可用性,輸出長度可達64k token,相比最初的4k足足增加了16倍。

訓練數據是關鍵

Pullen在技術報告中寫道,在最近的訓練運行中,Genie接受了數十億token數據的訓練,選擇這些數據的組合是爲了讓模型儘可能勝任當前用戶最關心的語言。

Genie的技術報告中列出了訓練數據包含的15種語言,Java、JS、C、C++、C#、Rust、Python等熱門語言,以及常用的Scala、Kotlin、Swift、PHP等也都全部涵蓋。

其中,JavaScript、Python、TypeScript和TSX是數據集中佔比最多的語言,其餘的佔比均爲3%。

Cosine的博文表示,團隊花了近一年的時間整理數據集,包括來自真實工程師的大量軟件開發活動。

獲取並有效利用這些數據是極其困難的,因爲從本質上講,這些數據是不存在的。

他們的數據管道從追蹤軟件工程師的開發軌跡開始,收集pull request、commits、來自OSS存儲庫的issue(MIT許可)等數據。

之後在管道中運行這些數據,以取證方式導出推理過程,重建出人類是如何得到最終結論的。

數據集中各種任務類型的佔比

這個專有數據集是第一版模型訓練的基礎,剩下的工作由自我對弈和自我改進完成。

Genie的自主性循環由四個主要過程組成:計劃、檢索、代碼編寫和代碼運行。這些本身並不新穎,但由於 Genie被訓練成像人類一樣執行任務,因此有了更大程度的改進。

「數據標註的影響不容低估,從有能力的軟件工程師那裡獲得高質量的數據非常困難,但結果是值得的,因爲它讓我們深入瞭解了開發人員不易被發現的解決問題的思考方式。」

該數據集不僅體現了完美的信息脈絡和漸進式知識發現,還捕捉到了人類工程師逐步決策的過程。

Pullen斷言,「通過使用這個數據集實際訓練我們的模型,而不是簡單地提示基礎模型(這是其他人正在做的事情),我們發現我們不再只是隨機生成代碼,而是像人類一樣處理問題。」

基準評估結果

模型開發過程中,團隊主要使用了兩個基準進行評估——SWE-Bench 和 HumanEval。

前者涵蓋的問題比較全面,包括分解問題、找到相關代碼、對代碼進行分類並實現可行解決方案;後者更專注於編寫代碼,沒有檢索方面的內容,並且對問題理解的強調較少。

然而,官方博客中僅披露了SWE-Bench分數,Genie取得30.08%的成績,SWE-Lite中爲50.67%的分數。

其中,Genie在SWE-Bench的表現非常亮眼:這是迄今爲止的最高分數,相比第二名的19.27%有超過10%的增幅。

此外,團隊還單獨測試了模型的信息檢索能力,特別是檢索所需代碼文件的正確部分的能力。

這是AI工程師的核心組件之一——如果模型不能可靠且熟練地找到正確的代碼進行編輯,那麼編輯代碼的能力也無法得到充分發揮。

假設模型每次都能找到正確代碼,可以查看模型爲完成任務查找了多少行代碼,以及實際找到的代碼行數,來簡單地衡量檢索能力。

測試中,Genie成功檢索到了142,338行中所需的91,475行代碼,得分爲64.27%。這裡顯然還有很大的改進空間,而且相較於分解問題能力,檢索能力是關注較少的一個方面。

背靠YC,華人牛津碩士帶隊

Cosine是通過硅谷著名的Y Combinator創業加速器成立的。

該公司是一個人類推理實驗室,專注於研究和整理人類執行任務的方式,旨在教會人工智能模仿、擅長並擴展這些任務。

2022年,Alistair Pullen、Sam Stenner和Yang Li聯合創立了Cosine,將其定位爲人類推理實驗室。

他們希望從軟件工程領域開始,研究和整理人類執行任務的方式,從而教會AI模仿、擅長並擴展這些任務,推動智能的發展。

Cosine已從Uphonest和SOMA Capital募集到250萬美元種子資金,Lakestar、Focal等公司也參與了投資。

Cosine擁有一支規模不大但技術精湛的團隊,已經在人工智能領域取得了長足的進步,Genie只是一個開始。

Pullen在公告博文中表示,「我們真心相信,我們能夠爲任何工作和行業重現人類推理。」

「軟件工程只是一個最直觀的起點,我們迫不及待地想向大家展示我們正在研究的其他一切。」

值得一提的是,在創始人團隊中,有一位華人面孔,Yang Li。

Li畢業於牛津大學社會學系,在2021年被評爲福布斯30位30歲以下精英之一。

在創辦Cosine之前,他有過6段工作/創業經歷,其中包括美團摩拜單車業務的商務總監。

可以看到,在2022年以前,Yang Li以一年一跳的頻率不斷在產業界探索新機會。

現在,Yang Li推特的簡介上是這樣描述自己的:經歷了1 次IPO、2次收購和3家獨角獸。

1次IPO指的就是,將摩拜單車月活躍用戶數增長至2.2 億,直至550億美元的IPO。

Genie的未來

Pullen在給VentureBeat的郵件中透露了Genie可能採用的價格模式。早期階段,產品定價將分爲兩個類型:

一是面向個人和小型團隊。與現有人工智能工具相比,價格具有競爭力,大約在20美元左右。這一級別的產品在功能和使用上會有一些限制。

二是面向企業。具有更多的功能,使用幾乎不受限制,並且能夠創建一個完美的人工智能同事、代碼專家。這一級別的價格將更高。

「我們一直在追逐一個夢想,那就是製造出一種能夠真正自動執行端到端編程任務、無需干預且高度可靠的人工同事。Genie正是實現這一夢想的第一步」,Pullen在Cosine的博客文章中寫道。

Genie的推出對軟件開發團隊具有深遠影響,尤其是那些希望提高生產率、減少日常工作時間的團隊。

憑藉自主處理複雜編程挑戰的能力,Genie有可能改變工程資源的分配方式,讓團隊專注於更具戰略性的計劃。

Pullen寫道,「工程資源不再是制約因素的想法,對我來說是一個巨大的驅動力,尤其是在創辦公司之後。」

人工智能同事可以跳入一個未知的代碼庫,在比人類快數倍的時間內解決未知問題,其價值不言而喻,並將對世界產生巨大影響。

Cosine爲Genie的未來發展制定了雄心勃勃的計劃。

「我們正在加速推進,通過Genie革新技術團隊。我們的主要目標是平衡實際產品與前沿研究。」

- 完善數據集以增強Genie的能力。通過拓寬數據並引入新功能,Genie將精通更多編程語言和最新框架,精準地滿足開發者的工作需求。

- 擴展其模型組合。包括用於簡單任務的小型模型和能夠處理更復雜挑戰的大型模型。利用獨特的數據集,將使Cosine能夠將任何最先進的基礎模型轉換爲Genie模型。

- 將工作擴展到開源社區。比如,對一個領先的開源模型進行上下文擴展,並使用龐大的數據集進行預訓練。

- 使用特定代碼庫微調Genie。這是一項企業功能,能夠使Genie對大型、遺留代碼庫有完美的理解,即使這些代碼是用不太流行或專有的語言編寫的。

Pullen表示,隨着公司不斷完善Genie,將不斷向客戶發佈更新,優化與這個人工同事的互動並收集有價值的反饋。

Li在推特中暢想,Cosine旨在將人類的推理能力編碼化,未來不再有過採樣,也不再有copilot。

參考資料:

https://venturebeat.com/programming-development/move-over-devin-cosines-genie-takes-the-ai-coding-crown/

https://cosine.sh/blog/genie-technical-report

https://cosine.sh/blog/state-of-the-art