现有的AI编程基准测试衡量的是任务解决率和token成本,但它们并不惩罚多余的代码,而这使得代码库长期更难维护。Parsimony的构建目的,是衡量AI模型新增了多少代码,这一因素对长期项目最为重要。
该工具获取现有基准测试已发布的补丁,包括DeepSWE、SWE-bench Verified和SWE-bench Live,并统计代码单元。代码单元是语句、调用、比较、名称和字面量等语法元素。该工具不统计代码行数,因此堆砌代码不会获得奖励;被删除的代码会被扣除,得出新增单元减去删除单元的净值。
模型按其在已解决任务上的平均净新增单元数排名,数值越低排名越靠前。该平均值也包括失败的尝试。解决状态来自SWE-bench Verified,测试不会重新运行。每个补丁都会被应用到任务代码中,并解析每个被修改文件的两个版本。该工具不执行任何代码,测试、文档和生成的文件均被排除在外。目前仅支持Python。
作者指出了该工具的局限性。更小并不总是更好,因为代码单元衡量的是规模,而非可读性或设计。编写更多代码的模型往往也能解决更多任务,在包含26个或更多模型的排行榜上,两者的斯皮尔曼相关系数为0.33至0.60。所有模型均使用同一智能体mini-SWE-agent,而它本身也会影响代码的编写量。用户可以通过一个可下载的示例文件添加自己的基准数据,该文件仅在浏览器中保存。
来源: Hacker News · 由HeadlinesBriefing整理摘要