AI News HubLIVE
站內改寫2 分鐘閱讀

完美命中錯誤目標:AI代碼評審基準的故事

本文深入分析了AI代碼評審基準的侷限性,指出其未能從第一性原理定義問題,忽略了AI代碼評審已分化為人類理解和機器驗證兩個不同問題。作者Shrijith Venkatramana認為,基準衡量的是代理指標而非軟件實際成果,並強調了生產結果和嚴重性的重要性。

來源Hacker News AI作者: atomicnature

基準測試總是給人權威、客觀和精確的印象,這有充分的理由。但對那些真正深入瞭解某個領域的人而言,盲目依賴基準可能會帶來誤導。本文作者Shrijith Venkatramana是Hexmos的創始人,目前正在構建LiveReview——一個組織級工程標準實施工具。他曾任職亞馬遜,並在加州大學歐文分校師從Crista Lopes教授學習軟件工程。憑藉近十年的工程團隊搭建和系統構建經驗,他認為多數AI代碼評審基準未能抓住問題的核心。

AI Code Review Bench基準測試表面上具有客觀、精確和權威的特點,但對於深入探究過該問題空間的人來説,其缺陷顯而易見。作者首先指出,基準方法雖然努力回答了“如何為AI代碼評審設定基準”這一重要問題,但實際未能給出令人滿意的答案。問題在於,它跳過了從第一性原理定義AI代碼評審問題的步驟,直接進入瞭解決方案,從而錯過了很多更重要的基礎問題。

作者認為,AI代碼評審已經分化為兩個截然不同的問題。第一個問題是人類理解:工程師注意力有限,需要幫助他們辨別哪些問題真正重要。這種情況下,信息應根據工程師、團隊、組織、業務優先級等因素進行差異化排序,成功標誌是幫助人類做出更好的工程決策。第二個問題是機器驗證和系統穩定性:其消費者是另一AI系統,系統不會因數百個發現而疲憊,詳盡分析往往更可取。目標轉向減少生產故障、安全漏洞和技術債務。許多發現根本無需展示給人類,直接交給修復代理即可。這兩種問題針對不同消費者,需要不同的優化指標。

基準測試將人類評審視為最終目標,但作者認為這只是起點。人類評審受截止日期、疲勞和不完整上下文的限制,而機器具有始終如一、不知疲倦的優勢。更好的方法是認識到人類和機器具有互補優勢:經驗豐富的工程師能識別架構問題、產品權衡和業務現實,而機器可進行一致的大規模檢查。此外,基準測試衡量的是日益精密的代理變量,如評審評論、開發者行為、人工黃金集和生產錯誤跟蹤。每個變量單獨看都合理,但實際目標應是生產更好的軟件,而不是優化代理變量與歷史評審的一致性。

作者讚賞該論文對諸多未解決問題的坦誠,例如Goodhart定律、不完整黃金集、基準污染、LLM評判者、上下文、嚴重性等。但令人驚訝的是,在承認這麼多未解決假設後,論文仍最終產生了看似客觀的基準。作者擔憂,基準的精確性超出了我們當前對問題的理解。方法論上,生產結果被低估——它們只是眾多信號之一,而實際上是評審活動的終極目標;嚴重性比分佈匹配更重要——匹配歷史bug分佈可能不如關注嚴重性更有價值,因為不同組織對不同類型問題的容忍度不同。

總之,作者認為AI代碼評審基準雖做了大量努力,但由於未能從問題定義階段入手,完美地擊中了錯誤的目標。我們需要從根本上重新思考AI代碼評審的問題空間,區分人類理解和機器驗證兩個問題,並將生產結果和嚴重性置於評估的核心位置。