chapter[15] · part 3 / AI 辅助设计

AI 设计工作流:一个完整的系统

业余者依靠灵感,专业者依靠流程——区别在于专业者在没有灵感的日子里也能交付。 改写自编剧界的一句老话

前两章给了你工具地图(第十三章)和单次生成的技艺(第十四章)。但真实产品不是一次 prompt 生成出来的——它是几十次生成、评审、迭代的累积。本章把零散的能力组装成一条端到端的流水线:从一句话需求,到一个能上线的首页。核心主张只有一个:AI 改变了每一道工序的执行者,但没有改变工序本身,更没有改变谁对成品负责。你不是流水线上的工人,你是它的架构师和每一道质量门的审查官。

15.1全景:六道工序,每道都有一个 gate

先看整张图。注意两件事:每道工序都标了"谁主导"(人/AI),以及工序之间那些红色的质量门(gate)——它们是人必须签字、产出才能流向下一道的关卡。

① 定义意图 PERSON 一句话价值主张 · 用户 · 场景 · 情绪。 这一步 AI 帮不上——它不知道你要赌什么。 gate: 一句话说得清吗? ② 方向 / Moodboard AI→PERSON 象限 A 生成 3–4 个气质方向,人选一个。 廉价地试错方向,而非昂贵地试错代码。 gate: 选定唯一方向 ③ 立法 / Design Token AI→PERSON 模式 05 生成 token,人按第八章审定。 这是后续所有生成的"宪法"。 gate: token 冻结并写入 system prompt ④ 施工 / 生成界面 AI 象限 C,喂入冻结的 token(治全局失忆)。 一次一个屏/组件,不要一次要十屏。 ⑤ 评审 / 四步法 + 七 lint PERSON(+AI) 第六章四步法判"对不对",第七章 lint 查硬伤。 模式 06 让另一个 AI 当 reviewer 找盲点。 迭代回④(模式04:一次一变量) gate: 四步法的"评价"通过 ⑥ 落地 / 进组件库 PERSON 回填进设计系统,沉淀为可复用资产(三次法则)。 读这张图的三把钥匙 1 · 人占据两端 意图(①)和验收(⑤⑥)都是人—— AI 只承包中间"有标准答案"的工序。 2 · 顺序是先便宜后昂贵 改方向(②)几乎免费,改上线代码 (⑥)最贵。错误要在左上角就拦下。 3 · 每个 gate 是一次拒绝权 gate 的意义不是"通过",是"可以打回"。 没有拒绝权的流程,是 AI 在替你做 决定,而署名的人是你。
图 15-1 · AI 辅助设计的端到端工作流 · 本书绘制 六道工序,人守两端与每一道门 把这张图和你写代码的流程对照:①定义意图≈写需求,③立法≈定架构与接口,④生成≈写实现,⑤评审≈code review + CI,⑥落地≈合入主干并沉淀为库。AI 进入的是④这一道纯执行工序,以及②③⑤的"草稿员"角色。你失去的是敲样式的体力活,保留的是全部判断权——这正是第十三章"放大判断力"的具体兑现。

15.2贯穿案例:FocusForest 的首页,从零到上线

用一个虚构小产品走一遍全程。产品:FocusForest——一个给开发者用的极简专注计时器,每完成一个番茄钟,森林里长出一棵树。

① 定义意图(人)。一句话:"给容易分心的开发者一个不打扰、有成就感的专注计时器。"用户:程序员。场景:写代码时挂在第二屏角落。情绪关键词:安静、克制、一点点温暖的回报感。这一步我没问 AI——它不知道我想赌"安静"而不是"激励"。这个赌注将否决后面一切花哨方案。

② 方向(AI 出草稿,人定夺)。用象限 A 生成四个 moodboard 方向:(a) 游戏化森林,鲜艳卡通;(b) 深色极客终端风;(c) 自然纪录片质感,柔和绿;(d) 纸感杂志风,米白衬线。按意图里的"安静+克制+温暖"否掉 a(太吵)和 b(太冷),在 c 和 d 间选了 d 的骨架 + c 的绿色点缀。gate 通过:方向唯一了。

③ 立法(AI 出草稿,人审定)。用模式 05 让 AI 生成 token,我按第八章三层架构审定后冻结:

// FocusForest design tokens —— 经人工审定后冻结
// primitive
--paper:#F7F4EC; --ink:#2A2723; --forest:#3E6B4F; --bark:#9A7B53;
--space:8px(基); --ratio:1.25(字阶); --radius:8px;
// semantic(仅这一层允许被界面引用)
--bg:var(--paper); --text:var(--ink);
--accent:var(--forest);   // 唯一强调色,给"开始"和成长反馈
--text-muted: #8A8276;

注意 --accent 只有一个,而且绑定到"开始专注"和"长出树"——把第七章的克制写进了宪法。token 写入项目的 AI 配置文件,从此每次生成自动讲这门方言。gate 通过。

④ 施工(AI)。象限 C,prompt 用第十四章五器官模板,附上冻结的 token,一次只要"专注页主屏"一个屏。首版产出见下方左图。

⑤ 评审(人 + AI)。对首版跑第六章四步法。描述:居中大计时数字、一个开始按钮、底部一行小树。分析:层级对(计时器独占字阶顶端),但按钮用了实心森林绿 + 投影 + 圆角 20,和 token 的 radius:8 冲突;底部小树排成均匀一行(2.4 的单调节拍);"开始"右边还自作主张加了个"设置"齿轮,抢了唯一动作的注意力。再用模式 06 让另一个 AI 四步评审,它额外指出:计时数字用了等宽以外的字体,和"精确"气质不符。这些都是 gate 该拦下的——打回。用模式 04 迭代,一次一个变量:先修圆角→再删设置齿轮(移进长按菜单)→再让小树高低错落(给节奏一个切分音)→再把计时数字换等宽。四轮后得到右图。

④ 首版(评审打回) 25:00 专注中 开始专注 圆角/投影违 token · 齿轮抢焦 · 树均匀单调 四轮迭代后(gate 通过) 25:00 准备开始 开始专注 长按计时器调整时长 齿轮收进长按 · 树高低错落 · 等宽数字 · 唯一绿块
图 15-2 · FocusForest 首屏:评审前后 · 本书绘制 右图没有"更花",只是更安静 四处改动全部来自前两部分的工具,没有一处是"灵感":圆角守 token(第八章)、删齿轮守唯一动作(7.7 克制)、树的高低是给均匀节拍加切分音(2.4)、等宽数字是字体性格对齐"精确"气质(第四章)。AI 生成了 90% 的像素,但这四个把"能用"变成"对"的决定,全部是人在 gate 上做的。

⑥ 落地(人)。定稿的按钮、计时器排版、树的组件回填进 FocusForest 的组件库,token 文件提交进仓库。下次做"休息页""统计页"时,AI 直接复用这套已审定的方言——工作流的产出不只是一个页面,是一个会自我增厚的设计系统。

15.3团队版与防腐

个人流程放大到团队,多两条纪律:token 是唯一事实源——AI 配置、Figma 变量、代码里的 CSS 变量必须指向同一份 token,否则三处会各自漂移成第八章讲的"风格腐烂",而 AI 会忠实地把腐烂复制到每个新页面(它放大一切,包括你的债)。AI 产出必须经过人的 gate 才能进主干——把"AI 生成的代码同样要 code review"写进团队约定;最危险的不是 AI 犯错,是没人觉得自己该为 AI 的产出负责,于是无人审查的生成代码悄悄堆积成无主之地。

15.4守住一致性:AI 时代的视觉回归

AI 把生成做到了近乎免费,于是瓶颈整段位移了:难的不再是"做出一个界面",而是"让几百个界面始终是同一套界面"。这恰恰是 AI 最薄弱的地方(13.2 的"全局失忆"、13.5 第④种翻车)——每次生成都是独立采样,今天的按钮圆角 6,明天可能悄悄变成 16;颜色、间距、阴影都会一点点漂。而人眼跟不上 AI 的产出速度:你没法用肉眼逐屏 review 五百个生成页面。结论很直接:当一致性靠自觉守不住时,就得让它变成机器可检的。

第一道自动护栏叫视觉回归测试(visual regression)。它的原理就是第六章的对比鉴赏法(6.4)的全自动版——给每个组件、每个页面拍一张"基线"快照,之后每次改动都自动截图、和基线做像素级 diff,把变化的区域高亮出来,交给人判断这是"有意的改进"还是"意外的漂移":

基线 baseline 保存 圆角6 · #C2452D · 无阴影 新生成 candidate 保存 圆角16 · 色值漂移 · 多了阴影 差异 diff(机器标出) Δ 仅此处变化 圆角·色值·阴影 其余像素 100% 一致 人来裁决 这是有意的改动吗? 是 → 更新基线 否 → 打回这次生成
图 15-3 · 视觉回归:像素级 diff + 人来裁决 · 本书绘制 把"对比鉴赏"自动化成一道关卡 这张图是 6.4"把两件并排"的机器版:固定其余、只让变化的那一处现形。AI 重新生成时手滑把按钮圆角从 6 改到 16、红色漂了一点、还加了个本不该有的阴影——人眼在五百个页面里未必逮得到,但像素 diff 一定会把它框出来。关键设计在最右那一栏:机器只负责"发现差异",不负责"判断对错"——是改进还是漂移,仍由人决定(更新基线 or 打回)。这正是本章的主旋律:自动化承包"发现",人保留"裁决"。

视觉回归之外,一致性还有两道更便宜的护栏:设计 lint(8.2 的延伸——禁止裸色值、强制只引用语义 token,提交时自动拦截,这道关在像素变成截图之前就挡住了漂移);以及AI 一致性巡检(把模式 06 放大到全站:定期让 AI 拿着设计系统文档扫一遍所有页面,列出"哪里用了系统外的颜色/间距/组件"——让 AI 来抓 AI 自己制造的漂移)。三道护栏层层递进:lint 防漂移于源头,视觉回归在合并前拦截,AI 巡检定期兜底。

程序员视角

这些全都装在你熟悉的 CI 里,没有新概念:视觉回归用 Playwright 的 toHaveScreenshot()、或 Chromatic / Percy 这类托管服务,把"未经审查的像素变化"变成构建失败——就像快照测试,只不过断言的是长相。设计 lint 用 stylelint 的 declaration-property-value-allowed-list 把裸 hex 拦在 PR 外。组合起来,你得到一条对外观的 CI 流水线:AI 可以随便生成,但任何未经人确认的视觉漂移都进不了主干。这就把第八章"风格腐烂"从"迟早发生的熵增"变成了"每次提交都被检查的不变量"。注意它和功能测试的分工——单元测试保证它能用,视觉回归保证它没走样,两者都不可省。

核心概念

AI 设计工作流的本质,是把你的判断力部署到流程的关键节点上,而把执行外包出去。这和优秀工程团队的做法同构:自动化承包可重复的部分(CI、生成、lint、视觉回归),人把精力集中在不可自动化的判断上(架构、取舍、验收、裁决一次漂移是改进还是事故)。流程不是用来约束 AI 的,是用来确保"署名的人始终在决策"的。谁守着 gate,谁就是作者。

程序员视角

整套工作流可以装进你已有的工具链,不需要新平台:token 写进 CLAUDE.md / system prompt(让方言全局生效);生成的组件走正常 PR;第七章的七条 lint 写成 PR 模板的 checklist;模式 06 的"AI 四步评审"可以挂成一个 review bot。AI 设计不是设计师的活流到了程序员手里,而是软件工程的纪律流到了设计里。你本来就擅长这个。

鉴赏练习 15

用第十四章练习存档的那份材料,补完整条流水线:为你的小需求走完①→⑥,每道 gate 都明确写下"通过"或"打回,因为___"。重点不在产出多漂亮,在于你能否在每个 gate 上说出一个具体的、来自本书前十四章的拒绝理由。如果某个 gate 你发现自己只能说"感觉还行"——回到对应章节补课,那里就是你判断力的当前边界。把这条边界记进 swipe file。护栏加练:给你项目里一个组件加一条视觉回归快照(Playwright toHaveScreenshot() 或 Chromatic 任选),然后故意让 AI"优化"一下这个组件,看回归测试能不能逮住它引入的漂移——你会第一次亲眼看到"机器发现差异、人来裁决"这条关卡在替你干活。