AI风向

【AI风向】AI生成的前端千篇一律?一个程序员发现:只要说"做成Qt风格",AI Slop瞬间消失

90分HN热帖揭示AI编程工具的隐藏规律:不是AI不会做设计,是你的Prompt没给对"风格锚点"。

▲ 八种AI生成风格对比:只有Qt风格消除了AI Slop(来源:envs.net/~volpe, ▲ ▲ 八种AI生成风格对比:只有Qt风格消除了AI Slop(来源:envs.net/~volpe, HN 90pts)

事件回顾

6月12日,程序员volpe在个人博客发表了一篇题为《Slightly reducing the sloppiness of AI generated frontend》的文章,迅速登上Hacker News首页,获得90个推荐和26条深度讨论。

volpe做的事情很简单:他用同一个单页应用(一个选举人团预测可视化工具),反复让AI Agent按照不同设计风格重新生成前端界面。他测试了八种风格:SaaS产品页风格、广播风格、GTK桌面应用风格、Apple HIG风格、Material Design风格、Windows 11原生风格、Qt桌面应用风格,以及原始的AI自发风格。

结果令人震惊。

八种风格里,七种都带着明显的"AI味"——那种你一眼就能认出来的、千篇一律的AI生成感。 只有一种风格例外:Qt。

volpe写道:"Simply asking it to make it look like a Qt app — to my tasteless eyes — removed almost all feeling of slop."(只需要要求它做成Qt应用的样子——在我这个没有审美的人看来——几乎完全消除了AI Slop的感觉。)

他甚至把其他所有个人工具软件都用AI重构成了Qt风格,并认为"看起来好多了"。

这个发现背后藏着什么规律?对我们这些天天用AI编程工具的创业者来说,有什么启示?

为什么"Qt风格"能消除AI Slop?

HN评论区给出了一个关键解释。

用户voxleone指出:Qt在训练数据中有极高的"概念密度"。Qt是一个存在了几十年的GUI框架,AI模型在训练过程中见过大量的Qt教程、截图、源代码、技术文档和社区讨论。这使得"Qt应用"在模型的潜在空间中成为一个高度凝聚、边界清晰的概念。

换句话说,当你说"做一个网页应用"时,AI模型在数十亿个模糊的、风格各异的示例中随机采样,结果自然是不稳定的、缺乏个性的。但当你明确说"做一个Qt风格的应用",AI模型的搜索空间被大幅收窄到了一个定义完善的"风格分布"(style distribution)上。

这就像让一个画家"画一幅画"vs"画一幅莫奈风格的画"——后者的结果通常更好,因为约束反而释放了创造力。

AI Slop到底是什么?

volpe在文章中给出了一个精妙的定义:Slop不是一种风格,而是一种叠加物

"Slop is not a distinct style, it can be overlaid on top of many others. Even when I got it to make a page to look like X, it looked like X with slop."

这解释了很多AI创业者的困惑:为什么即使用Cursor或Claude Code生成了看起来"专业"的界面,总有一种说不清道不明的廉价感?因为AI在没有明确设计约束时,会自然偏向训练数据中出现频率最高的"平均风格"——而这种平均风格恰好是过去十年SaaS产品的那套视觉语言。

评论区用户swiftcoder一针见血:"To me the 'AI slop' mostly just looks like the last decade of SaaS products."(对我来说,AI Slop看起来就是过去十年的SaaS产品。)

bg-indigo-600的CTA按钮、slate-900的标题颜色、特定的阴影和圆角半径——这些不是AI发明的,是AI从无数个SaaS模板中学来的。问题不在于AI,而在于我们对AI的期望:我们希望它创新,但它只能重组已知。

我们能学到什么?

▲ AI编程的▲ ▲ AI编程的"风格锚点"原理:品牌名称比形容词更有效(来源:HN讨论 + OSSInsight数据)

1. 风格锚点比风格描述更有效

volpe的实验说明了一个深层原则:对AI编程工具来说,指定一个"风格名称"(如Qt、Material、HIG)远比描述视觉特征(如"简洁""专业""现代")有效

为什么?因为"Qt"是一个在训练数据中有明确定义的商标级概念,AI不需要猜测你想要什么。而"简洁"是一个主观形容词,在不同上下文中指向完全不同的设计方向。

这个原则不仅适用于前端设计。当你让AI写代码时,"写一个类似Redis的缓存层"比"写一个高性能缓存"产出更好。当你让AI写文章时,"写成36氪深度报道风格"比"写得专业一些"效果更好。

品牌名称、框架名称、产品名称——这些是AI理解世界的高分辨率锚点。

2. AI编程工具正在经历"设计觉醒"

volpe的文章只是冰山一角。近期AI编程社区的讨论正从"能不能生成"转向"生成的质量如何"。

OpenAI Codex CLI开源后在GitHub上28天增长457星(OSSInsight数据),排名AI编程工具增长第二。Claude Code同期增长433星。而异常增长的头名是anomalyco/opencode(683星),一个专注AI代码质量的开源项目。

开发者不再满足于"AI能写代码",开始追问"AI写的代码看起来怎么样、维护性如何、用户体验够不够好"。这是AI编程工具从"能用"到"好用"的必经阶段。

3. 约束=创造力,这是AI时代的设计第一原理

传统的设计思维是:给创作者最大自由,他能产出最好作品。

AI时代的设计思维正好相反:给AI最精确的约束,它才能产出最接近期望的结果。

这和Prompt Engineering的根本原则一致:好的Prompt不是"少说两句让AI发挥",而是"把你能想到的所有约束都写进去"。

volpe的Qt实验就是这句话的完美验证:他没有描述任何颜色、布局、字体,只说了一个词"Qt"。这个高度凝练的约束比一百个形容词更有效。

行动建议

  1. 建立你的"风格锚点库":收集10-20个在你领域里有明确定义的品牌/框架/产品名称,在Prompt中使用它们替代模糊形容词。比如前端用"Qt风格""Stripe风格""Linear风格",后端用"Redis风格""Postgres风格"。
  2. 给AI一个"设计系统"而非"设计描述":HN用户mywittyname分享了他的方法——先让AI做一个"设计画廊"(Design Gallery),把所有UI组件渲染出来,确认风格一致后再开始写功能代码。这比在每个Prompt里重复描述设计需求高效得多。
  3. 用Tailwind而非CSS:评论区ramesh31的经验是:纯Tailwind类名比自定义CSS更有利于AI生成一致的前端。因为Tailwind的类名本身就是原子化的语义约束,AI不需要在HTML和CSS文件之间跳转推理。
  4. 接受"AI有风格,但没有品味":volpe自嘲"a person without taste controlling an AI without taste"(一个没品味的人控制一个没品味的AI)。但这句话反过来说也是好消息:你不需要是设计师,只需要知道怎么给AI正确的约束。

一个值得关注的趋势

volpe文章引发的讨论远不止一个前端技巧。评论区stabbles提出:"This begs for a modern version of CSS Zen Garden, where the CSS is generated by different LLMs and prompts."(这催生了一个现代版的CSS禅意花园,CSS由不同大模型和Prompt生成。)

CSS Zen Garden是2003年的经典项目,展示了同一份HTML在不同CSS下可以呈现截然不同的设计。如果2026年有人做一个AI版——同一份HTML,不同大模型和Prompt自动生成CSS——这将是检验AI设计能力的终极实验场。

对于AI创业者来说,这不仅仅是一个有趣的话题。随着AI生成内容的比例持续攀升(LinkedIn上Agent-shipped code在2026年增长了1400%),如何让AI产出的界面"去Slop化"正在成为一个有商业价值的技能

毕竟,当所有人都能用AI生成一个SaaS产品页面时,那个看起来不像AI生成的,就是赢家。


#AI创业 #AI编程 #前端设计 #Prompt技巧 #一人公司

本文由AI辅助创作,经人工审核编辑发布