作者 | 馮英睿
隨著AI技術(shù)的進(jìn)步,尤其是OpenAI的GPT-4等大型語(yǔ)言模型的出現(xiàn),生成式AI正不斷改變我們對(duì)軟件工程的認(rèn)識(shí)。本文試圖從多個(gè)角度分析生成式AI對(duì)軟件工程可能帶來(lái)的影響,包括我們對(duì)軟件本身的理解、對(duì)軟件卓越的定義、重新定義軟件工程能力以及團(tuán)隊(duì)組成和文化等方面。
Software = Codes + Models
我們發(fā)現(xiàn)大多數(shù)人在談到AI輔助研發(fā)軟件的時(shí)候,主要是指由代碼編譯的軟件,但軟件在今天早已不再僅由代碼編譯而成,而是由代碼與AI模型共同組成的。當(dāng)我們談?wù)撗邪l(fā)提效的時(shí)候,也應(yīng)該將AI工程提效加入進(jìn)來(lái)一起考慮,而今天在基礎(chǔ)模型之上通過(guò)微調(diào)的方式讓開(kāi)發(fā)AI模型的速度大幅提升。
同時(shí)由于AI涌現(xiàn)出來(lái)的能力,將在體驗(yàn)創(chuàng)新和系統(tǒng)集成上帶來(lái)巨大的變化。從Microsoft365通過(guò)Copilot提升體驗(yàn),以及ChatGPT與Walframe的集成這兩個(gè)案例來(lái)看,隨著AI能力的進(jìn)一步增強(qiáng),未來(lái)將由AI把系統(tǒng)或平臺(tái)的各項(xiàng)能力進(jìn)行整合,這也將進(jìn)一步減少代碼在軟件中的比例。
所以在AI 2.0時(shí)代,我們需要更新對(duì)軟件的理解。AI模型在軟件中扮演越來(lái)越重要的角色,我們應(yīng)該將軟件視為由代碼、數(shù)據(jù)和模型共同組成的系統(tǒng)。這意味著我們需要關(guān)注更大范圍的變化:
Codes = Human Codes + Generated Codes
在毫無(wú)疑問(wèn)AI可以為軟件生成正確代碼的今天,很多人都在問(wèn):對(duì)卓越代碼的要求,是否適用于所有的代碼呢?我們對(duì)于軟件卓越的認(rèn)識(shí)也需要發(fā)生改變,如果軟件卓越的追求是旨在降低成本、范圍、時(shí)間并提高軟件的價(jià)值和質(zhì)量,那么有兩個(gè)很有趣的觀點(diǎn):
首先從成本角度來(lái)看,更多代碼由AI生成不僅僅意味著研發(fā)成本的下降。同時(shí)也意味著問(wèn)題的定義和分解都更加清晰,架構(gòu)和設(shè)計(jì)更加簡(jiǎn)潔,否則AI很難自動(dòng)生成可工作的代碼。
而如果某些功能和組件的代碼可以由AI重新生成,那么由AI生成代碼的可讀性也許不再值得特別關(guān)注。針對(duì)這一部分的代碼,用于生成代碼的注釋和測(cè)試才是更重要的。而生成的代碼可以在當(dāng)模型升級(jí)時(shí),通過(guò)生成的更好的代碼來(lái)替代,讓軟件獲得某種自我進(jìn)化的能力。對(duì)于人類(lèi)編寫(xiě)的代碼而言,代碼的可讀性仍然非常重要。
Generated Codes = Correct Codes + Wrong Codes
生成式AI也要求我們重新思考如何評(píng)估軟件工程的能力。如果更卓越的軟件需要更多生成的代碼,那么是否可以認(rèn)為:能夠生成更多正確代碼的人或團(tuán)隊(duì)比別人更有能力?因?yàn)樯傻拇a必然包括正確的代碼和錯(cuò)誤的代碼。優(yōu)秀的軟件架構(gòu)師能夠找到更多生成正確代碼的方法。而為了更多的生成正確的代碼,通過(guò)降低AI學(xué)習(xí)的復(fù)雜性能有效提升生成內(nèi)容的質(zhì)量。這是因?yàn)椋?span style="display:none">5oR28資訊網(wǎng)——每日最新資訊28at.com
所以優(yōu)秀架構(gòu)師和團(tuán)隊(duì)在標(biāo)準(zhǔn)化設(shè)計(jì)、領(lǐng)域特定語(yǔ)言(DSL)設(shè)計(jì)和微服務(wù)拆分等工作將變得越來(lái)越重要,因?yàn)檫@些工作能顯著降低AI學(xué)習(xí)的復(fù)雜性。
另外值得關(guān)注的是,因?yàn)樯墒紸I模型還可以通過(guò)知識(shí)庫(kù)、模型微調(diào)等手段來(lái)提升能力,這使得知識(shí)工程或數(shù)據(jù)工程將成為軟件工程的一部分,這也將是未來(lái)軟件工程領(lǐng)域內(nèi)一個(gè)非常有意思的領(lǐng)域。
Correct Codes can be generated by BA + QA or Dev
隨著AI的代碼生成能力不斷提升的同時(shí),如果團(tuán)隊(duì)的工程師開(kāi)發(fā)出了優(yōu)秀的架構(gòu)和框架,使業(yè)務(wù)分析師(BA)和質(zhì)量保證工程師(QA)能夠直接交付許多功能,那團(tuán)隊(duì)的人員組成比例必然會(huì)發(fā)生變化。這也將會(huì)帶來(lái)很多問(wèn)題:
很多問(wèn)題都沒(méi)有確定的答案,但值得大家關(guān)注。總之,生成式AI對(duì)軟件工程產(chǎn)生了深遠(yuǎn)的影響。我們需要更新對(duì)軟件本身的理解、重新定義軟件卓越的范圍、重新思考如何評(píng)估軟件工程能力,并關(guān)注團(tuán)隊(duì)文化的影響。在這個(gè)過(guò)程中,軟件架構(gòu)和設(shè)計(jì)能力以及數(shù)據(jù)工程能力變得更為重要。我們應(yīng)該積極應(yīng)對(duì)這些變化,以更好地適應(yīng)AI 2.0時(shí)代的軟件工程發(fā)展。
本文鏈接:http://www.tebozhan.com/showinfo-26-14346-0.html?猜想生成式 AI 對(duì)軟件工程的影響
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com
上一篇: 23種軟件設(shè)計(jì)模式綜述