人工智能正在改變軟件開發(fā)的模式

責(zé)任編輯:cres

作者:HERO編譯

2020-05-19 10:33:50

來源:企業(yè)網(wǎng)D1Net

原創(chuàng)

如今,很多軟件開發(fā)人員正在使用人工智能技術(shù)幫助編寫和審查代碼、檢測錯(cuò)誤、測試軟件,并優(yōu)化開發(fā)項(xiàng)目。這幫助企業(yè)更有效地部署新軟件,并使新一代開發(fā)人員更輕松地學(xué)習(xí)編程。

如今,很多軟件開發(fā)人員正在使用人工智能技術(shù)幫助編寫和審查代碼、檢測錯(cuò)誤、測試軟件,并優(yōu)化開發(fā)項(xiàng)目。這幫助企業(yè)更有效地部署新軟件,并使新一代開發(fā)人員更輕松地學(xué)習(xí)編程。
 
這是調(diào)研機(jī)構(gòu)德勤公司最近發(fā)布的一份有關(guān)軟件開發(fā)采用人工智能技術(shù)的調(diào)查報(bào)告得出的結(jié)論。報(bào)告的作者David Schatsky和Sourabh Bumb描述了在過去的18個(gè)月中多家公司如何推出幾十個(gè)人工智能驅(qū)動(dòng)的軟件開發(fā)工具。并且其市場正在增長。致力于軟件開發(fā)的人工智能初創(chuàng)企業(yè)在2019年獲得了7.04億美元的投資。
 
新工具可以幫助軟件開發(fā)人員減少工作量,在編寫軟件時(shí)檢測錯(cuò)誤,并自動(dòng)執(zhí)行許多確認(rèn)軟件質(zhì)量的測試。在當(dāng)今越來越依賴開放源代碼的時(shí)代,這一點(diǎn)很重要,因?yàn)殚_放源代碼可能會(huì)帶來一些錯(cuò)誤。
 
盡管有些人擔(dān)心采用自動(dòng)化技術(shù)可能會(huì)使編程人員失去工作,但調(diào)查報(bào)告的這兩位作者認(rèn)為不太可能。
 
Schatsky說:“在很大程度上,這些人工智能工具是在幫助和增強(qiáng)人類的能力,而不是取代他們。這些工具有助于使編碼和軟件開發(fā)民主化,使一些編程新手能夠填補(bǔ)人才缺口,學(xué)習(xí)新技能。人工智能技術(shù)還可以進(jìn)行代碼審查,并提供質(zhì)量保證。”
 
調(diào)研機(jī)構(gòu)Forrester公司在2018年進(jìn)行的一項(xiàng)研究發(fā)現(xiàn),從事軟件開發(fā)的企業(yè)中,37%的企業(yè)正在使用由人工智能驅(qū)動(dòng)的編碼工具。Tara、DeepCode、Kite、Functionize和Deep TabNine等許多公司提供自動(dòng)化編程服務(wù),而在2020年這一比例將會(huì)更高。
 
成功應(yīng)用似乎正在加快這一趨勢。Schatsky說:“除了節(jié)省成本和時(shí)間以外,許多采用這些人工智能工具的企業(yè)還改善了最終產(chǎn)品的質(zhì)量。”
 
德勤公司的研究表明,人工智能可以幫助緩解軟件開發(fā)人才長期短缺的現(xiàn)象。去年,軟件質(zhì)量不良使美國企業(yè)損失了3190億美元。人工智能的應(yīng)用具有緩解這些挑戰(zhàn)的潛力。德勤公司的分析人員認(rèn)為人工智能可以在軟件開發(fā)的許多階段提供幫助,其中包括:項(xiàng)目要求、編碼審查、錯(cuò)誤檢測和解決,以及通過測試、部署和項(xiàng)目管理提供的更多幫助。
 
IBM工程師從Watson項(xiàng)目中學(xué)到的人工智能開發(fā)經(jīng)驗(yàn)
 
IBM公司的杰出工程師Bill Higgins是IBM Watson開發(fā)人工智能任務(wù)團(tuán)隊(duì)負(fù)責(zé)人,有著20年的軟件開發(fā)工作經(jīng)驗(yàn)。他最近發(fā)表了一篇有關(guān)人工智能對軟件開發(fā)的影響的研究報(bào)告。
 
Higgins說,“企業(yè)需要放棄以往開發(fā)軟件的模式。如果開發(fā)人員難以適應(yīng),那么企業(yè)適應(yīng)的難度將遠(yuǎn)遠(yuǎn)超出開發(fā)人員。事實(shí)證明,企業(yè)管理人員缺乏人工智能方面的經(jīng)驗(yàn)也是一種優(yōu)勢。因?yàn)樗仨毥?jīng)歷這一學(xué)習(xí)過程,因此對需要適應(yīng)的開發(fā)人員有了更深刻的理解和同情。”
 
他表示,為了了解軟件開發(fā)中的人工智能,他研究了其他人如何應(yīng)用人工智能(提出問題)以及使用人工智能優(yōu)于其他替代方法(解決方案)的情況。這對于理解可能發(fā)生的情況并避免誤區(qū)很重要。
 
他說,自從在賓夕法尼亞州立大學(xué)獲得計(jì)算機(jī)科學(xué)學(xué)位以來,學(xué)習(xí)人工智能這一過程是他感到最緊張、最困難的一次學(xué)習(xí)經(jīng)歷。他說:“讓我重新思考從經(jīng)驗(yàn)中改進(jìn)軟件系統(tǒng)實(shí)在是太困難了,而軟件系統(tǒng)只做開發(fā)人員讓它們做的事情。”
 
IBM公司開發(fā)了一種概念模型來幫助開發(fā)人員思考基于人工智能的轉(zhuǎn)型,稱之為人工智能階梯(AI Ladder)。這個(gè)階梯有四個(gè)梯級:收集、組織、分析和注入。大多數(shù)企業(yè)擁有大量數(shù)據(jù),這些數(shù)據(jù)通常是以孤立的IT工作或通過收購的形式組織起來的。例如一家企業(yè)可能有20個(gè)數(shù)據(jù)庫和3個(gè)數(shù)據(jù)倉庫,其中包含冗余和不一致的客戶信息。其他數(shù)據(jù)類型(如訂單、員工和產(chǎn)品信息)也是如此。Higgins說:“IBM公司使AI Ladder從概念上擺脫了困境。”
 
在注入階段,該公司致力于將訓(xùn)練的機(jī)器學(xué)習(xí)模型集成到生產(chǎn)系統(tǒng)中,并設(shè)計(jì)反饋循環(huán),以便可以從經(jīng)驗(yàn)中不斷改進(jìn)模型。注入式人工智能的一個(gè)示例是Netflix推薦系統(tǒng),該系統(tǒng)由復(fù)雜的機(jī)器學(xué)習(xí)模型提供支持。
 
IBM公司已確定API、預(yù)先構(gòu)建的機(jī)器學(xué)習(xí)模型和可選工具的組合,以封裝、收集、組織和分析用于常見機(jī)器學(xué)習(xí)域的人工智能階梯(AI Ladder),例如自然語言理解、與虛擬代理的對話、視覺識(shí)別、語音和企業(yè)搜索等。
 
例如,Watson的自然語言理解變得豐富而復(fù)雜。機(jī)器學(xué)習(xí)現(xiàn)在擅長于理解語言的許多方面,其中包括概念、概念之間的關(guān)系以及情感內(nèi)容?,F(xiàn)在可以通過完善的API和支持的SDK,向開發(fā)人員提供基于機(jī)器學(xué)習(xí)的自然語言處理的NLU服務(wù)和研發(fā)工具。
 
Higgins 說:“因此,即使開發(fā)人員沒有進(jìn)行數(shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)方面的培訓(xùn),他們現(xiàn)在也可以開始在應(yīng)用程序中利用某些類型的人工智能。雖然這并沒有消除人工智能的學(xué)習(xí)曲線,但會(huì)使其變得更平緩。”
 
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)