對(duì)話螞蟻李建國(guó):當(dāng)前AI寫(xiě)代碼相當(dāng)于L2.5,實(shí)現(xiàn)L3后替代50%人類編程
螞蟻集團(tuán)代碼大模型CodeFuse負(fù)責(zé)人李建國(guó)說(shuō)道。
當(dāng)下,AI代碼生成領(lǐng)域正在野蠻式生長(zhǎng),巨頭涌入,AI員工頻頻上線企業(yè);首個(gè)AI程序員Devin被曝造假…… 面對(duì)風(fēng)起云涌的代碼生成變革,李建國(guó)給出了這樣一個(gè)明確論斷。
李建國(guó)是誰(shuí)?
清華大學(xué)博士,機(jī)器學(xué)習(xí)、深度學(xué)習(xí)深耕十余年,論文被引萬(wàn)余次。在他的帶領(lǐng)下,螞蟻內(nèi)部正全面推行AI編程。每周已有超五成程序員使用CodeFuse,目前CodeFuse生成代碼整體采納率為30%,已經(jīng)屬于整個(gè)AI編程工具中能力第一梯隊(duì),最強(qiáng)Copilot代碼整體采納率差不多在35%。
而在開(kāi)源這邊,在各社區(qū)網(wǎng)站上CodeFuse下載量已經(jīng)達(dá)到170萬(wàn)左右。
因此不管是學(xué)術(shù)的權(quán)威性,還是產(chǎn)業(yè)落地的代表性,李建國(guó)博士極具話語(yǔ)權(quán)。于是在代碼生成模型和產(chǎn)品爆發(fā)式發(fā)展的當(dāng)下,量子位同李建國(guó)博士展開(kāi)了進(jìn)一步交流。
核心觀點(diǎn)如下:
- 編寫(xiě)代碼在整個(gè)企業(yè)研發(fā)過(guò)程中所占的比重可能連1/5,甚至1/10都不到;
- 要實(shí)現(xiàn)項(xiàng)目級(jí)的需求實(shí)現(xiàn),從原子級(jí)需求端到端漸進(jìn)發(fā)展的模式是切實(shí)可行的;
- AI程序員成為企業(yè)運(yùn)營(yíng)中的新常態(tài)已經(jīng)是勢(shì)不可擋的趨勢(shì);
- 超70%代碼問(wèn)題,單純靠基座大模型是解決不了的;
- 目前自然語(yǔ)言編程處于L2.5階段,按照萬(wàn)物摩爾定律的發(fā)展趨勢(shì),未來(lái)3-4年達(dá)到L3,甚至接近L4的水平是有可能的。
- 相較于前、后端的軟件工程師,AI全棧工程師需求更大。
- 當(dāng)前代碼生成變革所面對(duì)的挑戰(zhàn)包括:端到端代碼生成能力、Agent推理能力、復(fù)雜需求拆解、跨模態(tài)橫向交互、安全可信可靠。
編寫(xiě)代碼只占整個(gè)研發(fā)生命周期1/5不到
首先,程序員這個(gè)行業(yè)歷史并不算長(zhǎng),從20世紀(jì)50年代至今,大約有七八十年的歷史。隨著技術(shù)的進(jìn)步,編程工具不斷更新迭代(打孔- VI編輯器-集成開(kāi)發(fā)環(huán)境-輔助編程工具),程序員的工作效率得到了顯著提升。
來(lái)到大模型時(shí)代,相關(guān)模型和產(chǎn)品演化迭代十分迅速,可以說(shuō)十分的“卷”。
對(duì)個(gè)人開(kāi)發(fā)者而言,AI編程工具只需完成從需求到代碼實(shí)現(xiàn)的閉環(huán)過(guò)程就夠了,就像Copilot這樣的工具。他們更傾向于關(guān)注如何高效地實(shí)現(xiàn)需求。
但從企業(yè)維度則更關(guān)注整個(gè)研發(fā)流程的效率提升,除了關(guān)注代碼生成的安全可靠可信,測(cè)試構(gòu)建、發(fā)布運(yùn)維以及數(shù)據(jù)洞察等方面也是至關(guān)重要的。
我們期望能夠有一個(gè)研發(fā)智能體,甚至是一個(gè)智能總線(bus),它能夠與各個(gè)Agent進(jìn)行交互,并將任務(wù)分發(fā)下去——從架構(gòu)設(shè)計(jì)到前端實(shí)現(xiàn),再到后端開(kāi)發(fā),以及安全測(cè)試和功能測(cè)試,最后是效能方面的持續(xù)集成/持續(xù)部署(CICD)和運(yùn)維自動(dòng)化。
△測(cè)試-自然語(yǔ)言生成終端用例
整個(gè)系統(tǒng)上線后,還能夠自動(dòng)進(jìn)行運(yùn)維布控,并分析產(chǎn)品的用戶訪問(wèn)量(UV)、頁(yè)面瀏覽量(PV)等數(shù)據(jù)。
△運(yùn)維-監(jiān)控解讀
編寫(xiě)代碼在整個(gè)過(guò)程中所占的比重可能連五分之一或十分之一都不到。但如果這樣的Agent能將所有環(huán)節(jié)高效連接起來(lái),從而真正提升整個(gè)流程的效率。
再加上當(dāng)前程序員實(shí)際所面臨的痛點(diǎn)在于,市面上一些產(chǎn)品大多是原子級(jí)能力的實(shí)現(xiàn)——通過(guò)單體大模型只能解決30%的代碼補(bǔ)全,無(wú)法解決更多的代碼問(wèn)題,比如跨庫(kù)的函數(shù)調(diào)用。
基于這樣的行業(yè)思考,去年9月份開(kāi)始,我們開(kāi)源了CodeFuse,并明確提出要構(gòu)建全生命周期的代碼大模型。
目前,我們已經(jīng)發(fā)布基礎(chǔ)模型,并持續(xù)開(kāi)發(fā)和開(kāi)源相關(guān)的倉(cāng)庫(kù),涵蓋了從需求設(shè)計(jì)、編程開(kāi)發(fā)、測(cè)試構(gòu)建、發(fā)布運(yùn)維、到數(shù)據(jù)洞察分析等多個(gè)方面,在modelscope和huggingface上模型下載量已經(jīng)達(dá)到170萬(wàn)左右。
下一步,我們計(jì)劃進(jìn)行項(xiàng)目級(jí)的需求實(shí)現(xiàn),這相當(dāng)于去實(shí)現(xiàn)一個(gè)全新的系統(tǒng)。這對(duì)基礎(chǔ)模型提出更高的要求——
自然語(yǔ)言理解的能力至少達(dá)到GPT-4或GPT-4.5的水平。但從目前的情況來(lái)看,我們更傾向于采取一種漸進(jìn)的模式。
我們首個(gè)MileStone是解決倉(cāng)庫(kù)內(nèi)及跨倉(cāng)庫(kù)的需求實(shí)現(xiàn)問(wèn)題,包括API調(diào)用、服務(wù)調(diào)用,以及涉及到的外部中間件版本更新問(wèn)題。
如果我們能夠妥善處理這些問(wèn)題,就能解決剛才提到的70%問(wèn)題中很大一部分(比如20%的問(wèn)題),這將顯著提高代碼采納率,并讓用戶感到滿意。
最終要實(shí)現(xiàn)項(xiàng)目級(jí)別的需求任重而道遠(yuǎn)。我認(rèn)為,代碼基礎(chǔ)模型和Agent技術(shù)需要同步快速發(fā)展,才能達(dá)到我們的目標(biāo)。
我們的思路相對(duì)保守,因?yàn)榫突A(chǔ)模型的要求而言,我認(rèn)為短期內(nèi)國(guó)內(nèi)要達(dá)到GPT水平還存在一定差距。
大模型對(duì)軟件開(kāi)發(fā)的范式改變
AI程序員成為企業(yè)運(yùn)營(yíng)中的新常態(tài)已經(jīng)成為勢(shì)不可擋的趨勢(shì)。不管是像Devin這種AI程序員,還是我們提到的全生命周期研發(fā)智能體,大模型對(duì)整個(gè)軟件研發(fā)范式都是非常大的提效。
過(guò)去遇到不懂的問(wèn)題,人們可能首先會(huì)去Google或百度上搜索,而現(xiàn)在,他們可以直接在代碼中提問(wèn),隨即獲得一個(gè)相對(duì)精確的結(jié)果,采納后即可使用。
我認(rèn)為這是一個(gè)巨大的效率提升,它代表著進(jìn)步。人們可以將更多的精力釋放出來(lái),投入到更具創(chuàng)造性的工作中去。
前段時(shí)間,CodeFuse發(fā)布了圖生代碼的功能,它可以通過(guò)在界面上簡(jiǎn)單畫(huà)一個(gè)框,就能自動(dòng)生成相應(yīng)的代碼。
以往可能需要編寫(xiě)數(shù)百行代碼的工作,現(xiàn)在只需一次點(diǎn)擊和畫(huà)框操作就能實(shí)現(xiàn)。
而要從產(chǎn)品設(shè)計(jì)的角度來(lái)看,我認(rèn)為實(shí)現(xiàn)無(wú)縫接入和無(wú)感體驗(yàn)是至關(guān)重要的。
這意味著產(chǎn)品應(yīng)能平滑地融入現(xiàn)有的工作模式中,用戶在使用過(guò)程中幾乎不會(huì)意識(shí)到它的存在,從而極大地提升用戶體驗(yàn),并推動(dòng)整個(gè)研發(fā)流程的創(chuàng)新和進(jìn)步。
例如,我們內(nèi)部每周有超過(guò)一萬(wàn)人的智能代碼生成活躍用戶,很多人都沒(méi)意識(shí)到自己在使用CodeFuse,在日常使用IDE插件、瀏覽器的過(guò)程中,用戶已經(jīng)不知不覺(jué)地使用了我們的產(chǎn)品。
我們的目標(biāo)是服務(wù)于整個(gè)研發(fā)的全生命周期。如果能夠?qū)崿F(xiàn)這一點(diǎn),那將是一個(gè)革命性的成功。
現(xiàn)在AI寫(xiě)代碼相當(dāng)于L2.5
目前整個(gè)代碼生成領(lǐng)域,可能處于一個(gè)類似于自動(dòng)駕駛技術(shù)中的L2.5級(jí)別,許多公司都處于這一水平。
比如自動(dòng)駕駛L2.5級(jí)別的功能,如車道線輔助、前方碰撞檢測(cè)等,這些都是作為整體存在的一部分。在大模型領(lǐng)域,也看到了類似的補(bǔ)充功能,包括解釋、注釋、簡(jiǎn)化優(yōu)化和單元測(cè)試等。
我們接下來(lái)的目標(biāo)是在某些特定場(chǎng)景下實(shí)現(xiàn)L3級(jí)別的完全自動(dòng)化,這是有可能實(shí)現(xiàn)的。例如,在效能領(lǐng)域中的持續(xù)集成(CICD)場(chǎng)景,就有可能通過(guò)大模型的驅(qū)動(dòng)來(lái)自動(dòng)完成,包括觸發(fā)檢查、提交,甚至創(chuàng)建拉取請(qǐng)求(PR)等操作。
然而,要實(shí)現(xiàn)全場(chǎng)景、全鏈路的自動(dòng)化,前端可能還需要一段時(shí)間才能發(fā)展起來(lái),復(fù)雜的項(xiàng)目級(jí)的需求拆解特別是特定領(lǐng)域的拆解,也面臨較大挑戰(zhàn)。我認(rèn)為可能還需要3-5年的時(shí)間,在萬(wàn)物摩爾定律的推動(dòng)下,整個(gè)社區(qū),包括我們自己的不斷努力和發(fā)展。
到那時(shí)候,我們可以期待從當(dāng)前的狀態(tài)發(fā)展到一個(gè)新的階段——
例如,從Copilot到co-worker,現(xiàn)在可能有20%到30%的編程工作可以被替代,未來(lái)這個(gè)比例可能會(huì)提高到50%,甚至有些環(huán)節(jié)可以完全被自動(dòng)化取代,釋放人去做更有創(chuàng)意的工作。
甚至成為一個(gè)full agent。雖然可能無(wú)法完全替代人類,但在未來(lái)3-5年內(nèi),達(dá)到L3甚至接近L4的水平是有可能的。
正如自動(dòng)駕駛技術(shù)一樣,雖然已經(jīng)提出很多年,許多人聲稱已經(jīng)達(dá)到L4級(jí)別,但實(shí)際上許多場(chǎng)景仍然處于L2.5到L3級(jí)別。要實(shí)現(xiàn)全場(chǎng)景的自動(dòng)化,人類仍然需要在其中扮演一個(gè)重要的角色。
這樣一來(lái),軟件工程人員的定位其實(shí)也在發(fā)生變化。以前大家可能專注于前端或后端的開(kāi)發(fā)工作。而現(xiàn)在,AI全棧工程師的需求更大。
過(guò)去所謂的全棧工程師意味著前端、后端和數(shù)據(jù)都懂,但現(xiàn)在可能還需要理解算法。隨著大模型發(fā)展,前端和后端的工作可能會(huì)逐漸由大模型輔助,即作為協(xié)作者(Co-worker)來(lái)分擔(dān)部分功能,從而釋放出開(kāi)發(fā)者的時(shí)間。這樣開(kāi)發(fā)者就可以將更多時(shí)間投入到提升新的技能上,比如對(duì)產(chǎn)品的深入理解,對(duì)用戶體驗(yàn)的關(guān)注,對(duì)算法創(chuàng)新等。
基于對(duì)整個(gè)領(lǐng)域進(jìn)行了深入的探索,我發(fā)現(xiàn)要進(jìn)一步去實(shí)現(xiàn)還有不少挑戰(zhàn),主要有五個(gè)方面:
- 端到端代碼生成能力
基礎(chǔ)模型層面,目前主要是實(shí)現(xiàn)代碼補(bǔ)全的功能,但在實(shí)際應(yīng)用中只有大約30%問(wèn)題可以通過(guò)這種方式解決,剩余的70%則需要端到端代碼生成能力,需要跨文件、跨代碼庫(kù),甚至跨代碼庫(kù)和文檔庫(kù)的理解和交互。
所謂的端到端,對(duì)于一個(gè)代碼庫(kù)而言,一個(gè)典型的例子,我們需要能夠直接調(diào)用庫(kù)中的API,修復(fù)問(wèn)題(issue),甚至能夠復(fù)用跨庫(kù)的中間件能力。
然而,僅憑基礎(chǔ)模型是無(wú)法實(shí)現(xiàn)這些的,我們還需要探索更多的能力。
- Agent推理能力
盡管最近Devin 被曝出演示視頻存在造假,備受關(guān)注,但我認(rèn)為它還是代表了一種趨勢(shì)、一種技術(shù)流派——
如何將定制工具調(diào)用與大型模型相結(jié)合,實(shí)現(xiàn)整個(gè)工作流程的自動(dòng)化。這個(gè)問(wèn)題,尤其是擴(kuò)展到全生命周期,實(shí)際上相當(dāng)困難,尤其是面向云后端的研發(fā)環(huán)境,工具種類繁多。
比如面向前端應(yīng)用可能只有天氣預(yù)報(bào)、查詢火車票、預(yù)定酒店等十幾個(gè)工具,但在云后端,則可能會(huì)有數(shù)百個(gè)甚至上千個(gè)工具,每個(gè)工具都包含數(shù)十個(gè)參數(shù)。
除此之外,還有需求拆解、跨模態(tài)橫向交互、安全可信可靠的挑戰(zhàn)。
尤其代碼的安全可信可靠,像螞蟻這樣的企業(yè)級(jí)用戶,需要應(yīng)對(duì)面向金融級(jí)別的高可用性和安全性的要求,也充滿了挑戰(zhàn)。
不過(guò)也正因?yàn)樵诮鹑诩?jí)垂直場(chǎng)景的深耕,包括資源配置和歷史經(jīng)驗(yàn)積累,螞蟻也構(gòu)成了屬于自己的場(chǎng)景優(yōu)勢(shì)。
首先,我們擁有涵蓋整個(gè)生命周期各個(gè)環(huán)節(jié)全方位的團(tuán)隊(duì),尤其在雙十一等大型促銷活動(dòng)期間的高可用性方面經(jīng)驗(yàn)豐富,這有助于推進(jìn)全生命周期的代碼大模型,這是我們與外部的主要區(qū)別之一。
其次,我們?cè)谔囟I(lǐng)域,如金融領(lǐng)域,以及前端領(lǐng)域,都有一定經(jīng)驗(yàn)積累,尤其是在支付系統(tǒng)等對(duì)安全性要求極高的場(chǎng)景中。這些積累使我們?cè)诎踩?、可靠性和可信度方面具有差異化?yōu)勢(shì)。
雖然挑戰(zhàn)不少、道阻且長(zhǎng),但我認(rèn)為,螞蟻將攜手開(kāi)源社區(qū)一起努力,在萬(wàn)物摩爾定律的牽引下,未來(lái)兩三年可以一定程度解決好這個(gè)問(wèn)題。
One More Thing
最后,面對(duì)當(dāng)下大模型發(fā)展,李建國(guó)博士忍不住感嘆:
我以前做深度學(xué)習(xí),那時(shí)候非常卷,可能2019年之前,我發(fā)現(xiàn)這個(gè)領(lǐng)域已經(jīng)卷不動(dòng)了,跳出來(lái)做NLP,發(fā)現(xiàn)這個(gè)領(lǐng)域也還是更加的卷。
但不得不承認(rèn),大模型再次點(diǎn)燃了NLP、視覺(jué)處理、代碼生成等各個(gè)領(lǐng)域的熱度,煥發(fā)新的活力。
對(duì)于接下來(lái)的發(fā)展,李建國(guó)點(diǎn)名最看好具身智能的發(fā)展,這將是未來(lái)5到10年的研究熱點(diǎn)。
它將成為數(shù)字世界與物理世界之間的橋梁,能夠感知并執(zhí)行操作。這可能會(huì)帶來(lái)類似Matrix(黑客帝國(guó))這樣的場(chǎng)景的巨大進(jìn)步,甚至可能像電影《終結(jié)者》中展示的那樣,成為真正的巨大飛躍。