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

既存のベンチマークが抱えるフレームワーク対応の欠如や多段階タスク評価の不足といった課題を解決するため、React、Vue、Angular などの主要フレームワークと生成・編集・修復の多様なタスクを網羅し、MLLM のフロントエンドエンジニアリング能力を多角的に評価する包括的なベンチマーク「DesignBench」が提案されています。

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 料理人が「実際に美味しい料理(コード)」を作れるか、そして「味付けを直せ」と言われたら直せるかを試すコンテストのようなものだと考えてください。

以下に、専門用語を排し、身近な例え話を使って解説します。


1. なぜこの研究が必要だったの?(これまでの問題点)

これまでに「AI がデザインからコードを作る」ことを測るテストはありましたが、いくつかの「現実離れした」問題がありました。

  • 問題点①:「昔ながらの料理」しか作れない
    • 今のウェブ開発では、React や Vue、Angular という「便利な調理器具(フレームワーク)」を使うのが主流です。でも、これまでのテストは、それらを使わずに素の HTML/CSS(手作業の包丁とまな板)だけで作るものばかりでした。
    • 例え: 「プロの料理人」を評価するのに、家庭用のフライパンしか使わせないのはおかしいですよね。
  • 問題点②:「作り始め」しか見ていない
    • 実際の仕事では、一度作って終わりではありません。「ここを青くして」「ボタンを足して」という**修正(Edit)や、「画面が崩れているから直して」という修理(Repair)**が何度も行われます。でも、これまでのテストは「最初の一発勝負」しか見ていませんでした。
  • 問題点③:「見た目」だけを見ていた
    • 「なんとなく似ているか?」だけで評価していました。でも、コードが本当に正しいか、再利用しやすいか、どこが間違っているかという**「中身(コードレベル)」の分析**が不足していました。

2. DesignBench とは何か?(新しい試験問題集)

そこで研究者たちは、**「DesignBench(デザインベンチ)」**という新しい試験問題集を作りました。

  • 3 つの主要な「調理器具」に対応: React、Vue、Angular、そして素の HTML/CSS。
  • 3 つの「仕事」を評価:
    1. 生成(Generation): デザイン画像を見て、ゼロからコードを作る。
    2. 編集(Edit): 「背景を青くして」という指示で、既存のコードを修正する。
    3. 修理(Repair): 「このボタンが重なっているから直して」という不具合を直す。
  • 900 問のサンプル: 11 種類のテーマ(ニュース、EC サイトなど)から、実際のウェブサイトを元に作られた 900 問の問題。

3. 実験結果:AI はどこが苦手?

9 つの最新の AI モデル(GPT-4o, Claude, Gemini など)にこのテストを解かせたところ、いくつかの面白い(そして厳しい)結果が出ました。

① 「道具」によって得手不得手がある

  • 素の HTML/CSSなら、AI はかなり上手に作れます。
  • しかし、React や Vue、Angularを使うと、性能がガクッと落ちます。
    • 例え: 「包丁とまな板」なら上手に野菜を切れるのに、「電気ケトル」や「ミキサー」を使うと、ボタンを押す場所を間違えたり、説明書を読めなかったりします。特に Angular という「堅いルール」の道具では、AI は混乱しやすいようです。

② 「修正」や「修理」はもっと苦手

  • 「ゼロから作る」よりも、「既存のものを直す」方が AI は苦戦します。
  • 特に「どこを直せばいいか」を見つけることが苦手です。
    • 例え: 「この料理が塩辛すぎるから直して」と言われても、AI は「塩を減らす」のではなく、「別の野菜を足す」などの間違った対応をしたり、何もしなかったりします。

③ 「画像」より「コード」を見せた方が上手

  • 修正や修理のタスクでは、「元の画像」を見せるよりも、「元のコード(テキスト)」を見せた方が、AI の性能が良くなりました。
    • 例え: 「この絵を直して」と言われるより、「このレシピの 3 行目を削除して」と言われる方が、AI は正確に理解できるようです。AI は「視覚的な情報」よりも「言語的な情報」の方が得意なようです。

④ 難しい課題になると、性能が急落

  • 画面が複雑すぎたり、指示が難しすぎたりすると、AI はパニックを起こして失敗します。
    • 例え: 「シンプルなサラダを作れ」なら成功しますが、「100 種類の具材を使った複雑なフレンチ料理を作れ」と言われると、AI は混乱して失敗します。

4. AI がよくやる「失敗」の種類

テスト結果から、AI がよく犯すミスが 22 種類見つかりました。

  • 生成ミス: 要素が足りない、位置がズレている、色が違う。
  • 編集ミス: 「青くして」と言われたのに、余計なところまで変えてしまう。
  • 修理ミス: 「崩れている」と言われても、どこが崩れているか見つけられず、何も直さない。

5. 私たちへのアドバイス(結論)

この研究から、AI を使う開発者や研究者へのアドバイスが得られました。

  • AI への指示は具体的に: 「ここを直して」と言わず、「このボタンの色を青にして」と場所を特定して指示しましょう。
  • 複雑な仕事は分解しよう: 一度に全部作ろうとせず、小さなタスクに分けて指示を出しましょう。
  • AI の得意分野を知ろう: AI は「コードのテキスト」を見る方が得意なので、画像だけでなくコードも渡してあげると、より良い結果が得られます。

まとめ

DesignBenchは、AI が「ウェブ制作」の現場で本当に使えるかどうかを、「実際の道具(フレームワーク)」を使い、「実際の工程(修正・修理)」を通じて、徹底的にテストした画期的な研究です。

今の AI は「絵を描く」のは上手ですが、「プロの現場で道具を使って、複雑な料理を完成させる」にはまだ修行が必要です。この研究は、その「修行の道筋」を明確に示してくれたと言えます。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →