AI 編程狂飆,但關(guān)鍵還得看這四點

AI 時代,許多開發(fā)者都已經(jīng)上手了各式 AI 編程工具,至于評價則千差萬別。但整體而言,AI 編程的代碼正越來越多出現(xiàn)在當下的各種技術(shù)棧中,其口碑也在逐漸攀升。隨著 GPT4 的出現(xiàn),AI 編程正在邁入新的臺

AI 時代,許多開發(fā)者都已經(jīng)上手了各式 AI 編程工具,至于評價則千差萬別。但整體而言,AI 編程的代碼正越來越多出現(xiàn)在當下的各種技術(shù)棧中,其口碑也在逐漸攀升。隨著 GPT4 的出現(xiàn),AI 編程正在邁入新的臺階,而軟件工程 3.0 時代也正在進行中。 

為了更好地了解當下 AI 編程能力的發(fā)展,我們邀請到同濟大學(xué)特聘教授,“軟件工程 3.0” 定義者朱少民,請談?wù)勊?AI 編程的過去與未來。

AI 編程狂飆,但關(guān)鍵還得看這四點

朱少民

同濟大學(xué)特聘教授,“軟件工程 3.0” 定義者

CCF 軟件質(zhì)量工程 SIG 主席,擁有個人公眾號《軟件質(zhì)量報道》。近三十年來一直從事軟件測試、質(zhì)量管理等工作,先后獲得多項省、部級科技進步獎,已出版了二十多部著作和 4 本譯作,并經(jīng)常在國內(nèi)外學(xué)術(shù)會議或技術(shù)大會上發(fā)表演講,曾任思科(中國)軟件有限公司 QA 高級總監(jiān)、IEEE ICST 2019 工業(yè)論壇主席、多個 IEEE 學(xué)術(shù)會議的程序委員、《軟件學(xué)報》審稿人等。

5 月 28 日,朱少民將擔任 GOTC 2023 “AI 編程” 分論壇講師,并發(fā)表《軟件工程 3.0 之下 軟件開發(fā)新范式》主題演講,敬請期待!

參會報名,請訪問: https://www.bagevent.com/event/8387611

OSCHINAAI 編程這個概念是什么時候開始興起的?現(xiàn)在處于什么樣的發(fā)展階段?

上世紀 70 年代左右就有了計算機輔助編程,但和今天的 AI 編程還是有區(qū)別的。輔助編程是想通過一些規(guī)則或者是專家系統(tǒng)來完成編程,基于規(guī)則引擎來做推理,相當于模擬人的思維,知名工具軟件 MATLAB 可以看做是輔助編程的成果。但是效果不夠好,所以后面也就停了一段時間。 

這波人工智能的熱潮可以看作是 AI 第三次浪潮的延續(xù),而第一次和第二次的浪潮,實際上沒有達到我們預(yù)期的效果。

今天我們講 AI 編程,更多的是最近幾年,基于深度學(xué)習(xí)、機器學(xué)習(xí),基于深度神經(jīng)網(wǎng)絡(luò)和強化學(xué)習(xí)這些新技術(shù)來完成代碼的編寫。

那么現(xiàn)在所處的階段,不能說是成熟階段,但可以認為是接近成熟的階段。比如 Copilot X,華為的盤古模型也能生成函數(shù)級的代碼了。這些技術(shù)已經(jīng)可以在工程實踐中應(yīng)用了。

OSCHINA:現(xiàn)在市面上有很多宣稱能寫代碼的 AI 工具,開發(fā)者要怎么區(qū)分與選擇?

一方面要看你使用的編程語言。目前如果用的是 C 語言,AI 方面的能力就弱一些。如果是 Java 或者 Paython、Go 語言,那開源的代碼數(shù)據(jù)比較多,效果就會比較好。如果用到特殊的語言,也許會更困難。

另一方面就是要看功能,比如可不可以做代碼補全、代碼評審。還有代碼生成的可靠性和準確性,決策是否可靠等等。比如生成代碼的問題比較多,重構(gòu)的工作量非常大,那么就沒有意義。開發(fā)者常說的一句話:代碼寫得爛,要我改還不如我自己重寫。最后,還要看工具好不好用,例如是否通過插件實現(xiàn)的(可以保留過去編程的習(xí)慣)等等。

OSCHINAAI 編程如果要進一步發(fā)展,需要在哪些方面有所突破?

一個是規(guī)模挑戰(zhàn),即生成代碼的量。

比如華為的盤古模型生產(chǎn)代碼是函數(shù)級的,已經(jīng)算是比較厲害的了。以前我們講代碼補全,相當于寫一行代碼給你補兩行,或者寫兩行補一行,那么這在一個函數(shù)里可能只是完成了二分之一或者三分之一,你可以理解為代碼塊或者說代碼行補全。從這種到函數(shù)級生成代碼已經(jīng)算是一大進步了,函數(shù)級至少完成了一個類的方法。

那么在此之上,再提升量級,比如完成一個完整類或模塊、Package 等。 

二是準確性、可靠性。早期代碼生成的準確率大概是 40%、50%,根本不能用。工業(yè)界一般在達到 80%、90% 之后才會用。如果達到 95%,甚至是 98%,那就更好了。

三是代碼理解能力是不是更強,像邏輯關(guān)系、上下文聯(lián)系等等,相當于 AI 還可以聯(lián)想到過去的代碼。這方面,在今天也是對 AI 編程的一個主要限制。比如上下文理解,因為我們寫代碼或者整個代碼的演化時間還是很長的,我經(jīng)常和學(xué)生講,你開發(fā)產(chǎn)品的第一個版本也許一兩個月就結(jié)束了,但如果你的產(chǎn)品開發(fā)得比較好、有生命力,整個演化過程也許是幾年甚至十幾年。

那么我們今天的機器學(xué)習(xí)或者說大模型還沒有這方面的能力,無法記住幾天前的上下文,無法回憶幾年前自己生成的代碼,并依此不斷生成新的代碼、或做代碼的重構(gòu)與優(yōu)化。

這相當于講,目前的 AI 是通用的大數(shù)據(jù)學(xué)習(xí),它不能學(xué)習(xí)產(chǎn)品線代碼,然后來生成符合這個產(chǎn)品線業(yè)務(wù)邏輯的代碼。GPT-4 能不能做這樣事情,至少是要打一個問號的。 

四是人機交互智能。這也要提到軟件工程 3.0,GPT-4 發(fā)布標志著軟件工程 3.0 時代的到來,其中人機交互智能將是軟件工程 3.0 的一個常態(tài)。我們把需求文檔塞進去,所有代碼就都出來了,或者說是完全自動化生成代碼,這樣理想的情況,至少最近幾年應(yīng)該都不會發(fā)生。這還需要人和大模型、機器之間不斷交互。

我們也希望有一個更好的交互機制,或者我們會提醒大模型,一個月之前的需求是不是可以重新思考,重新生成,或者把一個月之前的答案再做修改與調(diào)整。

同時這點放到今天的語境里來看相對更復(fù)雜的一點是,有時開發(fā)者不止一個人。以前簡單的模式是每個開發(fā)人員會有一個助手,但現(xiàn)在可能是一個開發(fā)者擁有好幾個機器人,甚至是機器人與機器人之間的協(xié)調(diào)。最近也有論文提到,去做一個類似管理人機交互過程,或者說是任務(wù)調(diào)度的平臺。 

全球開源技術(shù)峰會(Global Open-source Technology Conference,簡稱 GOTC)是由開放原子開源基金會、 Linux 基金會亞太區(qū)、上海浦東軟件園和開源中國聯(lián)合發(fā)起的,面向全球開發(fā)者的一場盛大開源技術(shù)盛宴。

GOTC 2023 將于 5 月 27 日至 28 日在上海張江科學(xué)會堂召開。大會將以行業(yè)展覽、主題發(fā)言、特別論壇、分論壇的形式展現(xiàn),與會者將一起探討元宇宙、3D 與游戲、eBPF、Web3.0、區(qū)塊鏈等熱門技術(shù)主題,以及開源社區(qū)、AIGC、汽車軟件、AI 編程、開源教育培訓(xùn)、云原生等熱門話題,探討開源未來,助力開源發(fā)展。

進入官網(wǎng)了解更多信息。

AI 編程狂飆,但關(guān)鍵還得看這四點

(本內(nèi)容屬于網(wǎng)絡(luò)轉(zhuǎn)載,文中涉及圖片等內(nèi)容如有侵權(quán),請聯(lián)系編輯刪除。市場有風(fēng)險,選擇需謹慎!此文僅供參考,不作買賣及投資依據(jù)。)

原創(chuàng)文章,作者:陳晨,如若轉(zhuǎn)載,請注明出處:http://m.2079x.cn/article/572007.html

陳晨陳晨管理團隊

相關(guān)推薦