DesignBench: A Comprehensive Benchmark for MLLM-based Front-end Code Generation

本文提出了 DesignBench,这是一个涵盖主流前端框架(React、Vue、Angular 及原生 HTML/CSS)和生成、编辑、修复三大核心任务的多维度基准,旨在全面评估多模态大语言模型在自动化前端工程中的能力并揭示其局限性。

Jingyu Xiao, Ming Wang, Man Ho Lam, Yuxuan Wan, Junliang Liu, Yintong Huo, Michael R. Lyu

发布于 2026-03-17
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 DesignBench 的新工具,它就像是一个专门用来“考试”的全能模拟考场,用来测试现在的 AI 大模型(特别是多模态大模型,也就是能看懂图又能写代码的 AI)在把网页设计图变成真实网页代码这项工作上的真实水平。

为了让你更容易理解,我们可以把整个网页开发过程想象成装修房子,而 AI 就是那个装修设计师

1. 为什么需要这个“新考场”?(背景与痛点)

以前的考试(现有的评测标准)有几个大毛病:

  • 只考“毛坯房”,不考“精装房”:以前的考试只让 AI 用最基础的 HTML/CSS(就像只让 AI 用砖头和水泥砌墙),但现在的装修(现代网页开发)大家都用React、Vue、Angular这些高级“预制件”和“装修套餐”(框架)。以前的考试没考这些,所以 AI 在实际工作中表现如何,大家心里没底。
  • 只考“第一次设计”,不考“后期修改”:以前的考试只让 AI 根据图纸画一次图就结束。但在现实中,业主(用户)总会说:“这里颜色不对,换个蓝的”、“那个按钮太小了,加个大的”。以前的考试没考这种反复修改修补漏洞的能力。
  • 打分太粗糙:以前的考试只看“房子盖得漂不漂亮”,没细看“结构稳不稳”、“有没有用错材料”、“能不能住人”。

DesignBench 就是为了解决这些问题而生的。它把考试升级了,变成了**“装修全流程大考”**。

2. DesignBench 考什么?(三大任务)

这个考场设计了三个核心环节,模拟真实的装修流程:

  • 环节一:从零设计 (Generation)

    • 场景:给你一张精美的设计图(UI Mockup),AI 需要把它变成可运行的代码。
    • 比喻:就像给你一张别墅的效果图,让你把图纸变成真正的房子。
    • 考点:能不能把图里的颜色、布局、文字都精准地还原出来?
  • 环节二:听指挥修改 (Edit)

    • 场景:房子盖好了,业主说:“把背景墙改成蓝色,底部加个‘继续’按钮”。AI 需要修改代码。
    • 比喻:业主住进去后说:“我不喜欢这个沙发,换个红色的,再在门口加个鞋柜”。
    • 考点:AI 能不能精准定位到代码的哪一行去改?会不会改完把其他地方弄坏了?
  • 环节三:修补漏洞 (Repair)

    • 场景:房子盖好了,但发现窗户和门撞在一起了(显示重叠),或者墙歪了。AI 需要找出问题并修好。
    • 比喻:入住后发现水管漏水、墙皮脱落,需要 AI 当维修工去修。
    • 考点:AI 能不能发现问题出在哪?能不能正确地修复它?

3. 考场有多“硬核”?(数据规模)

  • 900 个案例:涵盖了 11 种不同类型的网页(像新闻、电商、博客等)。
  • 四大流派:不仅考基础的 HTML/CSS,还考了 React、Vue、Angular 这三种目前最流行的“装修流派”(框架)。
  • 900 次修改:包含了各种类型的修改指令(加东西、改颜色、删元素等)和 6 种常见的“装修事故”(遮挡、拥挤、文字重叠等)。

4. 考试结果怎么样?(AI 的真实水平)

论文测试了 9 个顶尖的 AI 模型(包括 GPT-4o, Claude-3.7, Gemini 等),结果发现了一些有趣的现象:

  • 大模型确实强,但“偏科”严重
    • Claude-3.7, GPT-4o, Gemini-2.0 是“优等生”,表现最好。
    • 模型越大,能力越强:参数大的模型(如 90B)比小的模型(如 11B)强很多,就像经验丰富的老工匠比学徒强。
  • 基础题强,高难度题弱
    • 用基础 HTML/CSS 时,AI 表现不错。
    • 一旦用上 React/Vue/Angular 这些高级框架,AI 就经常“翻车”。比如 React 的语法(JSX)它容易搞错,Vue 的模板标签它容易漏,Angular 的组件结构它经常理解不了。
    • 比喻:AI 能砌好砖墙,但一让它用复杂的“智能家居系统”(框架),它就经常把线接错,导致房子通电就短路(编译错误)。
  • “看图”不如“看代码”
    • 在修改和修补任务中,如果只给 AI 看图片,它改得不好;如果给它看原来的代码,它改得就好很多。
    • 比喻:如果你只给装修工看一张旧照片让他改,他很难知道墙里哪根线在哪;但如果你把**施工图纸(代码)**给他看,他就能精准地找到位置去改。
  • 越难越不行
    • 图片越大、指令越复杂、问题越严重,AI 的表现就越差。
    • 比喻:让 AI 修一个小裂缝还行,让它修整个塌掉的屋顶,它就彻底懵了。

5. AI 最容易犯什么错?(失败分析)

  • 设计阶段:经常**“张冠李戴”**。比如把按钮放歪了,颜色配错了,或者漏掉了某个元素。就像装修工把灯装在了地板上。
  • 修改阶段:经常**“用力过猛”“没改对地方”**。比如业主说改个颜色,它把整个墙都拆了;或者业主说改这里,它改到了隔壁房间。
  • 修补阶段:经常**“找不到病根”。明明窗户和门撞了,它却去修地板。甚至有时候它“假装没看见”**,完全不动手。

6. 这篇论文告诉我们什么?(结论与建议)

  • 对 AI 研究者:现在的 AI 在“高级装修”(框架开发)上还不够成熟。未来的训练数据需要更多包含这些框架的“预制件”知识,还要教 AI 怎么更好地把“图片”和“代码”结合起来理解。
  • 对开发者(用 AI 的人)
    • 别只扔一张图:想让 AI 改代码,最好把原来的代码也给它看。
    • 指令要具体:别让它猜哪里坏了,直接告诉它:“把第 50 行的背景色改成蓝色”。
    • 化整为零:别让它一次修整个大网站,把大任务拆成小任务,一步步来。

总结一句话
DesignBench 就像给 AI 装修队发了一张**“全真模拟考卷”,告诉我们:现在的 AI 虽然能画图纸、能砌墙,但在处理复杂的现代装修(框架开发)和精细修补时,还像个“半吊子学徒”**,需要更多的训练和更聪明的使用方式才能真正成为大师。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →