跳到正文
Hacker News (official RSS)·· 4 小時前精選AI 評分75

Parsimony:衡量 AI 模型新增程式碼量的開源基準

Show HN: Parsimony – an open-source benchmark for how much code AI models add

AI 導讀

Parsimony 是一個開源基準,旨在衡量 AI 模型在程式碼生成時實際新增的程式碼量。

它不僅計算新增語法單位,還扣除刪除的單位,並將失敗嘗試納入平均值,提供更真實的產出評估。

推薦理由

提供衡量 AI 生成程式碼量的基準,幫助評估模型產出效率與可維護性,促進開源社群對程式碼質量的透明比較。

正文 · AI 翻譯

現有基準測試衡量解題率與成本,但不會懲罰過多程式碼,這會使程式碼庫在長期內更難維護。簡潔度衡量 AI 模型新增了多少程式碼。

它會採用基準已公佈的修補程式,並計算coding units:語法元素如語句、呼叫、比較、名稱和文字。行數不被計算,因而不會因塞滿程式碼而獲得獎勵,刪除的程式碼則會扣除:淨單位 = 新增 − 刪除。

比較模型

閱讀方式

模型以平均淨新增單位排序,先列最低者。"Net units added (mean)" 亦包含失敗嘗試。Solved 來源於 SWE-bench Verified;測試不會重新執行。Measured 為可測量的已解決嘗試數量。

排行榜

排名 模型

方法

  • 每個修補程式都套用於任務程式碼,並解析所有變更檔案的兩個版本。不會執行任何程式。
  • 測試、檔案和生成檔案不被計算。僅測量 Python。
  • 通過/失敗來自 SWE-bench 的公佈結果;測試不會重新執行。

限制

  • 較小並不總是更好:單位衡量的是大小,而非可讀性或設計。
  • 寫更多程式碼的模型往往也能解決更多工(Spearman 0.33–0.60,適用於 26+ 模型的排行榜)。
  • 每個模型都使用相同的代理(mini-SWE-agent),但代理仍會影響實際產生的程式碼量。

新增自己的基準測試

從其他基準測試擁有程式碼大小數值嗎?下載範例檔案,填入您的結果並開啟,即可得到相同的圖表與表格。檔案會保留在您的瀏覽器中。格式與分享方式.

範例:檢查負數

兩者返回相同結果。

def has_negative(values):
    found = False
    for value in values:
        if value < 0:
            found = True
    return found
def has_negative(values):
    return any(value < 0 for value in values)

來源:Hacker News (official RSS) · parsimony.lasu.dev