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