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

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