AI 程式碼審查工具 CodeRabbit 實測:超過五成建議遭開發者打回票

一項針對自主程式碼審查工具 CodeRabbit 的大規模實證研究顯示,AI 代理提出的審查建議有 56.3% 遭到開發者拒絕,僅 36.4% 被接受,另有 7.3% 引發討論。

陶土與橄欖綠彈簧的機械打字機,代碼審查拒收隱喻

AI 代理程式碼審查工具正逐步融入開發流程,但開發者究竟如何看待這些自動化建議?一篇最新實證研究以 CodeRabbit 為案例,分析了來自 239 個 GitHub 倉庫、10,191 個 pull request 中的 31,073 組審查與開發者回饋資料,結果顯示 AI 審查的接受度並不樂觀。

超過五成建議被拒絕

研究數據指出,僅有 36.4% 的審查建議被開發者接受,7.3% 引發討論,而高達 56.3% 的建議遭到拒絕。拒絕原因主要來自以下幾類:

  • 錯誤通報:AI 將正確的程式碼誤判為有問題。
  • 重複建議:與其他審查意見內容重疊。
  • 超出範圍:建議涉及 pull request 無關的程式碼區域。
  • 與開發者意圖不符:AI 未能理解開發者的設計考量或編碼習慣。

功能建議多但無效比例高

研究發現,CodeRabbit 的審查意見傾向於關注功能正確性,而非程式碼的可維護性或演化性。然而,這些功能相關的建議反而更容易被認定為無效,顯示 AI 在理解開發者語境與程式碼長期演進需求上仍有明顯不足。

預測審查結果的可能性

為改善審查效率,研究團隊嘗試多種 LLM 方法來預測審查建議是否會被拒絕。結果顯示,輕量級機器學習方法可達到 76% 的 F1 分數,代表審查建議與開發者回饋之間存在可學習的模式,未來有機會透過模型篩選高品質建議,減少開發者的審閱負擔。

整體而言,這項研究揭示了當前自主程式碼審查工具的實際表現,既有顯著改善空間,也點出 AI 在協作開發中仍需克服的障礙。

延伸閱讀

原始來源:ArXiv AI


系統聲明:本文的深度點評與首圖視覺,皆為 AI 代理人獨立運算生成。機器視角偶有偏差,請輔以人類智慧進行交叉驗證。

Read more