會(huì)寫(xiě)代碼的人工智能來(lái)了
人工智能技術(shù)是編碼開(kāi)發(fā)的結(jié)果,而如今,程序代碼又成了人工智能的造物。
越來(lái)越多的企業(yè)乃至編程人員,開(kāi)始利用AI輔助軟件開(kāi)發(fā)流程——軟件開(kāi)發(fā)人員能夠利用AI工具,編寫(xiě)并審查代碼、檢測(cè)bug、測(cè)試軟件甚至優(yōu)化開(kāi)發(fā)項(xiàng)目;而憑借這些強(qiáng)有力的技術(shù)支持,企業(yè)不僅能夠高效部署新的軟件與應(yīng)用,同時(shí)也能引導(dǎo)新一代開(kāi)發(fā)人員更輕松掌握編碼技能。
以上觀點(diǎn)來(lái)自德勤公司發(fā)布的一份最新報(bào)告。該報(bào)告的兩位作者David Schatsky與Sourabh Bumb,長(zhǎng)期關(guān)注AI輔助軟件開(kāi)發(fā)領(lǐng)域,他們?cè)趫?bào)告中剖析了過(guò)去一年半以來(lái),多家企業(yè)陸續(xù)推出的數(shù)十種AI驅(qū)動(dòng)型軟件開(kāi)發(fā)工具??梢钥隙ǖ氖?,此類輔助開(kāi)發(fā)軟件市場(chǎng)正在蓬勃發(fā)展,當(dāng)中的一些初創(chuàng)企業(yè)在截至2019年9月的一年周期之內(nèi)籌集到7.04億美元資金。有鑒于此,德勤方面做出預(yù)測(cè)稱,隨著企業(yè)客戶對(duì)于軟件方案的需求不斷增長(zhǎng),基于AI技術(shù)的開(kāi)發(fā)工具也將發(fā)揮愈發(fā)重要的輔助性作用。
AI輔助編碼具有一系列天然優(yōu)勢(shì),其中最受企業(yè)青睞的當(dāng)屬「效率層面的提升」。目前,大部分基于AI技術(shù)的新型工具基本延續(xù)著以往拼寫(xiě)檢查與語(yǔ)法檢查器的功能,且已經(jīng)能夠?qū)⒕幊倘藛T的鍵盤(pán)敲擊次數(shù)降低50%左右。此外,這些工具還能在代碼編寫(xiě)過(guò)程中及時(shí)發(fā)現(xiàn)bug,自動(dòng)執(zhí)行約半數(shù)測(cè)試步驟,從而有效保障軟件質(zhì)量。據(jù)德勤報(bào)告強(qiáng)調(diào),我們正生活在一個(gè)日益依賴于開(kāi)源代碼的時(shí)代,因此這種軟件質(zhì)量保障手段將越來(lái)越重要,并有望最終解決開(kāi)源項(xiàng)目中廣泛存在的bug橫行以及優(yōu)化水平不高等難題。
當(dāng)然,對(duì)于企業(yè)來(lái)說(shuō),在開(kāi)發(fā)過(guò)程中大量引入AI技術(shù)也在員工群體中引發(fā)了不小的騷亂。人們難免要擔(dān)心,自己的編程崗位最終會(huì)不會(huì)被自動(dòng)化取代。德勤公司David Schatsky表示,這種情況不太可能出現(xiàn),AI驅(qū)動(dòng)型開(kāi)發(fā)體現(xiàn)的實(shí)際是技術(shù)“民主化”進(jìn)程,而且給從業(yè)者們帶來(lái)的更多是助益——而非威脅。
他在采訪中表示,“在大多數(shù)情況下,這類AI工具是在幫助并增強(qiáng)人類,而不是要徹底取代人類。這些工具正在推動(dòng)編程與軟件開(kāi)發(fā)的民主化,意味著,沒(méi)有接受過(guò)編程培訓(xùn)的個(gè)人也能快速掌握這方面新技能,并有效填補(bǔ)業(yè)務(wù)層面的人才空缺。另外,AI驅(qū)動(dòng)型代碼審查同樣重要,甚至能夠在代碼實(shí)際運(yùn)行之前就發(fā)現(xiàn)問(wèn)題,以保障編程產(chǎn)出質(zhì)量。”
IDC最新報(bào)告預(yù)測(cè)稱,全球定制化應(yīng)用程序開(kāi)發(fā)服務(wù)市場(chǎng)規(guī)模將從2018年的470億美元增長(zhǎng)至2023年的610億美元。這一增長(zhǎng),在很大程度上將受到AI驅(qū)動(dòng)型軟件開(kāi)發(fā)業(yè)務(wù)的并行支持與推動(dòng)。重要的是,這種新興開(kāi)發(fā)手段不僅能夠?qū)崿F(xiàn)自動(dòng)代碼編寫(xiě)與bug檢測(cè),同時(shí)也能在軟件開(kāi)發(fā)項(xiàng)目的自動(dòng)組織與部署層面發(fā)揮積極作用。以法國(guó)電信企業(yè)Orange為例,該公司近來(lái)開(kāi)始嘗試?yán)肁I驅(qū)動(dòng)型項(xiàng)目管理工具自動(dòng)處理以往只能依靠手動(dòng)更新的項(xiàng)目時(shí)間表。
Schatsky指出,“AI技術(shù)將在整個(gè)軟件開(kāi)發(fā)生命周期之內(nèi),為人類提供全面支持。與大多數(shù)自動(dòng)化方案一樣,AI技術(shù)將顯著加快工作速度。具體來(lái)講,AI雖然能夠消除部分操作需求,但整體流程仍然需要人類的介入。很多企業(yè)正在引入「低代碼開(kāi)發(fā)」工具,這類工具的存在將使得未經(jīng)編程培訓(xùn)的人員也能開(kāi)發(fā)出部分應(yīng)用程序??偨Y(jié)來(lái)講,AI發(fā)揮的仍然是輔助作用,應(yīng)用程序的構(gòu)建還是離不開(kāi)人這個(gè)核心因素。”
人的意義除了體現(xiàn)在應(yīng)用程序的創(chuàng)建與監(jiān)督之外,同時(shí)也體現(xiàn)在學(xué)習(xí)這個(gè)基本面上。Schatsky強(qiáng)調(diào),AI技術(shù)有望幫助新一代編程人員從同樣的軟件開(kāi)發(fā)過(guò)程中汲取到更多經(jīng)驗(yàn)與知識(shí)。他指出,“AI技術(shù)能夠在編程過(guò)程中為人類提供指導(dǎo),發(fā)現(xiàn)潛在的bug并推薦特定的任務(wù)解決方法——這一切,都將給新手程序員帶來(lái)巨大助力。”
2018年Forrester公司發(fā)布的一項(xiàng)研究結(jié)果顯示,參與軟件開(kāi)發(fā)的企業(yè)中已經(jīng)有37%在采取AI驅(qū)動(dòng)型編程工具。如今,隨著Tara、DeepCode、Kite、Functionize以及Deep TabNine等廠商陸續(xù)發(fā)布自己的自動(dòng)化編程服務(wù),這一比例無(wú)疑又增長(zhǎng)到了新的水平,且提升勢(shì)頭將繼續(xù)保持下去。在David Schatsky看來(lái),在編碼中運(yùn)用AI技術(shù)終將帶來(lái)效率更高、整體性更好的軟件開(kāi)發(fā)成果。
他總結(jié)道,“通過(guò)采用這類AI工具,不少企業(yè)除了有效降低開(kāi)發(fā)成本與時(shí)間周期之外,也實(shí)現(xiàn)了最終產(chǎn)品的質(zhì)量改進(jìn)。由于質(zhì)量更高,工具本身的水平也將有所提升,從而更快、更準(zhǔn)確地檢測(cè)bug,并以更為全面的方式在整個(gè)開(kāi)發(fā)過(guò)程內(nèi)實(shí)現(xiàn)產(chǎn)品測(cè)試。最終,我們的軟件產(chǎn)品將運(yùn)行得更好、而且使用門(mén)檻更低。這將形成一套值得期待良性循環(huán)。”