近年來,生成式 AI 編碼助手如 GitHub Copilot 等工具被廣泛推廣,号稱能夠提高開發者的生産力,減少開發時間。然而,最新研究表明,這些工具的實際效果可能不如預期,甚至在某些情況下可能導緻代碼品質下降和工作效率降低。
原文連結:https://shenisha.substack.com/p/are-ai-coding-assistants-really-saving
作者 | Shenisha 翻譯 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)
近期,一項研究對“AI 編碼工具能夠提升開發者生産力”的說法提出了質疑,結果顯示:使用 GitHub Copilot 反而導緻 Bug 增加了 41%,突顯其代碼品質堪憂;盡管對照組和實驗組的工作時長都有所減少,但使用 GitHub Copilot 的開發者的倦怠感和工作壓力并未是以減少;此外,開發者還需花費更多時間審查 AI 生成的代碼,一定程度上抵消了其潛在節省的時間。
綜合看下來,AI 編碼工具對開發者生産力的影響似乎微乎其微。
調查了 800 名開發者,Uplevel 指出:GitHub Copilot 無功無過
在開發者社群中,圍繞 AI 編碼助手是否真正提升生産力的讨論仍在繼續。雖然有些公司報告稱 AI 工具帶來了顯著的生産力提升,但也有一些公司發現這些工具引入了更多錯誤,并使調試過程變得更加複雜。尤其是初級開發者,即便有 AI 工具的幫助也難以達到進階開發者的效率。
編碼工具是生成式 AI 崛起的早期應用之一,但分析公司 Uplevel 的一項最新研究表明,預期的生産力提升可能被高估了,甚至根本不存在。Uplevel 通過分析編碼和協作資料發現,使用 GitHub Copilot 導緻了錯誤率上升 41%。
在《生成式 AI 能否提升開發者生産力》報告中,Uplevel 提到:“這表明 Copilot 可能對代碼品質産生了負面影響。工程主管可能需要調查帶有 Bug 的拉取請求,并為負責任地使用生成式AI實施保障措施。”
研究衡量了拉取請求(PR)周期時間(将代碼合并到倉庫所需的時長)以及 PR 吞吐量(即合并請求的數量),結果發現,使用 GitHub Copilot 的開發者在這些名額上并未顯著改進——這些發現來自 Uplevel 的研究報告,其旨在回答以下三個關鍵問題:
- 使用 GitHub Copilot 是否能幫助開發者更快地編寫代碼?
- GitHub Copilot 是否能幫助開發者産出更高品質的代碼?
- GitHub Copilot 是否能緩解開發者的倦怠感?
Uplevel 分析了其客戶的資料,對比了約 800 名開發者在采用 GitHub Copilot 前後三個月的表現,得出了以下兩個主要發現:
(1)效率名額無顯著變化
“當比較有無測試情況下的PR周期時間、吞吐量和複雜度時,GitHub Copilot 對開發者既無幫助也無阻礙,也未提高編碼速度。盡管其中一些名額具有統計學意義,但這些變化對技術結果并無實際影響——例如,PR 周期時間僅減少了 1.7 分鐘。”Uplevel 在報告中指出。
(2)減輕職業倦怠感
Uplevel 的“持續線上”名額(該名額用于追蹤超出正常工作時間之外的工作時長,是檢驗職業倦怠感的先行名額)在兩組中都出現了下降。然而,使用 GitHub Copilot 的開發者下降了 17%,而不使用該工具的開發者則下降了近 28%。
GitHub 釋出的研究結果,得出了不同結論
“Uplevel 的研究動機是源于對 AI 編碼助手将成為主流這一說法感到好奇。”Uplevel 的産品經理兼資料分析師 Matt Hoffman 說。相比之下,GitHub 于 2024 年 8 月釋出的一項研究發現,97% 的軟體工程師、開發者和程式員報告稱他們正在使用 AI 編碼助手,且其他研究也有類似發現。
GitHub 的研究報告指出,超過 97% 的受訪者在工作中曾使用過 AI 編碼工具。然而,對于公司是否積極鼓勵或允許使用這些工具,所占比例較小,且這一比例因地區而異。以下是該調查的一些關鍵發現:
● 生成式 AI 在軟體開發領域的浪潮持續增長。此次調研覆寫了 2000 名參與者,幾乎所有人(超過 97%)都曾經以某種形式使用過這些工具,無論是在工作中還是工作之外(盡管并非所有公司都正式認可其使用)。
● 盡管許多受訪者表示其所在公司對 AI 技術持開放态度,但仍有改進空間。調查資料顯示,在不同市場中,59% 至 88% 的受訪者表示“他們的公司積極鼓勵或允許使用這些工具”。
● 軟體開發團隊正在逐漸認識到 AI 編碼工具的更多好處,包括建立更安全的軟體、提高代碼品質、生成更好的測試用例,以及加快新程式設計語言的學習過程。這些改變為開發者節省了大量時間,讓他們能夠投入到更具戰略意義的任務當中。
GitClear 的研究人員還發現,像 GitHub Copilot 這樣的 AI 工具主要建議添加新代碼,較少推薦更新或删除代碼,這往往會導緻備援代碼的産生。此外,他們還觀察到“代碼反複修改”現象的急劇增加,也就是說代碼被頻繁修改——通常這是代碼品質不佳的表現。
“每次疊代生成的 AI 代碼越來越不一緻,因為不同部分是基于不同提示而生成的。結果就是,代碼變得越來越難以了解和調試,導緻故障排查耗費大量資源,有時重寫代碼反而更加容易,”一位使用者指出,AI 目前還未能提升生産力。
謹慎采用 AI 編碼助手的政策
GitHub Copilot 等 AI 工具的引入提出了幾個重要問題:AI 是否能幫助開發者更快地工作?它能否提高代碼品質并防止職業倦怠?對此,Uplevel 在報告中回應:“對于目前的群體來說,答案是否定的。然而創新正在迅速發展,GitHub 發現 Copilot 提高了開發者的滿意度。”
總體來說,工程上司可能需要以一種謹慎的态度來考慮如何采用 Copilot:
- 設定具體目标:明确将 GitHub Copilot 整合到團隊工作流程中的預期成果。比如你希望實作哪些具體改進?
- 提供團隊教育訓練:進行初步教育訓練,解釋在什麼情況下應該或不應該使用 GitHub Copilot,并建立保障措施以確定正确實施。
- 繼續嘗試生成式 AI 的應用:确定 Copilot 表現出色的具體應用場景,并優化能帶來最佳效果的提示詞。在整個組織内分享成功的政策,以便複制成功經驗。
- 監控技術效率名額:進行 A/B 測試,以收集客觀量化的資料,評估 AI 是否真正提高了開發者的生産力,并幫助實作營運目标。
最後,還有一則好消息:PM-Summit 全球産品經理大會「雲會員」重磅來襲!雲會員将通過線上線下的多種互動管道,與全球頂尖的産品經理們交流、學習與成長。無論您身處何地,雲會員計劃都将為您打開通往知識與資源寶庫的大門。
除此之外,全球機器學習技術大會(ML-Summit)将于2024年11月14-15日在北京金茂威斯汀大飯店舉辦。聚焦大模型領域的工程實踐,包括海内外50+講師,12大主題。詳情參考官網:http://ml-summit.org/ (或點選原文連結)