大模型按图写HTML:一场小小的视觉到代码测试

1636 字
8 分钟
大模型按图写HTML:一场小小的视觉到代码测试

这次测试很简单:给每个模型发一张网页截图,要求完全相同——给我按照图片写一个一样的 HTML

原网页:关于我 - 神代綺凛の随波逐流

不给额外提示,不允许追问,看看谁能准确理解视觉内容并转换成可用的代码。

🎯 成绩单速览#

测试模型:14 个
完美完成:9 个 部分问题:3 个 翻车:2 个 不支持多模态:1 个 - MiniMax

模型状态
Claude Opus 4.8✅ 完美
Claude Sonnet 4.6✅ 完美
DeepSeek⚠️ 空格对齐
Doubao Expert✅ 完美
Gemini 3.1 Pro⚠️ 文字被遮挡
GLM❌ 白屏
GPT-5.3 Mini✅ 完美
GPT-5.5 high✅ 完美
Grok Fast⚠️ 自由发挥
Grok-4.20-beta-0309-reasoning✅ 完美
Kimi K2.6 Fast❌ 抠图失败
MiMo-V2.5✅ 完美
Qwen3.7-Max✅ 完美
Steed-0611✅ 完美

⚠️ 部分问题(3/14)#

以下模型完成了任务,但存在明显缺陷:

DeepSeek — 标签上面的文字只是加了空格,并不是和标签完整对齐,用不了。没用 CSS 做定位,纯靠空格凑,不够精确。

Gemini 3.1 Pro — 把标签上面的文字位置放错了,正好被标签挡住,完全用不了。视觉理解有问题,没考虑 z-index 或布局顺序。

Grok Fast — 完全没按要求来,虽然写的效果还行,但大小写自己瞎编,该是标签的内容写到标签里去了。理解偏差严重,自由发挥过度。

这三个模型都”看懂”了图片要表达什么,但在实现细节上出了问题:

  • DeepSeek 用原始方法(空格)而非现代 CSS 布局
  • Gemini 的层级错误导致文字被遮挡
  • Grok Fast 理解了意图但没遵守原图的具体要求

❌ 翻车(2/14)#

GLM (初次) — 生成了图片而不是 HTML,理解错任务目标。

GLM (提醒后) — 生成的是白屏,根本用不了,实现失败,无可用输出。

🤣
🤣

Kimi K2.6 Fast — 直接用 Python 把图片里的元素抠出来了,但是抠歪了,非常难看。这个操作很难评价——有创意但实用性存疑,一般都要自己重新调图片。

Kimi K2.6 Fast 是唯一一个试图”抠图”的模型,虽然方向有意思,但实际效果不佳且不符合常规需求(开发者通常需要可编辑的 HTML/CSS,而不是处理过的图片)。

GLM 的表现则是完全偏离任务要求。

✅ 完美完成(9/14)#

以下模型准确理解了图片内容,生成的 HTML 可直接使用且美观程度合格:

Claude Opus 4.8
Claude Opus 4.8
Claude Sonnet 4.6
Claude Sonnet 4.6
Doubao Expert
Doubao Expert
GPT-5.3 Mini
GPT-5.3 Mini
GPT-5.5 high
GPT-5.5 high
Grok-4.20-beta-0309-reasoning
Grok-4.20-beta-0309-reasoning
MiMo-V2.5
MiMo-V2.5
Qwen3.7-Max
Qwen3.7-Max
Steed-0611
Steed-0611

这些模型都老老实实地分析图片内容,编写了结构化的 HTML + CSS,没有偷懒也没有过度发挥。


几点观察#

1. 视觉理解 ≠ 代码实现#

大部分模型都能”看懂”图片内容,但将视觉理解转换为可用代码时出现分化:

  • 完美组:直接生成标准 HTML + CSS,布局合理
  • 问题组:理解正确但实现有瑕疵(层级、对齐方式)
  • 翻车组:理解错误或采用非常规方法

2. Thinking 模式的”创造性”翻车#

Kimi K2.6 Fast 是唯一试图用 Python 图像处理的模型,这说明:

  • Thinking 模式确实会探索”非常规路径”
  • 但这种创造性在实际开发场景中可能适得其反
  • 开发者需要的是可编辑、可维护的代码,而不是”处理过的图片”

3. 空格对齐 vs CSS 定位#

DeepSeek 用空格来对齐文字,这是 20 年前的做法:

  • 在不同字体、字号、浏览器下会错位
  • 无法响应式适配
  • 维护困难

现代 HTML 应该用 position: absoluteflexboxgrid 实现精确定位。

4. 层级问题暴露测试盲区#

Gemini 3.1 Pro 把文字放在标签下方导致被遮挡,说明:

  • 模型理解了”标签”和”文字”的存在
  • 但没有正确理解它们的层级关系视觉优先级
  • 缺少”用户能否看到所有元素”的验证思维

5. 任务理解的重要性#

GLM 的翻车最为根本——它没理解”按图片写 HTML”的意思:

  • 第一次直接生成图片
  • 第二次生成了无效的 HTML
  • 说明多模态任务需要模型对”输入类型”和”输出类型”有明确认知

6. 大模型”瞎编”现象依然存在#

Grok Fast 虽然写出了可用的 HTML,但完全不符合原图:

  • 大小写随意更改
  • 标签内容混乱
  • 说明模型有时会”理解意图”但不遵守”具体要求”
  • 这在需要精确复现的场景下是致命问题

结论#

这次测试的 prompt 极其简单——“给我按照图片写一个一样的 HTML”——但结果分化明显:

  • 9/15 的模型能完美完成任务,生成可直接使用的代码
  • 3/15 的模型理解正确但实现有缺陷,需要手动修复
  • 2/15 的模型完全翻车,要么理解错误要么方法不当
  • 1/15 的模型不支持多模态输入,无法参与

最大的启示

  1. 多模态理解能力已经很强,但视觉到代码的转换仍是难点
  2. Thinking 模式的创造性可能带来意外的”非标准解法”
  3. 简单任务的失败往往源于层级关系定位方式等细节理解
  4. 即使模型”看懂了”图片,也可能在实现细节上翻车

对开发者的建议:

  • 视觉转代码任务需要验证输出,不能盲目信任
  • 对于需要精确复现的场景,应该提供更详细的要求(如”使用 flexbox 布局”、“确保所有文字可见”)
  • Thinking 模式的”抠图”行为提醒我们:创新方法需要结合实际需求场景

TL;DR:给 14 个大模型同一张图让它们写 HTML,9 个完美,3 个有瑕疵(文字遮挡/空格对齐/自由发挥),1 个抠图抠歪,GLM 干脆生成了白屏,MiniMax 不支持多模态直接出局。Kimi K2.6 Fast 独树一帜用 Python 抠图但效果不佳,Gemini 3.1 Pro 把文字挡住了,DeepSeek 还在用空格凑对齐。多模态理解很强,但视觉到代码的转换仍是难点,尤其在层级关系、定位方式等细节上容易翻车。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

大模型按图写HTML:一场小小的视觉到代码测试
https://cialo.site/posts/llm-web-test/
作者
洛璃
发布于
2026-06-18
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
洛璃
初春的离去,晚樱的谢幕
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
34
分类
11
标签
123
总字数
140,689
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录