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 founddef has_negative(values):
return any(value < 0 for value in values)来源:Hacker News · parsimony.lasu.dev