1. 从“impeccable”这个词说起:它到底想解决什么问题
第一次看到“impeccable”这个词,是在几个前端交流群里。有人甩出一张截图,说某个工具能把 AI 写出来的前端代码“收拾得服服帖帖”,评论区里有人回了一句“这玩意儿确实 impeccable”。我当时的第一反应是:又一个包装概念的工具?但点进去看了两眼之后,我意识到它踩中的是一个真实存在的痛点——AI coding agents 生成的前端代码,能跑,但不好看、不统一、不讲究。
这个词本身的意思是“无可挑剔的、完美的”。放在前端设计语境里,它指向的不是功能层面的正确,而是视觉和体验层面的“讲究”。你让 Codex CLI、Claude Code 或者别的 AI coding agent 帮你写一个登录页,它大概率能给你一个能用的版本:输入框、按钮、表单验证都有。但你打开浏览器一看,间距是随意的,颜色是默认的,圆角是 4px 还是 8px 全看模型心情,hover 状态可能压根没写。功能上没毛病,设计上全是毛病。
impeccable 要做的就是这件事:在 AI 生成代码和最终交付之间,插一层“设计品控”。它不是一个从零开始的设计工具,也不是一个替代 Figma 的东西,而是一个面向 AI coding agents 的“前端设计规范执行层”。你可以把它理解成一个极其挑剔的设计师,站在 AI 旁边,每当 AI 写完一段 UI 代码,它就凑过去说:“这个间距不对,这个色号偏了,这个交互状态缺了。”
从热搜词来看,impeccable 和 AI coding agents、frontend design、CLI、browser extension 这几个词绑得很紧。这说明它的使用形态大概率是两种:一种是通过命令行(CLI)集成到开发流程里,另一种是通过浏览器扩展(browser extension)在预览环节做实时检查。这两种形态对应的是两个不同的使用场景——前者是“写的时候就管”,后者是“写完再看”。两种都有道理,后面我会详细拆。
这篇文章适合谁看?如果你正在用 AI coding agents 写前端,或者你是一个前端工程师,发现 AI 生成的代码总是需要你手动调半天样式,那 impeccable 这类工具的思路值得你花时间研究。哪怕你最后不用它,理解它背后的“设计规范执行”逻辑,也能帮你更好地设计自己的 AI 工作流。如果你是完全的前端新手,这篇文章也能帮你看清楚:AI 写前端到底差在哪,以及怎么补上这个差距。
2. impeccable 的核心设计思路:为什么是“规范执行层”而不是“代码生成器”
2.1 AI 写前端的真正短板不在功能,在“一致性”
我先说一个我自己的观察。过去大半年,我用 Codex CLI 和几个 AI coding agents 写过不少前端页面。一个很明显的规律是:AI 写单个组件的能力已经很强了,但写一个完整页面、尤其是一个有多个组件的页面时,一致性会崩。
举个例子。我让 AI 写一个设置页面,里面有开关(toggle)、下拉选择(select)、文本输入(input)和保存按钮。AI 会分别写这四个东西,每个单独看都还行。但放到一起,问题就出来了:开关的圆角是 full,下拉的圆角是 6px,输入框的圆角是 4px,按钮的圆角是 8px。间距也是,开关和下拉之间是 16px,下拉和输入框之间是 12px,输入框和按钮之间是 24px。颜色更不用说,边框颜色三个地方三个样。
这不是 AI 笨,而是它的生成机制决定的。AI 是逐 token 生成的,它在写开关的时候,脑子里没有“这个页面所有组件的圆角应该统一”这个全局约束。它只是在局部做“看起来合理”的决策。而人类设计师做页面时,脑子里是有一套 design token 的:圆角就三档,间距就四档,颜色就一个 palette。这套 token 是全局的,所有组件都从里面取值。
impeccable 的核心思路,我判断就是把这套 design token 变成 AI 必须遵守的硬约束。它不是让 AI 重新学一遍设计,而是在 AI 生成代码之后(或者生成过程中),用一套预定义的规范去校验和修正。这就像代码里的 linter——你不是让程序员不写错,而是写完之