領(lǐng)先組織強(qiáng)調(diào)了在整個(gè)應(yīng)用程序開發(fā)生命周期中初始實(shí)施生成式人工智能的關(guān)鍵要點(diǎn),包括好處、限制、團(tuán)隊(duì)影響和經(jīng)驗(yàn)教訓(xùn)。

來源:DOTSHOCK / SHUTTERSTOCK
生成式人工智能已經(jīng)對IT的多個(gè)領(lǐng)域產(chǎn)生了影響,特別是在軟件開發(fā)方面。
早期用例包括代碼生成和文檔、測試用例生成和測試自動(dòng)化,以及代碼優(yōu)化和重構(gòu)等。
盡管如此,用于軟件開發(fā)的人工智能仍處于新階段,因此技術(shù)領(lǐng)導(dǎo)者和軟件團(tuán)隊(duì)可能會遇到顛簸。但早期回報(bào)表明,該技術(shù)可以為創(chuàng)建和增強(qiáng)應(yīng)用程序的過程提供好處,但需要注意。
【睿觀:生成式人工智能(Generative AI)在軟件開發(fā)領(lǐng)域的應(yīng)用,通過自動(dòng)化和優(yōu)化代碼的生成、文檔編寫、測試用例創(chuàng)建等任務(wù),對IT行業(yè)產(chǎn)生了深遠(yuǎn)影響。這些技術(shù)不僅提高了開發(fā)效率,還改進(jìn)了軟件質(zhì)量和可靠性。以下是針對生成式人工智能在軟件開發(fā)中應(yīng)用的專業(yè)解釋,包括其早期用例、潛在益處及注意事項(xiàng)。
(一)生成式人工智能的早期用例
1.代碼生成:通過自然語言處理(NLP)技術(shù),開發(fā)者可以描述功能需求,AI系統(tǒng)則自動(dòng)生成相應(yīng)的代碼。這簡化了開發(fā)流程,使非專業(yè)人員也能參與到軟件開發(fā)中。
2.自動(dòng)生成文檔和注釋:AI能夠根據(jù)代碼邏輯自動(dòng)生成文檔和注釋,減少了開發(fā)人員的工作量,同時(shí)提高了文檔的準(zhǔn)確性和更新頻率。
3.測試用例生成與自動(dòng)化測試:AI算法能夠基于軟件的功能和性能需求自動(dòng)生成測試用例,并執(zhí)行自動(dòng)化測試,以快速識別軟件中的缺陷和問題。
4.代碼優(yōu)化和重構(gòu):通過分析現(xiàn)有代碼,AI可以提出優(yōu)化建議或自動(dòng)執(zhí)行代碼重構(gòu),以提高軟件的性能和可維護(hù)性。
(二)潛在益處
1.提高開發(fā)效率:自動(dòng)生成代碼和文檔減少了重復(fù)性工作,讓開發(fā)者有更多時(shí)間專注于復(fù)雜和創(chuàng)新性的任務(wù)。
2.提升軟件質(zhì)量:通過自動(dòng)化測試和代碼優(yōu)化,生成式AI有助于提高軟件的穩(wěn)定性和性能,減少人為錯(cuò)誤。
3.降低門檻:使非專業(yè)開發(fā)者也能通過自然語言描述來參與軟件開發(fā),拓寬了編程的可及性。
(三)注意事項(xiàng)
1.依賴性風(fēng)險(xiǎn):過度依賴AI生成的代碼可能導(dǎo)致開發(fā)者忽視基本的編程技能和原理理解。
2.質(zhì)量控制:AI生成的代碼和文檔可能不完美,需要人工審核和調(diào)整,以確保符合質(zhì)量標(biāo)準(zhǔn)。
3.安全性問題:自動(dòng)生成的代碼可能包含安全漏洞,特別是在沒有足夠監(jiān)督和驗(yàn)證的情況下。
4.道德和責(zé)任:當(dāng)由AI參與生成的代碼導(dǎo)致問題時(shí),確定責(zé)任歸屬可能會變得復(fù)雜。
盡管生成式AI在軟件開發(fā)中提供了顯著的潛在好處,但仍然處于發(fā)展初期。技術(shù)領(lǐng)導(dǎo)者和開發(fā)團(tuán)隊(duì)需要謹(jǐn)慎采用,確保充分理解技術(shù)的限制和挑戰(zhàn)。持續(xù)的學(xué)習(xí)、適應(yīng)和監(jiān)督是實(shí)現(xiàn)最佳利用生成式AI技術(shù)的關(guān)鍵?!?/span>
一、在整個(gè)應(yīng)用程序開發(fā)生命周期中的幫助
客戶服務(wù)軟件提供商Freshworks的IT高級副總裁兼首席信息官Prasad Ramakrishnan說,Gen AI“打開了開發(fā)人員可以在對話類型范式中利用的知識體系。”
Ramakrishnan說:“這幾乎感覺就像有一個(gè)桌邊的同事可以集思廣益?!薄拔覀冏畛跬瞥龅?span style="font-size: 16px; padding: 0px; outline: 0px; max-width: 100%;">Gen AI使我們的團(tuán)隊(duì)能夠在幾天內(nèi)而不是幾周內(nèi)開發(fā)代碼?!?/span>
Ramakrishnan說,軟件開發(fā)生命周期成功的關(guān)鍵是質(zhì)量保證(QA)和驗(yàn)證過程。他說:“任何開發(fā)組織的成熟度都可以很容易地用QA投資的規(guī)模和類型來衡量?!薄?span style="font-size: 16px; padding: 0px; outline: 0px; max-width: 100%;">Gen AI在協(xié)助執(zhí)行代碼審查和及早發(fā)現(xiàn)潛在問題方面發(fā)揮著作用?!?/span>
Ramakrishnan說,人工智能世代也通過自動(dòng)化減少了完成測試所需的時(shí)間。他說:“異常檢測是通用人工智能可以幫助識別隱藏缺陷和地雷的另一個(gè)領(lǐng)域?!?/span>
首席信息官Nitin Tandon表示,金融服務(wù)公司Vanguard正在“快速安全地”試驗(yàn)生成人工智能工具——具有人類監(jiān)督和專業(yè)知識——為開發(fā)人員帶來生產(chǎn)力。
他說:“除了內(nèi)容開發(fā)和知識管理外,軟件和編碼開發(fā)仍然是實(shí)驗(yàn)的高價(jià)值領(lǐng)域,以努力提高運(yùn)營效率?!?/span>
Tandon說,Gen AI開發(fā)試點(diǎn)計(jì)劃的早期結(jié)果令人鼓舞,開發(fā)人員報(bào)告說,Gen AI簡化了代碼生成、調(diào)試和代碼一致性。
Tandon說:“初級開發(fā)人員報(bào)告了最大的生產(chǎn)力提升,但這仍然是一個(gè)積極研究和實(shí)驗(yàn)的領(lǐng)域?!?/span>
“此外,我們正在研究在我們的代碼庫上培訓(xùn)LLM[大型語言模型],以進(jìn)一步提高我們的開發(fā)人員和數(shù)據(jù)工程師的生產(chǎn)力。憑借我們在Vanguard的龐大開發(fā)人員人才庫,即使生產(chǎn)力的適度提高,也可以為我們的客戶釋放有意義的價(jià)值。”
【睿觀:生成式人工智能(Generative AI)正在軟件開發(fā)領(lǐng)域發(fā)揮著革命性的作用,通過促進(jìn)代碼的快速開發(fā)、自動(dòng)化測試和質(zhì)量保證過程,從而顯著提高了開發(fā)效率和軟件質(zhì)量。
(一)Generative AI在軟件開發(fā)中的應(yīng)用
1.加速代碼開發(fā):Generative AI可以理解開發(fā)者的需求并快速生成相應(yīng)的代碼,大幅減少了從需求到實(shí)現(xiàn)的時(shí)間。這種技術(shù)使團(tuán)隊(duì)能夠在幾天內(nèi)完成原本需要幾周的工作,這顯著提升了開發(fā)速度和效率。
2.質(zhì)量保證(QA)與驗(yàn)證:QA是衡量開發(fā)組織成熟度的重要指標(biāo)。Generative AI通過自動(dòng)執(zhí)行代碼審查和早期識別潛在問題,提升了軟件的質(zhì)量和可靠性。這種自動(dòng)化的測試和異常檢測減少了人工所需的時(shí)間和努力,同時(shí)增加了發(fā)現(xiàn)隱藏缺陷的可能性。
3.提升開發(fā)人員生產(chǎn)力:Generative AI在代碼生成、調(diào)試和保持代碼一致性方面的應(yīng)用,為開發(fā)人員帶來了顯著的生產(chǎn)力提升。特別是對于初級開發(fā)人員,這種技術(shù)的應(yīng)用大大簡化了他們的工作流程。
(二)人類監(jiān)督與專業(yè)知識的重要性
盡管Generative AI提供了許多好處,但人類監(jiān)督和專業(yè)知識仍然至關(guān)重要。AI生成的代碼和解決方案需要通過專業(yè)的人眼來審核和優(yōu)化,以確保它們滿足高標(biāo)準(zhǔn)的質(zhì)量和安全要求。例如,Vanguard正在以人類監(jiān)督的方式安全地試驗(yàn)Generative AI工具,以確保技術(shù)的有效利用和風(fēng)險(xiǎn)管理。
(三)Generative AI的前瞻性應(yīng)用
隨著大型語言模型(LLM)的發(fā)展,企業(yè)有機(jī)會在其代碼庫上進(jìn)行訓(xùn)練,進(jìn)一步提高開發(fā)人員和數(shù)據(jù)工程師的生產(chǎn)力。這種個(gè)性化的AI工具能夠更好地理解和適應(yīng)企業(yè)的特定需求,從而提供更精準(zhǔn)的支持。Vanguard的實(shí)踐顯示,即使是適度的生產(chǎn)力提升,也能為客戶釋放出有意義的價(jià)值,特別是在大型開發(fā)團(tuán)隊(duì)中。
綜上所述,Generative AI正在軟件開發(fā)領(lǐng)域中扮演著越來越重要的角色,它不僅加速了開發(fā)過程,還提升了軟件的質(zhì)量和開發(fā)人員的生產(chǎn)力。然而,人類監(jiān)督和專業(yè)知識的結(jié)合是實(shí)現(xiàn)這些好處的關(guān)鍵,確保AI技術(shù)的應(yīng)用既高效又安全?!?/span>
金融技術(shù)提供商Momnt正在使用Github Copilot,這是一個(gè)由微軟GitHub和OpenAI開發(fā)的基于云的人工智能工具,通過自動(dòng)完成代碼來幫助各種開發(fā)平臺的用戶。
Momnt的軟件開發(fā)團(tuán)隊(duì),包括工程和QA專業(yè)人員,使用GitHub Copilot來支持公司貸款平臺的開發(fā),以及其他工具。
總裁兼首席技術(shù)官Brian Lanehart說:“我們希望我們的軟件開發(fā)人員和工程師使用人工智能和代人工智能工具來幫助生成各種測試用例,我們的質(zhì)量保證工程師將使用這些工具在不犧牲時(shí)間的情況下更徹底地進(jìn)行評估?!?/span>
Lanehart說:“到目前為止,我們的團(tuán)隊(duì)對新技術(shù)解決方案和人工智能的集體接受是積極的。”“他們?nèi)匀缓芎闷?,尋找在日常流程中?shí)施的新工具。這樣做不僅可以簡化日常任務(wù),還可以提高團(tuán)隊(duì)的整體效率?!?/span>
Lanehart說,隨著開發(fā)團(tuán)隊(duì)越來越熟悉這些工具,他們對工具的理解以及將它們應(yīng)用于不同業(yè)務(wù)場景的能力將帶來更大的價(jià)值。
Lanehart說:“例如,能夠?qū)⒄麄€(gè)應(yīng)用程序請求完全傳達(dá)給生成所有必要代碼的人工智能,這將大大減少任務(wù)時(shí)間線?!彼f,這意味著工程師或團(tuán)隊(duì)可以自由地花更多時(shí)間創(chuàng)造性地或戰(zhàn)略性地思考整個(gè)項(xiàng)目以及如何進(jìn)一步改進(jìn)它。
首席技術(shù)官Ali Dasdan表示,軟件公司ZoomInfo的開發(fā)團(tuán)隊(duì)渴望在去年新一代人工智能工具可供大規(guī)模使用后進(jìn)行實(shí)驗(yàn)。
最早的用例之一為該公司的軟件開發(fā)人員提供了訪問Github Copilot的權(quán)限。Dasdan說,在初步成功后,ZoomInfo已開始在整個(gè)組織中整合Gen AI,以提高生產(chǎn)力。一個(gè)例子是文檔搜索和總結(jié)。
“軟件開發(fā)需要大量的文檔,”Dasdan說?!爱a(chǎn)品要求和架構(gòu)設(shè)計(jì)等文檔在運(yùn)營良好的組織中是標(biāo)準(zhǔn)的,”但開發(fā)團(tuán)隊(duì)需要大量時(shí)間來審查這些文檔。他說:“Gen AI通過在短短幾分鐘內(nèi)總結(jié)和索引這些文檔,騰出了大量時(shí)間?!?/span>
試驗(yàn)的成功使該公司獲得了幾乎所有軟件開發(fā)人員的許可證。達(dá)斯丹說:“然而,我們的工程師仍然需要審查該工具創(chuàng)建的代碼?!薄拔覀円呀?jīng)接受了數(shù)萬行代碼,我們意識到節(jié)省了大量時(shí)間?!?/span>
二、限制、團(tuán)隊(duì)影響和經(jīng)驗(yàn)教訓(xùn)
早期使用一代人工智能的關(guān)鍵收獲之一是,它不會取代人類開發(fā)人員。
該公司數(shù)據(jù)和人工智能實(shí)踐負(fù)責(zé)人Kirstie Tiernan說,在IT服務(wù)提供商BDO Digital,最初對Gen AI自動(dòng)生成復(fù)雜軟件的潛力產(chǎn)生了“興奮之波”。
Tiernan說:“然而,我們很快了解到,人工智能是增強(qiáng)人類專業(yè)知識的工具,而不是取代它?!薄靶枰斯けO(jiān)督,以確保人工智能生成代碼的質(zhì)量和功能,這種需要很快變得明顯。這是一種伙伴關(guān)系,人工智能處理一些繁重的工作,使開發(fā)人員能夠?qū)W⒂趹?zhàn)略性問題解決?!?/span>
IT服務(wù)提供商BDO Digital正在經(jīng)歷的一個(gè)關(guān)鍵教訓(xùn)是將人工智能工具與現(xiàn)有工作流程集成的重要性。Tiernan說:“這不僅僅是采用新工具;[它]更多的是關(guān)于開發(fā)團(tuán)隊(duì)如何運(yùn)營、溝通和協(xié)作?!薄凹蛇^程突出了我們所有開發(fā)實(shí)踐中對靈活性和適應(yīng)性的需求。”
IT服務(wù)提供商BDO Digital更有趣的驚喜之一是通用人工智能對創(chuàng)造力和創(chuàng)新的影響。Tiernan說:“通過自動(dòng)化日常任務(wù),開發(fā)人員可以自由地應(yīng)對更復(fù)雜的挑戰(zhàn),并探索更多創(chuàng)新的解決方案?!薄翱吹饺斯ぶ悄苋绾纬蔀槿祟悇?chuàng)造力和構(gòu)思的催化劑,真是令人興奮?!?/span>
Momnt的Lanehart說,對于任何新技術(shù)解決方案,最大的挑戰(zhàn)之一是確定團(tuán)隊(duì)?wèi)?yīng)該在多大程度上集成或依賴該工具。
他說:“我們的核心信念之一是利用技術(shù)來賦權(quán)和支持人們?!薄耙虼?,我們知道我們不希望通用人工智能工具取代我們的員工。相反,我們希望這些工具能夠補(bǔ)充這些人為團(tuán)隊(duì)帶來的技能,并幫助他們更有效、更高效地運(yùn)作。”
Lanehart說,整個(gè)技術(shù)行業(yè)對能夠監(jiān)督、實(shí)施和運(yùn)行Gen AI工具的人的需求正在增加。例如,他說,這可能是一個(gè)在產(chǎn)品開發(fā)團(tuán)隊(duì)中工作的員工,但其核心專業(yè)知識是ChatGPT或Copilot。
Lanehart說,隨著通用人工智能變得越來越普遍,“我們看到擁有使用這些工具交叉培訓(xùn)的人是有價(jià)值的?!薄拔覀兿M腥四軌蛞圆煌姆绞浇鉀Q新問題,我們希望他們將這些知識帶回我們的團(tuán)隊(duì)?!?/span>
Lanehart說,Momnt已經(jīng)開始鼓勵(lì)其軟件開發(fā)團(tuán)隊(duì)成員擴(kuò)大對人工智能工具的理解,將其應(yīng)用于個(gè)人興趣,如音樂、喜劇和其他領(lǐng)域。他說:“發(fā)現(xiàn)人工智能在金融科技和個(gè)人興趣中的應(yīng)用之間的重疊,使我們的團(tuán)隊(duì)處于推動(dòng)新行業(yè)增長的獨(dú)特地位?!?/span>
首席人工智能官Akshay Sharma說,醫(yī)療保健技術(shù)公司Lyric正在利用LLM的力量來改進(jìn)幾個(gè)流程。但早期的教訓(xùn)之一是需要做多少工作才能從法學(xué)碩士中獲得正確的價(jià)值。
Sharma說:“開箱即用,他們有點(diǎn)籠統(tǒng),錯(cuò)過了目標(biāo),產(chǎn)生了幻覺?!薄暗?,有了正確的工程和設(shè)計(jì)[以及]運(yùn)行帶有提示的實(shí)驗(yàn),我們從中得到了很多啟示。我們必須建立大量的實(shí)驗(yàn)和測試框架,以持續(xù)評估人工智能?!?/span>
Freshworks的Ramakrishnan認(rèn)為,Gen AI有潛力使開發(fā)人員能夠更快地將應(yīng)用程序推向市場;“然而,他們的技能需要調(diào)整,以成為快速工程的專業(yè)人士,”他說?!叭斯ぶ悄苌傻木幋a只會與所要求的提示類型一樣有價(jià)值和準(zhǔn)確。”
此外,Ramakrishnan補(bǔ)充說,人工智能代碼需要由經(jīng)驗(yàn)豐富的開發(fā)人員進(jìn)行驗(yàn)證,以確認(rèn)準(zhǔn)確性。他說:“我怎么強(qiáng)調(diào)人類對機(jī)器生成代碼進(jìn)行代碼審查的價(jià)值都不為過?!薄氨M管人工智能對工作場所具有生產(chǎn)力價(jià)值,但它遠(yuǎn)非完美,需要監(jiān)督。”
此外,Ramakrishnan說,人工智能的使用引發(fā)了一些與算法中引入偏見相關(guān)的道德問題,如果不進(jìn)行檢查,可能會導(dǎo)致意想不到的后果。他說:“它還引入了信息安全領(lǐng)域的新考慮因素?!薄皦娜爽F(xiàn)在有更廣泛的范圍,可以在數(shù)百萬(如果不是數(shù)十億)系統(tǒng)中引入惡意代碼?!?/span>
未來將不斷需要重新調(diào)整勞動(dòng)力,以有效利用人工智能,Ramakrishnan。他說:“話雖如此,我們幾乎沒有觸及通用人工智能生產(chǎn)力價(jià)值的表面?!薄白詈玫娜兆泳驮谖覀兠媲?。”
三、采取開發(fā)人員的視角
確定通用人工智能對開發(fā)團(tuán)隊(duì)影響的最佳方法之一是要求團(tuán)隊(duì)成員權(quán)衡他們的經(jīng)驗(yàn)。為了收集關(guān)于ZoomInfo使用GitHub Copilot的內(nèi)部反饋,該公司對大約80名開發(fā)人員進(jìn)行了調(diào)查。研究表明,Copilot有幾個(gè)優(yōu)勢。
一個(gè)是生成樣板和重復(fù)代碼的能力,這使開發(fā)人員能夠?qū)W⒂趶?fù)雜的邏輯。另一個(gè)是大幅減少編寫單元測試所需的時(shí)間。ZoomInfo的Dasdan說:“許多用戶報(bào)告說,該工具通過提供有用的代碼建議和自動(dòng)完成行來提高他們的編碼速度?!?/span>
這些優(yōu)勢為ZoomInfo的開發(fā)人員帶來了一些好處,大多數(shù)人表示Copilot將完成任務(wù)所需的時(shí)間平均減少了20%。大約三分之二的人表示,使用Gen AI技術(shù)使他們能夠每次沖刺完成更多任務(wù),大約四分之三的人表示,他們的工作質(zhì)量得到了提高。
Dasdan說:“基于這些強(qiáng)勁的早期結(jié)果,我們預(yù)計(jì)Gen AI工具將繼續(xù)提高我們工程師的生產(chǎn)力,并從編寫實(shí)際生產(chǎn)代碼的輔助任務(wù)中節(jié)省時(shí)間。”
四、軟件開發(fā)的通用人工智能未來
開發(fā)領(lǐng)導(dǎo)者相信,人工智能作為開發(fā)工具的重要性只會越來越大。
BDO Digital的Tiernan說:“展望未來,通過生成式人工智能提高生產(chǎn)力的潛力是巨大的?!薄半S著這些工具越來越集成到軟件開發(fā)結(jié)構(gòu)中,我們可能會看到開發(fā)時(shí)間和成本的大幅減少。”
例如,Tiernan說,自動(dòng)生成樣板代碼并為錯(cuò)誤修復(fù)提供實(shí)時(shí)建議,可以讓某些傳統(tǒng)開發(fā)任務(wù)所需的時(shí)間減半。
Tiernan說:“但真正的游戲規(guī)則改變者將是生成式人工智能如何使我們能夠更有效地解決更復(fù)雜的問題?!薄巴ㄟ^人工智能處理常規(guī)方面,開發(fā)人員可以專注于戰(zhàn)略創(chuàng)新,突破軟件解決方案的可能范圍。”
作者:Bob Violino(鮑勃·維奧里)
Bob Violino(鮑勃·維奧里)是一名自由撰稿人,涵蓋了各種技術(shù)和商業(yè)話題。
譯者:寶藍(lán) ?@lex