人工智能正在改變軟件開發(fā)模式
軟件開發(fā)人員正在使用人工智能來(lái)幫助編寫和審查代碼、檢測(cè)錯(cuò)誤、測(cè)試軟件和優(yōu)化開發(fā)項(xiàng)目。這種幫助正在幫助公司更有效地部署新軟件,并使新一代開發(fā)人員能夠更輕松地學(xué)習(xí)編碼。
這些是德勤最近發(fā)布的軟件開發(fā)中人工智能報(bào)告的結(jié)論,并在福布斯最近的一篇文章中進(jìn)行了總結(jié)。作者DavidSchatsky和SourabhBumb描述了一系列公司如何在過(guò)去18個(gè)月中推出了數(shù)十種人工智能驅(qū)動(dòng)的軟件開發(fā)工具。在截至2019年9月的一年中,初創(chuàng)公司籌集了7.04億美元,市場(chǎng)正在增長(zhǎng)。
新工具可用于幫助減少擊鍵次數(shù),在編寫軟件時(shí)檢測(cè)錯(cuò)誤,并自動(dòng)執(zhí)行確認(rèn)軟件質(zhì)量所需的許多測(cè)試。這在越來(lái)越依賴開源代碼的時(shí)代很重要,開源代碼可能會(huì)帶來(lái)錯(cuò)誤。
雖然有些人擔(dān)心自動(dòng)化可能會(huì)奪走程序員的工作,但德勤的作者認(rèn)為這不太可能。
“在大多數(shù)情況下,這些人工智能工具正在幫助和增強(qiáng)人類,而不是取代他們,”沙茨基說(shuō)。“這些工具正在幫助實(shí)現(xiàn)編碼和軟件開發(fā)的民主化,允許沒有經(jīng)過(guò)編碼培訓(xùn)的個(gè)人填補(bǔ)人才缺口并學(xué)習(xí)新技能。還有人工智能驅(qū)動(dòng)的代碼審查,在您運(yùn)行代碼之前提供質(zhì)量保證。”
Forrester在2018年的一項(xiàng)研究發(fā)現(xiàn),37%的軟件開發(fā)公司正在使用由人工智能驅(qū)動(dòng)的編碼工具。現(xiàn)在這個(gè)百分比可能會(huì)更高,因?yàn)門ara、DeepCode、Kite、Functionize和DeepTabNine等公司以及許多其他公司都提供自動(dòng)化編碼服務(wù)。
成功似乎正在加速這一趨勢(shì)。Schatsky表示:“除了降低成本和時(shí)間之外,許多實(shí)施這些人工智能工具的公司還看到了最終產(chǎn)品質(zhì)量的提高。”
德勤的研究表明,人工智能可以幫助緩解有才華的開發(fā)人員長(zhǎng)期短缺的問(wèn)題。去年,糟糕的軟件質(zhì)量使美國(guó)組織損失了大約3190億美元。人工智能的應(yīng)用有可能緩解這些挑戰(zhàn)。
德勤認(rèn)為人工智能在軟件開發(fā)的許多階段都有幫助,包括:項(xiàng)目需求、編碼審查、錯(cuò)誤檢測(cè)和解決,更多的是通過(guò)測(cè)試、部署和項(xiàng)目管理。
IBM工程師從Watson項(xiàng)目中學(xué)習(xí)人工智能開發(fā)課程
位于北卡羅來(lái)納州羅利市的IBM杰出工程師BillHiggins在該公司從事軟件開發(fā)工作20年,最近在Medium發(fā)表了一篇關(guān)于人工智能對(duì)軟件開發(fā)影響的報(bào)告。
組織需要“忘記”他們過(guò)去如何開發(fā)軟件的模式。“如果一個(gè)人很難適應(yīng),那么公司要適應(yīng)就難上百萬(wàn)倍,”作者說(shuō)。
Higgins是IBM在Watson小組內(nèi)的人工智能forDevelopers任務(wù)的負(fù)責(zé)人。“事實(shí)證明,我對(duì)人工智能缺乏個(gè)人經(jīng)驗(yàn)是一種資產(chǎn),”他說(shuō)。他必須經(jīng)歷自己的學(xué)習(xí)之旅,從而對(duì)需要適應(yīng)的開發(fā)人員獲得更深入的理解和同情。
為了了解軟件開發(fā)中的人工智能,希金斯說(shuō)他研究了其他人如何應(yīng)用它(問(wèn)題空間)以及使用人工智能優(yōu)于替代方案的案例(解決方案空間)。這對(duì)于理解什么是可能的和避免“神奇的思維”很重要。
作者說(shuō)他的旅程是他在賓夕法尼亞州立大學(xué)獲得計(jì)算機(jī)科學(xué)學(xué)位后所做的最緊張和最困難的學(xué)習(xí)。“我很難重新思考從經(jīng)驗(yàn)中改進(jìn)的軟件系統(tǒng),而不是只做你告訴他們做的事情的軟件系統(tǒng),”他說(shuō)。
IBM開發(fā)了一個(gè)概念模型來(lái)幫助企業(yè)思考基于人工智能的轉(zhuǎn)型,稱為人工智能階梯。梯子有四個(gè)梯級(jí):收集、組織、分析和注入。大多數(shù)企業(yè)擁有大量數(shù)據(jù),通常在孤立的IT工作或收購(gòu)中進(jìn)行組織。一個(gè)給定的企業(yè)可能有20個(gè)數(shù)據(jù)庫(kù)和三個(gè)數(shù)據(jù)倉(cāng)庫(kù),其中包含有關(guān)客戶的冗余和不一致的信息。訂單、員工和產(chǎn)品信息等其他數(shù)據(jù)類型也是如此。“IBM推動(dòng)人工智能階梯從概念上爬出這個(gè)泥潭,”希金斯說(shuō)。
在注入階段,該公司致力于將經(jīng)過(guò)訓(xùn)練的機(jī)器學(xué)習(xí)模型集成到生產(chǎn)系統(tǒng)中,并設(shè)計(jì)反饋循環(huán),以便模型可以繼續(xù)從經(jīng)驗(yàn)中改進(jìn)。注入人工智能的一個(gè)例子是Netflix推薦系統(tǒng),它由復(fù)雜的機(jī)器學(xué)習(xí)模型提供支持。
IBM已確定將API、預(yù)構(gòu)建的機(jī)器學(xué)習(xí)模型和可選工具組合起來(lái),以封裝、收集、組織和分析常見機(jī)器學(xué)習(xí)領(lǐng)域的人工智能階梯梯級(jí),例如自然語(yǔ)言理解、與虛擬代理的對(duì)話、視覺識(shí)別、語(yǔ)音和企業(yè)搜索。
例如,沃森的自然語(yǔ)言理解變得豐富而復(fù)雜。機(jī)器學(xué)習(xí)現(xiàn)在擅長(zhǎng)理解語(yǔ)言的許多方面,包括概念、概念之間的關(guān)系和情感內(nèi)容。現(xiàn)在,NLU服務(wù)和基于機(jī)器學(xué)習(xí)的自然語(yǔ)言處理的研發(fā)可以通過(guò)優(yōu)雅的API和支持的SDK提供給開發(fā)人員。
“因此,開發(fā)人員今天可以開始在他們的應(yīng)用程序中利用某些類型的人工智能,即使他們?nèi)狈?shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)方面的任何正式培訓(xùn),”希金斯說(shuō)。