再見,Devin!基于GPT-4o,最強(qiáng)「AI工程師」Genie誕生
不知道你還是否記得首個(gè)「AI程序員」Devin,由10枚IOI金牌在手的創(chuàng)業(yè)團(tuán)隊(duì)Cognition AI開發(fā),今年3月上線。
它由GPT-4提供后端支持,能以文本形式接收自然語言指令,并自主編寫代碼。
剛剛上線時(shí),雖然效果沒法達(dá)到取代程序員,但依舊給人留下了深刻印象。
如今,5個(gè)月過去,「狂飆」的GenAI領(lǐng)域已然大不相同。不僅GPT-4迎來了下一代模型GPT-4o,新發(fā)布的Claude 3.5 Sonnet、Codestral等模型都在編碼方面性能優(yōu)秀。
Devin的直接挑戰(zhàn)者,是初創(chuàng)公司Cosine開發(fā)的自主AI工程師Genie。
Cosine發(fā)布的報(bào)告顯示,在SWE-Bench中,Genie的得分為30.08%,輕松超越了分?jǐn)?shù)為13.8%的Devin。
Cosine聯(lián)合創(chuàng)始人兼CEO Alistair Pullen表示:「(Genie)模型的能力不是一個(gè)基準(zhǔn)測試分?jǐn)?shù)能概括的:它從一開始就被訓(xùn)練成像人類軟件工程師(SWE)一樣思考和行動(dòng)?!?/span>
我很高興與大家分享,我們打造出了世界上最強(qiáng)的AI軟件工程師,在SWE-Bench上取得了30.08%的成績,領(lǐng)先于亞馬遜和Cognition。
由于CEO聲稱Genie可以像人類軟件工程師一樣思考和行動(dòng),網(wǎng)友調(diào)侃道,「你的意思是它不能和女人說話,如果你打電話給它,它就會(huì)出汗?」
Genie是什么?它能做什么?
和Devin類似,Genie也可以在人類工程師的指導(dǎo)下自主完成各種編碼任務(wù),包括bug修復(fù)、功能構(gòu)建、代碼重構(gòu),以及通過全面測試進(jìn)行代碼驗(yàn)證。
除了自主運(yùn)行,Genie也可以與用戶協(xié)作。
目前Genie還處在內(nèi)測階段,可以在官網(wǎng)注冊信息后申請?jiān)囉谩?/span>
博客地址:https://cosine.sh/blog/state-of-the-art
Cosine聲稱Genie可以模擬人類工程師的認(rèn)知過程。
Pullen在博文中解釋說,「我的構(gòu)想很簡單:讓它觀察人類工程師如何完成工作,并模仿這一過程?!?/span>
Genie生成的代碼存儲(chǔ)在用戶的GitHub repo中,這意味著Cosine不會(huì)保留副本,也不會(huì)有任何隨之而來的安全風(fēng)險(xiǎn)。
此外,Cosine的軟件平臺(tái)已經(jīng)與Slack和系統(tǒng)通知集成,它可以像人類同事那樣,利用系統(tǒng)通知來提醒用戶、提出問題或標(biāo)記問題。
「Genie還可以向用戶提出澄清性問題,并對其生成的Pull Request(拉取請求)的評論/意見做出回應(yīng)」。
Pullen表示,「我們正試圖讓Genie表現(xiàn)得像同事一樣,因此讓該模型使用同事的渠道是最合理的?!?/span>
與OpenAI合作,用上最新GPT-4o
與許多依賴基礎(chǔ)模型并輔以少量工具的模型不同,Genie是通過一個(gè)專有流程開發(fā)出來的,其中包括訓(xùn)練和微調(diào)來自O(shè)penAI的模型。
Genie剛開始研發(fā)時(shí),只能基于上下文窗口相對較小的模型進(jìn)行微調(diào),其范圍在16-32k token。
團(tuán)隊(duì)在早期探索中發(fā)現(xiàn),即使用超過1 億token的大型數(shù)據(jù)集,加上設(shè)計(jì)架構(gòu)的優(yōu)點(diǎn)和各種壓縮/分塊方法,也依舊受限于模型在特定時(shí)刻能表達(dá)的信息容量。唯一的方法是使用上下文窗口更大的模型。
幸運(yùn)的是,不久之后他們就獲得了OpenAI長上下文模型的訪問權(quán)限,這成為了Genie能力的突破口。
Pullen向VentureBeat透露,「Genie(目前)是一個(gè)非通用的GPT-4o變體,OpenAI允許我們訪問并使用他們的模型進(jìn)行訓(xùn)練,作為實(shí)驗(yàn)計(jì)劃的一部分。」
「該模型表現(xiàn)良好,我們也因此與OpenAI的微調(diào)團(tuán)隊(duì)和工程領(lǐng)導(dǎo)層分享了我們的心得。這對我們來說是一個(gè)真正的轉(zhuǎn)折點(diǎn),因?yàn)樗f服了他們?yōu)槲覀兊男录夹g(shù)投入資源和關(guān)注?!?/span>
雖然Cosine沒有說明具體型號,但OpenAI最近剛剛宣布了GPT-4o長輸出上下文模型的有限可用性,輸出長度可達(dá)64k token,相比最初的4k足足增加了16倍。
訓(xùn)練數(shù)據(jù)是關(guān)鍵
Pullen在技術(shù)報(bào)告中寫道,在最近的訓(xùn)練運(yùn)行中,Genie接受了數(shù)十億token數(shù)據(jù)的訓(xùn)練,選擇這些數(shù)據(jù)的組合是為了讓模型盡可能勝任當(dāng)前用戶最關(guān)心的語言。
Genie的技術(shù)報(bào)告中列出了訓(xùn)練數(shù)據(jù)包含的15種語言,Java、JS、C、C++、C#、Rust、Python等熱門語言,以及常用的Scala、Kotlin、Swift、PHP等也都全部涵蓋。
其中,JavaScript、Python、TypeScript和TSX是數(shù)據(jù)集中占比最多的語言,其余的占比均為3%。
Cosine的博文表示,團(tuán)隊(duì)花了近一年的時(shí)間整理數(shù)據(jù)集,包括來自真實(shí)工程師的大量軟件開發(fā)活動(dòng)。
獲取并有效利用這些數(shù)據(jù)是極其困難的,因?yàn)閺谋举|(zhì)上講,這些數(shù)據(jù)是不存在的。
他們的數(shù)據(jù)管道從追蹤軟件工程師的開發(fā)軌跡開始,收集pull request、commits、來自O(shè)SS存儲(chǔ)庫的issue(MIT許可)等數(shù)據(jù)。
之后在管道中運(yùn)行這些數(shù)據(jù),以取證方式導(dǎo)出推理過程,重建出人類是如何得到最終結(jié)論的。
數(shù)據(jù)集中各種任務(wù)類型的占比
這個(gè)專有數(shù)據(jù)集是第一版模型訓(xùn)練的基礎(chǔ),剩下的工作由自我對弈和自我改進(jìn)完成。
Genie的自主性循環(huán)由四個(gè)主要過程組成:計(jì)劃、檢索、代碼編寫和代碼運(yùn)行。這些本身并不新穎,但由于 Genie被訓(xùn)練成像人類一樣執(zhí)行任務(wù),因此有了更大程度的改進(jìn)。
「數(shù)據(jù)標(biāo)注的影響不容低估,從有能力的軟件工程師那里獲得高質(zhì)量的數(shù)據(jù)非常困難,但結(jié)果是值得的,因?yàn)樗屛覀兩钊肓私饬碎_發(fā)人員不易被發(fā)現(xiàn)的解決問題的思考方式?!?/span>
該數(shù)據(jù)集不僅體現(xiàn)了完美的信息脈絡(luò)和漸進(jìn)式知識發(fā)現(xiàn),還捕捉到了人類工程師逐步?jīng)Q策的過程。
Pullen斷言,「通過使用這個(gè)數(shù)據(jù)集實(shí)際訓(xùn)練我們的模型,而不是簡單地提示基礎(chǔ)模型(這是其他人正在做的事情),我們發(fā)現(xiàn)我們不再只是隨機(jī)生成代碼,而是像人類一樣處理問題?!?/span>
基準(zhǔn)評估結(jié)果
模型開發(fā)過程中,團(tuán)隊(duì)主要使用了兩個(gè)基準(zhǔn)進(jìn)行評估——SWE-Bench 和 HumanEval。
前者涵蓋的問題比較全面,包括分解問題、找到相關(guān)代碼、對代碼進(jìn)行分類并實(shí)現(xiàn)可行解決方案;后者更專注于編寫代碼,沒有檢索方面的內(nèi)容,并且對問題理解的強(qiáng)調(diào)較少。
然而,官方博客中僅披露了SWE-Bench分?jǐn)?shù),Genie取得30.08%的成績,SWE-Lite中為50.67%的分?jǐn)?shù)。
其中,Genie在SWE-Bench的表現(xiàn)非常亮眼:這是迄今為止的最高分?jǐn)?shù),相比第二名的19.27%有超過10%的增幅。
此外,團(tuán)隊(duì)還單獨(dú)測試了模型的信息檢索能力,特別是檢索所需代碼文件的正確部分的能力。
這是AI工程師的核心組件之一——如果模型不能可靠且熟練地找到正確的代碼進(jìn)行編輯,那么編輯代碼的能力也無法得到充分發(fā)揮。
假設(shè)模型每次都能找到正確代碼,可以查看模型為完成任務(wù)查找了多少行代碼,以及實(shí)際找到的代碼行數(shù),來簡單地衡量檢索能力。
測試中,Genie成功檢索到了142,338行中所需的91,475行代碼,得分為64.27%。這里顯然還有很大的改進(jìn)空間,而且相較于分解問題能力,檢索能力是關(guān)注較少的一個(gè)方面。
背靠YC,華人牛津碩士帶隊(duì)
Cosine是通過硅谷著名的Y Combinator創(chuàng)業(yè)加速器成立的。
該公司是一個(gè)人類推理實(shí)驗(yàn)室,專注于研究和整理人類執(zhí)行任務(wù)的方式,旨在教會(huì)人工智能模仿、擅長并擴(kuò)展這些任務(wù)。
2022年,Alistair Pullen、Sam Stenner和Yang Li聯(lián)合創(chuàng)立了Cosine,將其定位為人類推理實(shí)驗(yàn)室。
他們希望從軟件工程領(lǐng)域開始,研究和整理人類執(zhí)行任務(wù)的方式,從而教會(huì)AI模仿、擅長并擴(kuò)展這些任務(wù),推動(dòng)智能的發(fā)展。
Cosine已從Uphonest和SOMA Capital募集到250萬美元種子資金,Lakestar、Focal等公司也參與了投資。
Cosine擁有一支規(guī)模不大但技術(shù)精湛的團(tuán)隊(duì),已經(jīng)在人工智能領(lǐng)域取得了長足的進(jìn)步,Genie只是一個(gè)開始。
Pullen在公告博文中表示,「我們真心相信,我們能夠?yàn)槿魏喂ぷ骱托袠I(yè)重現(xiàn)人類推理?!?/span>
「軟件工程只是一個(gè)最直觀的起點(diǎn),我們迫不及待地想向大家展示我們正在研究的其他一切。」
值得一提的是,在創(chuàng)始人團(tuán)隊(duì)中,有一位華人面孔,Yang Li。
Li畢業(yè)于牛津大學(xué)社會(huì)學(xué)系,在2021年被評為福布斯30位30歲以下精英之一。
在創(chuàng)辦Cosine之前,他有過6段工作/創(chuàng)業(yè)經(jīng)歷,其中包括美團(tuán)摩拜單車業(yè)務(wù)的商務(wù)總監(jiān)。
可以看到,在2022年以前,Yang Li以一年一跳的頻率不斷在產(chǎn)業(yè)界探索新機(jī)會(huì)。
現(xiàn)在,Yang Li推特的簡介上是這樣描述自己的:經(jīng)歷了1 次IPO、2次收購和3家獨(dú)角獸。
1次IPO指的就是,將摩拜單車月活躍用戶數(shù)增長至2.2 億,直至550億美元的IPO。
Genie的未來
Pullen在給VentureBeat的郵件中透露了Genie可能采用的價(jià)格模式。早期階段,產(chǎn)品定價(jià)將分為兩個(gè)類型:
一是面向個(gè)人和小型團(tuán)隊(duì)。與現(xiàn)有人工智能工具相比,價(jià)格具有競爭力,大約在20美元左右。這一級別的產(chǎn)品在功能和使用上會(huì)有一些限制。
二是面向企業(yè)。具有更多的功能,使用幾乎不受限制,并且能夠創(chuàng)建一個(gè)完美的人工智能同事、代碼專家。這一級別的價(jià)格將更高。
「我們一直在追逐一個(gè)夢想,那就是制造出一種能夠真正自動(dòng)執(zhí)行端到端編程任務(wù)、無需干預(yù)且高度可靠的人工同事。Genie正是實(shí)現(xiàn)這一夢想的第一步」,Pullen在Cosine的博客文章中寫道。
Genie的推出對軟件開發(fā)團(tuán)隊(duì)具有深遠(yuǎn)影響,尤其是那些希望提高生產(chǎn)率、減少日常工作時(shí)間的團(tuán)隊(duì)。
憑借自主處理復(fù)雜編程挑戰(zhàn)的能力,Genie有可能改變工程資源的分配方式,讓團(tuán)隊(duì)專注于更具戰(zhàn)略性的計(jì)劃。
Pullen寫道,「工程資源不再是制約因素的想法,對我來說是一個(gè)巨大的驅(qū)動(dòng)力,尤其是在創(chuàng)辦公司之后?!?/span>
人工智能同事可以跳入一個(gè)未知的代碼庫,在比人類快數(shù)倍的時(shí)間內(nèi)解決未知問題,其價(jià)值不言而喻,并將對世界產(chǎn)生巨大影響。
Cosine為Genie的未來發(fā)展制定了雄心勃勃的計(jì)劃。
「我們正在加速推進(jìn),通過Genie革新技術(shù)團(tuán)隊(duì)。我們的主要目標(biāo)是平衡實(shí)際產(chǎn)品與前沿研究。」
- 完善數(shù)據(jù)集以增強(qiáng)Genie的能力。通過拓寬數(shù)據(jù)并引入新功能,Genie將精通更多編程語言和最新框架,精準(zhǔn)地滿足開發(fā)者的工作需求。
- 擴(kuò)展其模型組合。包括用于簡單任務(wù)的小型模型和能夠處理更復(fù)雜挑戰(zhàn)的大型模型。利用獨(dú)特的數(shù)據(jù)集,將使Cosine能夠?qū)⑷魏巫钕冗M(jìn)的基礎(chǔ)模型轉(zhuǎn)換為Genie模型。
- 將工作擴(kuò)展到開源社區(qū)。比如,對一個(gè)領(lǐng)先的開源模型進(jìn)行上下文擴(kuò)展,并使用龐大的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練。
- 使用特定代碼庫微調(diào)Genie。這是一項(xiàng)企業(yè)功能,能夠使Genie對大型、遺留代碼庫有完美的理解,即使這些代碼是用不太流行或?qū)S械恼Z言編寫的。
Pullen表示,隨著公司不斷完善Genie,將不斷向客戶發(fā)布更新,優(yōu)化與這個(gè)人工同事的互動(dòng)并收集有價(jià)值的反饋。
Li在推特中暢想,Cosine旨在將人類的推理能力編碼化,未來不再有過采樣,也不再有copilot。