ProgramBench:语言模型能从头重建程序吗?
发布: (2026年5月7日 GMT+8 11:46)
2 分钟阅读
原文: Hacker News
Source: Hacker News
摘要
将想法从零开始转化为完整的软件项目已成为语言模型的热门使用场景。代理被部署用于在最少人工监督的情况下,长期种子、维护并扩展代码库。这类环境要求模型做出高层次的软件架构决策。然而,现有基准只衡量聚焦且受限的任务,例如修复单个 bug 或实现单一指定功能。
因此我们推出 ProgramBench,用于衡量软件工程代理整体开发软件的能力。在 ProgramBench 中,代理仅获得程序及其文档,需要构建并实现一个代码库,使其行为与参考可执行文件相匹配。端到端行为测试通过代理驱动的模糊测试生成,从而在不预先规定实现结构的情况下进行评估。
我们的 200 项任务涵盖从紧凑的 CLI 工具到广泛使用的软件,如 FFmpeg、SQLite 和 PHP 解释器。我们评估了九种语言模型,发现没有任何模型能够完整解决任何任务,表现最佳的模型仅在 3 % 的任务上通过了 95 % 的测试。模型倾向于单体、单文件实现,且与人类编写的代码差异显著。