生成式 AI 如何釋放開發(fā)者的生產(chǎn)力?

生成式 AI 可以將程序員的開發(fā)速率提高兩倍。技術(shù)管理者有望通過 AIGC 應(yīng)用,大幅縮短四類關(guān)鍵開發(fā)任務(wù)的完成時間,進而提升組織生產(chǎn)力。

——麥肯錫《通過生成式 AI 釋放開發(fā)者生產(chǎn)力》

01 生成式 AI 將如何影響研發(fā)效能?

麥肯錫最近的一項實證研究發(fā)現(xiàn),生成式 AI 工具可以顯著提升程序員的開發(fā)速率,進而顯著提升組織生產(chǎn)力。

該研究對來自美國和亞洲各地的 40 余名開發(fā)者展開了觀察和實驗。參與者們需要執(zhí)行三種常見的開發(fā)任務(wù)——代碼生成、代碼重構(gòu)和文檔編寫,而開發(fā)者特征、任務(wù)的完成時間和復(fù)雜性,以及代碼質(zhì)量等數(shù)據(jù)被科學地記錄下來。

研究結(jié)果表明,在生成式 AI 的輔助下,可維護性代碼文檔可以在一半的時間內(nèi)完成,新代碼生成效率提升近一倍,而代碼重構(gòu)類任務(wù)的完成時間也節(jié)省近三分之一。在新工具和流程的推動下,結(jié)合正確的技能提升和企業(yè)賦能,這些速度的提升可以轉(zhuǎn)化為生產(chǎn)力的提高,并超越過去工程生產(chǎn)力的進步。

不過,任務(wù)完成時間的減少也可能會因開發(fā)任務(wù)的復(fù)雜性和開發(fā)者經(jīng)驗而有所差異。對于高復(fù)雜度任務(wù),由于開發(fā)者缺乏必要的背景知識,其時間節(jié)省不足 10%。此外,在某些情況下,使用了 AIGC 工具的初級開發(fā)者(指經(jīng)驗不足一年的開發(fā)者)比不使用工具要多花 7%-10% 的時間。

研究還發(fā)現(xiàn),當開發(fā)者和工具協(xié)作時,研發(fā)質(zhì)量并不會因為速度提升而犧牲或降低。有 AI 輔助的代碼在缺陷率、可維護性和可讀性等方面的表現(xiàn)更佳。參與者們指出,開發(fā)者們正在迭代中積極地應(yīng)用工具以實現(xiàn)更高的質(zhì)量,是以該技術(shù)應(yīng)該用于賦能開發(fā)者,而不是取代他們。

綜合來看,想要使用生成式 AI 并最大限度地提高生產(chǎn)力和降低風險,技術(shù)管理者需要采取結(jié)構(gòu)化方法,比如生成式 AI 的培訓(xùn)和輔導(dǎo)、用例選擇、技能提升和風險控制。

02 生成式 AI 在四個方面卓有成效

1. 更快完成手動和重復(fù)的工作

生成式 AI 可以處理常規(guī)任務(wù),例如自動填充標準函數(shù)、完成鍵入中編碼語句、根據(jù)給定提示按一定標準格式書寫代碼功能文檔等。在此過程中,AI 就能解放開發(fā)者,讓他們能夠解決更復(fù)雜的業(yè)務(wù)挑戰(zhàn),快速開發(fā)新功能。

2. 更高效地啟動新代碼的初稿

面對空白文件時,開發(fā)者可以在 AI 工具中獲得編碼建議。參與者反饋到,AI 輔助工具提供了有用的代碼建議,這使他們擺脫了寫作障礙,可以更快地開始創(chuàng)作?!高@類工具使我能夠更快地進入心流狀態(tài)」,一位參與者如是說到。

3. 加速現(xiàn)有代碼的更新

如果能提供有效的提示詞,開發(fā)者使用生成式 AI 還可以更快地對現(xiàn)有代碼展開更多更改。例如,為了減少從在線編碼庫調(diào)整代碼和改進預(yù)寫代碼的時間,開發(fā)者可以將代碼作為提示詞,提交迭代查詢,要求工具根據(jù)事先提供的標準進行調(diào)整。

4. 提高開發(fā)者應(yīng)對新挑戰(zhàn)的能力

雖然生成式 AI 對復(fù)雜任務(wù)的提升效果比較有限,但它可以幫助開發(fā)者快速溫習完成工作所需的陌生代碼庫、語言或框架。在面臨新挑戰(zhàn)時,他們可以轉(zhuǎn)向工具來獲得如概念解釋和框架使用指南等幫助,以更好地完成工作。

因此,使用 AIGC 工具執(zhí)行復(fù)雜任務(wù)的開發(fā)者在規(guī)定時間內(nèi)完成任務(wù)的可能性要比不使用工具的開發(fā)者高出 25%-30%。

除了生產(chǎn)力的提高,研究還發(fā)現(xiàn),讓開發(fā)者發(fā)揮出最大生產(chǎn)力可以顯著改善開發(fā)者的體驗,從而幫助公司留住并激發(fā)最優(yōu)秀的人才。使用生成式 AI 工具的開發(fā)者,其總體幸福感、滿足感和心流狀態(tài)是其他人的兩倍多。

03 依賴開發(fā)者專業(yè)知識的三個領(lǐng)域

生成式 AI 可以做很多事情,但其使用效果取決于使用它們的開發(fā)者的技能水平。從參與者的反饋來看,人類的監(jiān)督和參與在以下三個領(lǐng)域至關(guān)重要:

1. 檢查代碼的漏洞和錯誤

生成式 AI 有時會提供不正確的編碼建議,甚至會在代碼中引入錯誤。一名開發(fā)者表示,她必須輸入大量的提示來糾正工具的錯誤假設(shè),然后才能得到答案。

2. 貢獻必要的背景信息

雖然現(xiàn)成的 AIGC 應(yīng)用擁有很多編碼知識,但它們不知道項目和組織的具體需求。要確保最終的軟件產(chǎn)品能與其他應(yīng)用程序無縫集成,滿足公司的性能和安全要求,并最終解決用戶訴求,這些信息必不可少。

開發(fā)者需要通過提示詞為 AI 提供背景信息,包括代碼如何使用、由誰使用、接口類型以及軟件將與之交互的其他系統(tǒng),使用的數(shù)據(jù)等等。

3. 應(yīng)對或分解棘手的編碼要求

參與者還提到,生成式 AI 更適合回答簡單的問題(如優(yōu)化代碼片段),而不是復(fù)雜的需求(如將多個框架與不同代碼邏輯相結(jié)合)。

一位開發(fā)者分享到,為了獲得可用的解決方案來滿足多方面的需求,他首先必須手動地組合各個組件,或?qū)⒋a分解為更小的片段?!府攩栴}變得更加復(fù)雜并且需要考慮全局時,生成式 AI 提供的幫助最小?!?/p>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容