在GenAI浪潮中,編程助手是一個顯而易見的早期用例,但承諾的生產力提升并未如預期般顯著,甚至可能不存在。
許多開發者表示,AI編程助手提高了他們的工作效率,但最近一項研究對其產出進行了衡量,發現并無顯著提升。根據提供代碼和協作數據洞察的公司 Uplevel 的研究,使用 GitHub Copilot 還引入了41%更多的漏洞。
該研究衡量了拉取請求(PR)周期時間,即將代碼合并到代碼庫的時間,以及 PR 吞吐量,即合并的拉取請求數量。研究發現,使用 Copilot 的開發者在這些方面沒有顯著改進。
Uplevel 使用其客戶生成的數據,將大約800名開發者在使用 GitHub Copilot 三個月期間的產出與使用前的三個月進行了比較。
衡量開發者倦怠
除了衡量生產力外,Uplevel 的研究還考察了開發者倦怠的因素,發現 GitHub Copilot 在這方面也沒有幫助。標準工作時間之外的工作時長在使用代碼工具的測試組和控制組中都減少了,但在不使用 Copilot 時減少得更多。
Uplevel 的研究是出于對 AI 編程助手普及后所宣稱的重大生產力提升的好奇,Uplevel 的產品經理兼數據分析師 Matt Hoffman 說道。今年8月發布的一項 GitHub 調查顯示,97% 的軟件工程師、開發者和程序員報告使用了AI編程助手。
“我們看到不同的研究顯示,人們說‘這對我們的生產力非常有幫助’,但我們也看到一些人表示,‘你知道嗎?我反而更多地成了(代碼)審查員。’” Hoffman 說道。
GitHub Copilot 的一位代表沒有對這項研究發表評論,但指出了一項最近的研究,表示開發者使用該編程助手編寫代碼的速度提高了55%。
Hoffman 說,Uplevel 團隊最初也預計會看到一些生產力提升。
“我們的團隊假設是,PR周期時間會縮短,”Hoffman 說道,“我們認為他們會寫出更多代碼,而且我們實際上認為漏洞率會降低,因為你在使用這些GenAI工具幫助你在發布前審查代碼。”
Hoffman 承認,除了 PR 周期時間和 PR 吞吐量外,可能還有其他方式來衡量開發者的生產力,但 Uplevel 認為這些指標是衡量開發者產出的有力標準。
保持關注
此外,Uplevel 并未建議企業停止使用編程助手,因為這些工具正在快速進步。
Hoffman 補充道:“我們聽說人們現在更多地成為代碼的審查者,而不是過去那樣直接編寫代碼,有時你可能會對生成的代碼過于信任,認為它正在執行你期望的任務。你需要密切關注生成的內容,確保它真正符合你的預期。”
在實際工作中,開發團隊報告了不同的結果。
Gehtsoft USA 是一家定制軟件開發公司,其 CEO Ivan Gekht 表示,他們的開發者在使用基于大型語言模型(LLM)的編程助手時,并未看到顯著的生產力提升。Gehtsoft 已經在沙盒環境中測試了這些編程助手,但尚未在客戶項目中使用它們。
“理解和調試 AI 生成的代碼變得越來越具有挑戰性,故障排查的資源消耗如此之大,以至于重寫代碼比修復它更容易。”——Ivan Gekht,Gehtsoft CEO
他表示:“使用 LLM 提高生產力不僅要求 LLM 在能力上與人類相媲美,還要求用戶知道如何最有效地使用 LLM。LLM 不具備批判性思維、自我意識或思考能力。”
Gekht 補充道,寫幾行代碼與全面的軟件開發之間有很大的區別。他認為,編寫代碼就像寫一句話,而開發軟件就像寫一本小說。
“軟件開發90%依賴于大腦的運作——理解需求、設計系統、考慮限制和約束,”他補充道。“將所有這些知識和理解轉換為實際代碼是工作中較為簡單的一部分。”
與 Uplevel 的研究類似,Gekht 也認為 AI 助手會在代碼中引入錯誤。AI 生成的代碼的每一次新迭代都會因不同部分使用了不同的提示而導致一致性降低。
他說:“理解和調試 AI 生成的代碼變得越來越具有挑戰性,故障排查所需的資源消耗如此之大,以至于重寫代碼比修復它更容易。”
效率提升的實例
云服務提供商 Innovative Solutions 的編程助手使用體驗則大不相同,該公司的 CTO Travis Rehl 表示,使用像 Claude Dev 和 GitHub Copilot 這樣的編程助手,公司的生產力得到了顯著提升。公司還使用了自家開發的 Anthropic 集成來監控拉取請求并驗證代碼質量。
Rehl 觀察到,開發者的生產力提升了兩到三倍,這體現在開發者工單的完成速度、客戶交付成果的周轉時間以及通過代碼中漏洞數量來衡量的工單質量上。
他還提到,團隊最近通過使用編程助手在24小時內完成了一個客戶項目,而過去完成同樣的項目大約需要30天。
然而,Rehl 認為,關于編程助手的某些炒作——比如聲稱它們將取代整個開發團隊,而不是簡單地作為補充或重新塑造開發流程——是不切實際的。他補充說,編程助手可以用于快速替換代碼或通過重新設計代碼片段來優化代碼路徑。
他表示:“對編程助手的期望應適當調整,因為它們不會在第一次嘗試中寫出所有代碼,甚至不會寫出全部正確的代碼,這是一個迭代的過程,正確使用時,可以使開發者的編碼速度提高兩到三倍。”
企業網D1net(hfnxjk.com):
國內主流的to B IT門戶,旗下運營國內最大的甲方CIO專家庫和智力輸出及社交平臺-信眾智(www.cioall.com)。旗下運營19個IT行業公眾號(微信搜索D1net即可關注)。
版權聲明:本文為企業網D1Net編譯,轉載需在文章開頭注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。