作者:METR 研究團隊 翻譯與整理:編程獅(w3cschool.cn)
一、研究背景:為什么關(guān)注AI對開發(fā)者效率的影響?
隨著AI工具在軟件開發(fā)領(lǐng)域的廣泛應用,理解其對開發(fā)者效率的實際影響變得至關(guān)重要。此前的編碼/代理基準測試雖然有助于了解AI能力,但往往犧牲了現(xiàn)實性以換取規(guī)模和效率。這些基準測試通常任務(wù)自包含,無需先前上下文即可理解,并且使用算法評估,未能捕捉許多重要能力。這可能導致基準測試高估AI能力。另一方面,由于基準測試沒有實時人類交互,模型可能因小型瓶頸而無法完成任務(wù),盡管在實際使用中人類會修復這些問題,這可能導致我們低估模型能力。
我們對評估AI在現(xiàn)實場景中的影響感興趣,特別是AI對AI研發(fā)本身的影響,這可能帶來顯著風險。例如,極快的AI進步可能導致監(jiān)督或安全措施的崩潰。測量AI對軟件開發(fā)者效率的影響,為基準測試提供了補充證據(jù),有助于全面了解AI對AI研發(fā)加速的總體影響。
二、研究方法:如何測量AI工具對開發(fā)效率的影響?
為直接測量AI工具對軟件開發(fā)的現(xiàn)實影響,我們招募了16位經(jīng)驗豐富的開發(fā)者,他們來自大型開源倉庫(平均擁有22k+星和1M+代碼行),并已貢獻多年。開發(fā)者提供了246個真實問題列表,這些問題對倉庫有價值——包括bug修復、功能添加和重構(gòu),通常屬于他們的常規(guī)工作。然后,我們將每個問題隨機分配為允許或不允許使用AI工具。當允許使用AI時,開發(fā)者可使用他們選擇的任何工具(主要是Cursor Pro與Claude 3.5/3.7 Sonnet——研究時的前沿模型);當不允許使用AI時,開發(fā)者在沒有生成式AI輔助的情況下工作。開發(fā)者完成這些任務(wù)(平均耗時兩小時)時錄制屏幕,并自我報告所需的總實現(xiàn)時間。我們以每小時150美元的報酬補償開發(fā)者參與研究。
三、核心發(fā)現(xiàn):AI工具為何反而拖慢了開發(fā)速度?
研究結(jié)果顯示,當開發(fā)者被允許使用AI工具時,他們完成問題所需的時間比不使用AI工具時長19%——這是一個顯著的減速,與開發(fā)者信念和專家預測相悖。這一感知與現(xiàn)實之間的差距引人注目:開發(fā)者預期AI能將其速度提升24%,即使在經(jīng)歷了減速后,他們?nèi)韵嘈臕I使其速度提升了20%。
開發(fā)者預期AI提速 | 24% |
---|---|
實際使用AI后感知提速 | 20% |
實際觀察到的減速 | 19% |
四、關(guān)鍵因素分析:哪些原因?qū)е铝藴p速?
我們研究了20個可能解釋減速的潛在因素,發(fā)現(xiàn)以下5個因素可能起主要作用:
因素分類 | 具體描述 |
---|---|
任務(wù)切換成本 | 開發(fā)者在使用AI工具時頻繁切換任務(wù),導致效率下降 |
AI輸出審核 | 開發(fā)者需要花費額外時間審核和修正AI生成的代碼 |
過度依賴AI | 開發(fā)者可能因過度依賴AI而忽視自身技能的應用 |
工具學習曲線 | 掌握AI工具的有效使用需要時間,短期內(nèi)可能降低效率 |
隱性要求處理 | 高質(zhì)量代碼要求(如文檔、測試覆蓋率)AI工具可能無法完全滿足 |
五、研究結(jié)論:如何看待AI工具的實際效用?
研究結(jié)果表明,在特定條件下,AI工具可能并未顯著提升開發(fā)者效率,反而導致減速。這并不意味著AI工具在所有場景下都無效。可能的解釋包括:
觀點 | 解釋 |
---|---|
AI工具的潛力未充分挖掘 | 開發(fā)者可能未充分利用AI工具的所有功能,或缺乏優(yōu)化提示/腳手架 |
任務(wù)類型差異 | AI在處理基準測試中的任務(wù)表現(xiàn)良好,但在現(xiàn)實復雜任務(wù)中可能面臨挑戰(zhàn) |
人類因素影響 | 開發(fā)者可能因享受使用AI的過程或預期未來收益而高估其效率提升 |
六、未來展望:如何持續(xù)評估AI對開發(fā)效率的影響?
我們計劃在未來運行類似研究,以跟蹤AI帶來的提速(或減速)趨勢,特別是在這種評估方法可能比基準測試更難被操縱的情況下。如果AI系統(tǒng)能夠顯著加速我們設(shè)定中的開發(fā)者效率,這可能預示著AI研發(fā)進程的快速加速,進而可能導致風險擴散、監(jiān)督和安全措施的崩潰或權(quán)力過度集中。
七、常見問題解答
問題 | 回答 |
---|---|
開發(fā)者為何在使用AI時反而變慢? | 開發(fā)者可能因頻繁審核AI輸出、處理AI工具未滿足的隱性代碼要求以及任務(wù)切換成本而變慢 |
研究結(jié)果是否適用于所有開發(fā)者? | 本研究僅針對經(jīng)驗豐富的開源開發(fā)者,結(jié)果可能不適用于初學者或不熟悉的代碼庫 |
AI工具是否完全無用? | 不是。AI工具可能在其他場景(如處理原型或研究代碼)中非常有用,具體取決于任務(wù)類型和開發(fā)者經(jīng)驗 |
八、總結(jié)
本研究表明,盡管AI工具在特定基準測試中表現(xiàn)出色,但在現(xiàn)實復雜任務(wù)中,其對開發(fā)者效率的影響可能不如預期。理解這些差異對于合理評估AI工具的實際效用至關(guān)重要。我們鼓勵開發(fā)者根據(jù)具體任務(wù)需求,結(jié)合自身經(jīng)驗,審慎選擇和使用AI工具。