跳到正文
原文
Hacker News· lasu·· 3 小时前精选AI 评分53

开发者 lasu 开源 Parsimony 基准,量化 AI 编码模型净增的代码量

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

AI 导读

开发者 lasu 开源 Parsimony 基准,量化 AI 编码模型在完成任务时净增了多少代码单元。它复用 SWE-bench Verified 已发布的 patch,按净增单元数(新增减去删除)排序而非按行计数,目前仅支持 Python。榜单显示代码量更小的模型并未解决更多任务,模型排名与解决数的 Spearman 系数为 0.33–0.60,所有模型共用 mini-SWE-agent 运行。

推荐理由

Parsimony 把 AI 编码模型的代码净增量做成可比较榜单,给出与解决数并列的另一维度,读者可据此比较不同模型的简洁程度。

正文 · AI 翻译

现有基准测试衡量解题率与成本,但不惩罚冗余代码,这会让代码库长期难以维护。Parsimony(精简度)衡量的是 AI 模型额外写入了多少代码。

它采用基准测试已发布的补丁,统计其中出现的编码单元:即语句、调用、比较、命名、字面量等语法元素。统计不以行数为单位,因此堆砌代码不会得到奖励;而删除的代码则会被扣除:净单元数 = 新增 − 删除。

模型对比

如何阅读这张图

模型按其在已解决任务上平均净单元数(由低到高)排序。「平均净单元数」同样包含失败的尝试。解题数据来自 SWE-bench Verified,未重新运行测试。可衡量(Measured)指的是其中有多少次成功尝试可被测量。

排行榜

排名 模型

方法

  • 每一处补丁都会应用到该任务的代码上,并解析每个被修改文件的两个版本。原版未运行任何东西。
  • 测试、文档以及生成的文件均不计入,仅测量 Python 代码。
  • 通过/失败直接采用 SWE-bench 公布的结果,未重新运行测试。

局限性

  • 代码量小不一定更好:单元数衡量的是规模,而非可读性或设计优劣。
  • 写更多代码的模型往往也能解决更多任务(在含 26 个以上模型的榜单上 Spearman 相关系数为 0.33–0.60)。
  • 所有模型都使用同一个智能体(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 · parsimony.lasu.dev