它们并不难看,甚至普遍比过去的“程序员审美”精致得多。但看得越多,我越觉得不舒服:像是全世界的网站,正在慢慢长成同一张脸。

最近一两年,我在生活和工作里见到了越来越多由 AI Coding 工具生成的网站、小程序和内部系统。

第一次看见时,我的感觉通常是惊艳:页面干净,布局规整,动画流畅,圆角、阴影和留白也都恰到好处。一个过去可能需要产品、设计、前端配合数天才能完成的页面,现在对着 AI 描述几句话,很快就能跑起来。

但看过十几个、几十个之后,另一种感觉出现了。

深色背景上漂浮着蓝紫色光晕;首屏中央是一行巨大的宣传语,某几个字带渐变;下面摆两个按钮,一个实心,一个描边;再往下是三到六张圆角卡片,配一套细线图标。字体干净、克制,没有明显错误,也没有多少记忆点。

你很难说它丑。恰恰相反,它通常是“合格的现代网页”。可看久了就是会产生一种难以描述的审美反胃:它什么都有,唯独不像是某个具体的人、某个具体的团队,为某件具体的事做出来的。

我想弄清楚,这种所谓的“AI 味”究竟是什么,以及它为什么会出现。

先说明:什么是 Vibe Coding?

“Vibe Coding”这个说法通常被认为由 Andrej Karpathy 在 2025 年 2 月提出。它描述的是一种以自然语言表达需求、让大模型生成和修改代码、开发者主要观察结果并继续对话的开发方式。IBM 对这一术语的介绍也强调了这种从“逐行写代码”向“描述意图”的变化。

当然,现实中有一条很宽的光谱:有人只让 AI 补几行代码,有人会认真审查每次改动,也有人几乎不看代码,只看页面能不能工作。本文说的主要是光谱的后一端,尤其是那些没有设计师深入参与、由一句宽泛需求直接生成界面的项目。

“AI 味”不是一种具体风格,而是一组高频默认值

如果一定要给这种观感列一份不严谨但直观的清单,大概包括:

  • 大字号、居中对齐的 Hero Section(首屏主视觉区);
  • “一句口号 + 一段副标题 + 两个 CTA 按钮”的固定组合;
  • Bento Grid(便当盒式网格)或等宽卡片陈列功能;
  • 大圆角、细描边、柔和阴影、胶囊形按钮;
  • 黑白灰底色,加蓝色或紫色作为唯一强调色;
  • 渐变、光晕、毛玻璃和非常克制的微动画;
  • 一套线性图标,以及相似得让人分不清的无衬线字体。

这些元素单独拿出来都没有问题。它们中的很多甚至来自成熟的设计经验:清晰、易读、响应式友好,也不容易犯严重的可用性错误。

问题出在组合方式。当大量页面都从同一组“安全选项”里取值,高下限就会逐渐变成低辨识度。每个页面都像是完成度 80% 的第一稿,却很少有人继续追问剩下的 20% 应该属于谁。

这里还要加一个限定:这股味道并不是 AI 凭空发明的。极简 SaaS 官网、组件库和模板化开发早就存在,AI 更像一个放大器,把互联网中已经占主流的视觉语言以更低成本、更高频率复制出来。因此,我们也不能仅凭圆角卡片和蓝紫渐变就断言某个网站一定由 AI 生成;有时我们闻到的未必是“AI 味”,而是被 AI 进一步扩散的“默认模板味”。

2026 年的一篇文章干脆把这个现象称为 Design Homogenization(设计同质化)。论文题目就叫 《Interrogating Design Homogenization in Web Vibe Coding》。作者认为,当用户只给出高层、模糊的审美要求时,模型会用训练中学到的主流模式补齐缺失的设计决策;追求“无摩擦生成”的交互,又会鼓励人们接受第一个看起来足够合理的结果。论文举出的典型结果正是:大量留白、标准无衬线字体和可预测的首屏图片。

需要强调的是,这是一篇针对新现象进行风险分析的预印本,不等于已经通过大规模实验“证明所有 AI 网页都一样”。但至少,它为这种原本只能凭感觉描述的不适提供了一个准确的术语。

为什么它们会长得越来越像?

1. 一句需求里没有说出的部分,全部交给了“概率默认值”

“帮我做一个高级、有科技感的产品官网。”

这句话看起来给了要求,其实没有回答多少设计问题:产品面对谁?品牌是冷峻还是亲切?信息的优先级是什么?应该延续什么文化语境?哪些风格绝对不能用?

过去,设计师会通过沟通、调研和反复提案把这些空白变成明确选择。现在,AI 必须立刻把空白填上。对生成模型来说,最稳妥的办法自然是回到训练数据里最常见、最容易被接受、最不容易出错的组合。

这不是说 AI 没有能力生成奇怪、复杂或个性化的页面,而是说:当人的要求停留在平均值,模型最容易返回的也是平均值。

更广泛的生成式 AI 研究也观察到了类似张力。2024 年发表于 Science Advances 的一项短篇故事实验发现,获得生成式 AI 帮助的作者,其作品单独看会被评价得更有创意、更好读;但把所有作品放在一起,它们又比纯人类创作的故事更加相似。研究原文讨论的是写作,不能直接当作网页设计的证据,但它很好地解释了我面对这些页面时的矛盾感:每一个都不差,合在一起却越来越窄。

2. AI 不只在复用知识,也在复用同一套脚手架和组件

网页的相似并不全来自大模型本身,还来自它们偏爱的工程生态。

Vercel 在发布 v0 时明确写道,v0 会使用 React、Tailwind CSS 和 shadcn/ui 等开源工具生成代码。v0 官方介绍将它定位为产品的“第一个版本”。而 shadcn/ui 的文档也很坦率:它提供经过选择的“漂亮默认值”,追求开箱即用的干净、极简和一致,并且其开放代码与统一接口非常适合 AI 理解和生成。

这些本来都是优点。设计系统和组件库的目的,本来就是减少重复劳动、保证一致性。可当大量不同项目都从同一个设计系统出发,又都停在“开箱即用”这一层时,一致性就从单个产品内部扩散到了整个互联网。

于是,按钮的高度、卡片的圆角、边框的灰度、标题的字号、区块间距,甚至加载中的骨架屏,都开始带着相似的家族特征。模型可能每次都写了新的代码,视觉上却仍像在排列同一盒积木。

3. 工具追求的是“尽快交付一个像样的结果”,不是“建立独特的视觉语言”

AI Coding 产品最容易展示的价值,是把从想法到可运行页面的时间压到最短。第一屏是否足够惊艳、代码能否运行、按钮能否点击,都是即时可见的;品牌是否有长期辨识度、视觉语言是否忠于特定人群和文化,则很难在一次生成里衡量。

这会形成一种自然的选择压力:工具优先生成大家熟悉、评价稳定、截图好看的方案。蓝紫渐变、极简无衬线、圆角卡片之所以反复出现,不一定是因为谁认定它们最美,而是因为它们足够安全,能在最少上下文里快速传达“现代”“科技”“专业”。

前面提到的 Web Vibe Coding 论文把这种机制概括为对 frictionless generation(无摩擦生成) 的追求:越强调从提示词直接抵达成品,中间用于质疑、比较和澄清的环节就越少,第一份“还不错”的答案也越容易成为最终答案。

4. 与其说“设计师被 AI 裁掉了”,不如说设计这个过程被跳过了

我最初也很容易把问题归因于:前端和设计岗位被裁,或者项目为了省钱根本不让他们参与。

但认真说,这个结论太大了。我没有找到能够直接证明“设计岗位减少导致 AI 网页同质化”的可靠研究;前端工程师与视觉/交互设计师也不是可以相互替换的同一种角色。把现象简单归结为某个职业群体的消失,很容易把相关性写成因果关系。

更稳妥的说法是:Vibe Coding 大幅降低了独立发布软件的门槛,许多原本不会进入正式产品流程的小工具、验证性项目和个人需求,现在可以由后端工程师、产品经理、运营人员,甚至非研发人员直接做出来。这个变化很有价值,但在其中一些项目里,缺席的不一定是“设计师这个人”,而是设计所包含的提问、取舍和反复推敲。

人可以不在场,流程也可以被压缩,最终留下的空位便由模型默认值和组件默认值共同接管。

那个“差不多的字体”到底是什么?

严格来说,它不是某一种字体,而是一类气质相近的 Sans Serif(无衬线字体)。如果只看英文界面,最容易被辨认出来的答案之一确实是 Inter;在 Next.js/Vercel 生态里又经常会看到 Geist;如果项目没有主动配置 Web Font,则经常直接使用 system-ui(系统界面字体栈)

这并不是纯粹的印象:

  • 当前 Next.js 官方 create-next-app 模板直接引入了 GeistGeist_Mono,可以在模板源码中看到;
  • Tailwind CSS 的 font-sans 默认值是一长串系统无衬线字体,包括 -apple-systemSegoe UIRobotoNoto SansArial 等,见其字体文档
  • Inter 的作者将它定位为为屏幕界面打造的“工作马”字体,强调小字号可读性,而且它采用开放字体许可,见 Inter 官方介绍
  • Geist 同样强调简洁、清晰、功能性和开发者场景,并采用 OFL 开放字体许可,见 Vercel 的 Geist 页面

所以,“是不是为了避免字体版权”这个猜测不能说错,但它只说中了一部分。

开放许可确实降低了商用、分发和自托管时的合规成本;但 Inter 和 Geist 流行还因为它们屏幕显示清晰、字重范围完整、变量字体方便、接入现代前端框架很省事。更直接的原因则是:它们已经成为模板和工具链的默认选项。 很多人不是在十种字体中审美抉择后选择了 Geist,而是从来没有改掉脚手架里的那一行代码。

中文页面还会多一层“看不见的回退”。Next.js 模板里的 Geist 默认只加载 latin 子集,并不负责显示汉字。CSS 会逐字符寻找包含相应字形的后备字体,这是 MDN 对 font-family 回退机制的说明。因此,同一个页面里的英文可能是 Geist 或 Inter,中文则会根据 CSS 字体栈、浏览器和操作系统选择后备字体;常见候选包括 macOS/iOS 上的苹方,以及中文 Windows 上的微软雅黑 UI。苹果的系统字体列表收录了 PingFang SC,微软的字体说明则将 Microsoft YaHei UI 列为简体中文界面字体。

这也解释了为什么中文 AI 页面有时不仅布局像,连文字的“声音”也像:英文使用相同的现代无衬线字体,中文又可能回退到相同的操作系统字体。

我为什么会对这种“漂亮”感到反胃?

我不觉得这是因为页面不够精致,也不想把它误称为“恐怖谷”。恐怖谷描述的是拟人对象接近人类却又不完全像人类时产生的不适,用在这里并不准确。

更接近的说法,可能是 审美同质化带来的厌倦,以及对“作者性缺失”的敏感。

过去一个设计不够成熟的网页,可能配色难看、字号混乱、按钮像从三个系统里拼出来的。它当然不好用,却偶尔能暴露出制作者的习惯、行业的土壤,甚至某种笨拙但具体的偏好。

AI 页面消灭了大量这种低级错误,也顺便擦掉了许多未经标准化的痕迹。它们像连锁酒店的大堂:灯光、香味、沙发和背景音乐都经过计算,第一次进入时足够舒适;但连续住过十家之后,你开始不知道自己在哪座城市。

真正让我不舒服的,也许不是重复本身,而是这些页面常常在文案里反复宣称“独特”“颠覆”“为你而生”,视觉上却使用同一种安全语言。界面看起来像做出了许多设计决定,实际却可能没有人真正做过那些决定。

这是一种无菌的漂亮:没有明显缺陷,也没有多少必须如此的理由。

最后:这不是一篇反对 AI Coding 的文章

我自己也无法否认 AI Coding 带来的价值。它让一个普通人可以把想法变成能运行的东西,让工程师从大量重复页面中解脱,也让过去根本不值得投入一支团队的小需求终于有机会被实现。

我只是想记录这个阶段特有的矛盾感:

AI 抬高了每个作品的完成度下限,却可能暂时压低了所有作品放在一起时的多样性。

今天的 AI 很擅长回答“一个现代网站通常长什么样”,还不总是擅长追问“这个网站为什么必须长成这样”。也许未来的工具不只是更快地吐出第一稿,而是更懂得识别模糊意图、主动询问文化与品牌语境,并给出真正分叉的方向,而不是同一套页面换三种强调色。

到那时,我们或许不再需要从圆角、渐变和 Inter 里辨认“这是 AI 做的”。

而现在,我只想先把这种感觉记下来:我们刚刚获得了前所未有的网页生产能力,也正在第一次面对一种前所未有的、由统计平均值制造的审美疲劳。


Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐