AI 時(shí)代,許多開(kāi)發(fā)者都已經(jīng)上手了各式 AI 編程工具,至于評(píng)價(jià)則千差萬(wàn)別。但整體而言,AI 編程的代碼正越來(lái)越多出現(xiàn)在當(dāng)下的各種技術(shù)棧中,其口碑也在逐漸攀升。隨著 GPT4 的出現(xiàn),AI 編程正在邁入新的臺(tái)階,而軟件工程 3.0 時(shí)代也正在進(jìn)行中。
為了更好地了解當(dāng)下 AI 編程能力的發(fā)展,我們邀請(qǐng)到同濟(jì)大學(xué)特聘教授,“軟件工程 3.0” 定義者朱少民,請(qǐng)談?wù)勊?AI 編程的過(guò)去與未來(lái)。

朱少民
同濟(jì)大學(xué)特聘教授,“軟件工程 3.0” 定義者
CCF 軟件質(zhì)量工程 SIG 主席,擁有個(gè)人公眾號(hào)《軟件質(zhì)量報(bào)道》。近三十年來(lái)一直從事軟件測(cè)試、質(zhì)量管理等工作,先后獲得多項(xiàng)省、部級(jí)科技進(jìn)步獎(jiǎng),已出版了二十多部著作和 4 本譯作,并經(jīng)常在國(guó)內(nèi)外學(xué)術(shù)會(huì)議或技術(shù)大會(huì)上發(fā)表演講,曾任思科(中國(guó))軟件有限公司 QA 高級(jí)總監(jiān)、IEEE ICST 2019 工業(yè)論壇主席、多個(gè) IEEE 學(xué)術(shù)會(huì)議的程序委員、《軟件學(xué)報(bào)》審稿人等。
5 月 28 日,朱少民將擔(dān)任 GOTC 2023 “AI 編程” 分論壇講師,并發(fā)表《軟件工程 3.0 之下 軟件開(kāi)發(fā)新范式》主題演講,敬請(qǐng)期待!
參會(huì)報(bào)名,請(qǐng)?jiān)L問(wèn): https://www.bagevent.com/event/8387611
OSCHINA:AI 編程這個(gè)概念是什么時(shí)候開(kāi)始興起的?現(xiàn)在處于什么樣的發(fā)展階段?
上世紀(jì) 70 年代左右就有了計(jì)算機(jī)輔助編程,但和今天的 AI 編程還是有區(qū)別的。輔助編程是想通過(guò)一些規(guī)則或者是專(zhuān)家系統(tǒng)來(lái)完成編程,基于規(guī)則引擎來(lái)做推理,相當(dāng)于模擬人的思維,知名工具軟件 MATLAB 可以看做是輔助編程的成果。但是效果不夠好,所以后面也就停了一段時(shí)間。
這波星空人工智能的熱潮可以看作是 AI 第三次浪潮的延續(xù),而第一次和第二次的浪潮,實(shí)際上沒(méi)有達(dá)到我們預(yù)期的效果。
今天我們講 AI 編程,更多的是最近幾年,基于深度學(xué)習(xí)、機(jī)器學(xué)習(xí),基于深度神經(jīng)網(wǎng)絡(luò)和強(qiáng)化學(xué)習(xí)這些新技術(shù)來(lái)完成代碼的編寫(xiě)。
那么現(xiàn)在所處的階段,不能說(shuō)是成熟階段,但可以認(rèn)為是接近成熟的階段。比如 Copilot X,華為的盤(pán)古模型也能生成函數(shù)級(jí)的代碼了。這些技術(shù)已經(jīng)可以在工程實(shí)踐中應(yīng)用了。
OSCHINA:現(xiàn)在市面上有很多宣稱(chēng)能寫(xiě)代碼的 AI 工具,開(kāi)發(fā)者要怎么區(qū)分與選擇?
一方面要看你使用的編程語(yǔ)言。目前如果用的是 C 語(yǔ)言,AI 方面的能力就弱一些。如果是 Java 或者 Paython、Go 語(yǔ)言,那開(kāi)源的代碼數(shù)據(jù)比較多,效果就會(huì)比較好。如果用到特殊的語(yǔ)言,也許會(huì)更困難。
另一方面就是要看功能,比如可不可以做代碼補(bǔ)全、代碼評(píng)審。還有代碼生成的可靠性和準(zhǔn)確性,決策是否可靠等等。比如生成代碼的問(wèn)題比較多,重構(gòu)的工作量非常大,那么就沒(méi)有意義。開(kāi)發(fā)者常說(shuō)的一句話(huà):代碼寫(xiě)得爛,要我改還不如我自己重寫(xiě)。最后,還要看工具好不好用,例如是否通過(guò)插件實(shí)現(xiàn)的(可以保留過(guò)去編程的習(xí)慣)等等。
OSCHINA:AI 編程如果要進(jìn)一步發(fā)展,需要在哪些方面有所突破?
一個(gè)是規(guī)模挑戰(zhàn),即生成代碼的量。
比如華為的盤(pán)古模型生產(chǎn)代碼是函數(shù)級(jí)的,已經(jīng)算是比較厲害的了。以前我們講代碼補(bǔ)全,相當(dāng)于寫(xiě)一行代碼給你補(bǔ)兩行,或者寫(xiě)兩行補(bǔ)一行,那么這在一個(gè)函數(shù)里可能只是完成了二分之一或者三分之一,你可以理解為代碼塊或者說(shuō)代碼行補(bǔ)全。從這種到函數(shù)級(jí)生成代碼已經(jīng)算是一大進(jìn)步了,函數(shù)級(jí)至少完成了一個(gè)類(lèi)的方法。
那么在此之上,再提升量級(jí),比如完成一個(gè)完整類(lèi)或模塊、Package 等。
二是準(zhǔn)確性、可靠性。早期代碼生成的準(zhǔn)確率大概是 40%、50%,根本不能用。工業(yè)界一般在達(dá)到 80%、90% 之后才會(huì)用。如果達(dá)到 95%,甚至是 98%,那就更好了。
三是代碼理解能力是不是更強(qiáng),像邏輯關(guān)系、上下文聯(lián)系等等,相當(dāng)于 AI 還可以聯(lián)想到過(guò)去的代碼。這方面,在今天也是對(duì) AI 編程的一個(gè)主要限制。比如上下文理解,因?yàn)槲覀儗?xiě)代碼或者整個(gè)代碼的演化時(shí)間還是很長(zhǎng)的,我經(jīng)常和學(xué)生講,你開(kāi)發(fā)產(chǎn)品的第一個(gè)版本也許一兩個(gè)月就結(jié)束了,但如果你的產(chǎn)品開(kāi)發(fā)得比較好、有生命力,整個(gè)演化過(guò)程也許是幾年甚至十幾年。
那么我們今天的機(jī)器學(xué)習(xí)或者說(shuō)大模型還沒(méi)有這方面的能力,無(wú)法記住幾天前的上下文,無(wú)法回憶幾年前自己生成的代碼,并依此不斷生成新的代碼、或做代碼的重構(gòu)與優(yōu)化。
這相當(dāng)于講,目前的 AI 是通用的大數(shù)據(jù)學(xué)習(xí),它不能學(xué)習(xí)產(chǎn)品線(xiàn)代碼,然后來(lái)生成符合這個(gè)產(chǎn)品線(xiàn)業(yè)務(wù)邏輯的代碼。GPT-4 能不能做這樣事情,至少是要打一個(gè)問(wèn)號(hào)的。
四是人機(jī)交互智能。這也要提到軟件工程 3.0,GPT-4 發(fā)布標(biāo)志著軟件工程 3.0 時(shí)代的到來(lái),其中人機(jī)交互智能將是軟件工程 3.0 的一個(gè)常態(tài)。我們把需求文檔塞進(jìn)去,所有代碼就都出來(lái)了,或者說(shuō)是完全自動(dòng)化生成代碼,這樣理想的情況,至少最近幾年應(yīng)該都不會(huì)發(fā)生。這還需要人和大模型、機(jī)器之間不斷交互。
我們也希望有一個(gè)更好的交互機(jī)制,或者我們會(huì)提醒大模型,一個(gè)月之前的需求是不是可以重新思考,重新生成,或者把一個(gè)月之前的答案再做修改與調(diào)整。
同時(shí)這點(diǎn)放到今天的語(yǔ)境里來(lái)看相對(duì)更復(fù)雜的一點(diǎn)是,有時(shí)開(kāi)發(fā)者不止一個(gè)人。以前簡(jiǎn)單的模式是每個(gè)開(kāi)發(fā)人員會(huì)有一個(gè)助手,但現(xiàn)在可能是一個(gè)開(kāi)發(fā)者擁有好幾個(gè)星空機(jī)器人,甚至是星空機(jī)器人與星空機(jī)器人之間的協(xié)調(diào)。最近也有論文提到,去做一個(gè)類(lèi)似管理人機(jī)交互過(guò)程,或者說(shuō)是任務(wù)調(diào)度的平臺(tái)。
全球開(kāi)源技術(shù)峰會(huì)(Global Open-source Technology Conference,簡(jiǎn)稱(chēng) GOTC)是由開(kāi)放原子開(kāi)源基金會(huì)、 Linux 基金會(huì)亞太區(qū)、上海浦東軟件園和開(kāi)源中國(guó)聯(lián)合發(fā)起的,面向全球開(kāi)發(fā)者的一場(chǎng)盛大開(kāi)源技術(shù)盛宴。
GOTC 2023 將于 5 月 27 日至 28 日在上海張江科學(xué)會(huì)堂召開(kāi)。大會(huì)將以行業(yè)展覽、主題發(fā)言、特別論壇、分論壇的形式展現(xiàn),與會(huì)者將一起探討元宇宙、3D 與游戲、eBPF、Web3.0、區(qū)塊鏈等熱門(mén)技術(shù)主題,以及開(kāi)源社區(qū)、AIGC、汽車(chē)軟件、AI 編程、開(kāi)源教育培訓(xùn)、云原生等熱門(mén)話(huà)題,探討開(kāi)源未來(lái),助力開(kāi)源發(fā)展。
進(jìn)入官網(wǎng)了解更多信息。

星空人工智能技術(shù)網(wǎng) 倡導(dǎo)尊重與保護(hù)知識(shí)產(chǎn)權(quán)。如發(fā)現(xiàn)本站文章存在版權(quán)等問(wèn)題,煩請(qǐng)30天內(nèi)提供版權(quán)疑問(wèn)、身份證明、版權(quán)證明、聯(lián)系方式等發(fā)郵件至1851688011@qq.com我們將及時(shí)溝通與處理。!:首頁(yè) > 新聞 » AI 編程狂飆,但關(guān)鍵還得看這四點(diǎn)