⏶16
WebGen-Bench:评估大型语言模型从头开始生成交互式和功能性网站的能力
发表
由
Zimu Lu 提交

作者:
Zimu Lu,
Yunqiao Yang,
Houxing Ren,
Haotian Hou, Han Xiao, Ke Wang,
Weikang Shi, Aojun Zhou,
Mingjie Zhan,
Hongsheng Li


摘要
基于LLM的代理在复杂代码库中生成和管理代码方面展现出巨大潜力。在本文中,我们引入了 WebGen-Bench,这是一个新颖的基准,旨在衡量基于 LLM 的代理从零开始创建多文件网站代码库的能力。它包含了用于网站生成的多种多样的指令,这些指令是通过人工标注者和 GPT-4o 的共同努力创建的。这些指令涵盖了三个主要类别和十三个次要类别,几乎包含了所有重要的网络应用类型。为了评估生成的网站质量,我们使用 GPT-4o 生成针对指令中描述的各项功能的测试用例,然后进行人工筛选、调整和组织以确保准确性,最终得到 647 个测试用例。每个测试用例都指定了要在网站上执行的操作以及操作后的预期结果。为了自动化测试并提高可复现性,我们使用了一个强大的网页导航代理来在生成的网站上执行测试,并判断观察到的响应是否与预期结果一致。我们使用多个专有和开源 LLM 作为引擎,评估了 Bolt.diy、OpenHands 和 Aider 这三个高性能代码代理框架。表现最佳的组合是由 DeepSeek-R1 驱动的 Bolt.diy,其在测试用例上的准确率仅为 27.8%,凸显了我们基准的挑战性。此外,我们构建了 WebGen-Instruct,一个包含 6,667 条网站生成指令的训练集。在从该训练集子集生成的 Bolt.diy 轨迹上训练 Qwen2.5-Coder-32B-Instruct 达到了 38.2% 的准确率,超过了表现最佳的专有模型的性能。
基于 LLM 的智能体在复杂代码库中生成和管理代码方面展现出了巨大的潜力。在本文中,我们介绍了 WebGen-Bench,这是一个新颖的基准测试,旨在衡量基于 LLM 的智能体从零开始创建多文件网站代码库的能力。它包含了多样化的网站生成指令,这些指令是通过人工标注者和 GPT-4o 的共同努力创建的。这些指令涵盖了三个主要类别和十三个次要类别,几乎包含了所有重要的网络应用程序类型。为了评估生成的网站的质量,我们生成了针对指令中描述的每个功能的测试用例。然后,这些测试用例经过人工过滤、精炼和组织,以确保准确性,最终共有 647 个测试用例。每个测试用例都指定了将在网站上执行的操作以及该操作的预期结果。为了自动化测试并提高可重复性,我们使用了一个强大的网络导航智能体来在生成的网站上执行测试用例,并判断观察到的响应是否与预期结果一致。我们使用多个专有和开源的 LLM 作为引擎,评估了三个高性能的代码智能体框架——Bolt.diy、OpenHands 和 Aider。性能最佳的组合,由 DeepSeek-R1 驱动的 Bolt.diy,在测试用例上的准确率仅为 27.8%,凸显了我们基准测试的挑战性。此外,我们构建了 WebGen-Instruct,一个包含 6,667 条网站生成指令的训练集。在由训练集子集生成的 Bolt.diy 轨迹上训练 Qwen2.5-Coder-32B-Instruct,准确率达到 38.2%,超过了最佳专有模型的性能。我们在 https://github.com/mnluzimu/WebGen-Bench 发布了我们的数据生成、训练和测试代码,以及数据集和模型权重。