设计流程
模型具备惊人的创造力,但这种创造力往往被其训练方式所扼杀。模型逐个 token 地构建设计,每当需要做出设计决策(使用什么颜色、如何排列元素)时,它都会填充它认为最有可能取悦所有人的 token。最终的设计变得重复而平淡:这是“委员会设计”的终极案例。伟大的设计始于感觉,旨在创造情感共鸣。它打破规则,用令人难忘、出乎意料的选择取悦用户——这与每一步都做出最可预测的选择完全相反。
本技能是为 AI 代理重新构想的设计流程,大致灵感来源于双钻模型:发现(Discover)——通过探索各种方向并撰写大胆的设计简报,超越平均水准发现新想法;定义(Define)——通过突破熟悉的模式并串联模型,确立独特的设计身份;交付(Deliver)——通过打磨掉粗糙的边缘,交付令人惊艳的最终结果。(改编自 Anshu Chimala 的 "如何将你的 AI 变成世界级设计师",并将评价最高的公共设计技能中的反复出现的规则归纳到了 references/anti-slop.md 中。)
两条规则凌驾于每一步之上:
- 简报优先。 如果用户固定了方向、字体、调色板、时代——请完全遵循,即使它出现在“永远不要默认”的列表中。将一个明确的设计简报引导向你自己的品味是失败。这些列表仅在简报未明确某个维度时适用。
- “惯用默认”是指在没有理由的情况下被使用的默认值,而不是出现的模式。 根据意图判断。当不确定某件事是“惯用默认”还是一项决策时,将其视为决策。
步骤
-
关卡:这是什么,目标用户是谁? 各用一行说明:产品、受众、页面存在的唯一操作、平台以及任何品牌约束。如果用户没有提供任何信息,请询问一次(使用
AskUserQuestion)——你自己编造的简报只是平均水平的简报。该主题所属的行业、材料和专业术语,是形成独特选择的地方。在同一消息中,确定图像方案:检查是否存在生成途径(.env.agents中的密钥、fnox、fal/replicate MCP 服务器、Codex CLI、内置图像工具;请参阅 define.md)。如果没有找到 → 要求提供一个,或要求提供真实资产(产品截图、照片)。将答案记录在简报中;仅使用纯文本类型的页面是用户做出的决定,而不是代理默认陷入的模式。 -
发现——先广后深。 从模型外部获取多样性。要么从随机字符串(字符串种子思维)种下方向,要么使用用户带来的命名灵感获得具体且狂野的方向;当用户没有灵感时,生成一个广泛的设计语言列表并让用户做出反应。当构图和层次结构比种子灵感本身更重要时,首先使用图像模型对屏幕进行模拟,然后基于此构建,而不是仅仅依赖纯文本简报。在编写任何代码之前,将所选方向编写成一个设计简报。如果需要多个方向 → 编写多个简报,制作多个一次性变体,每个变体相互隔离。→ references/discover.md
-
根据简报构建第一个版本。 坚定不移地贯彻方向:使用真实的排版(为此主题选择、加载并验证),一种强调色(很少使用),一个不是“Hero → 三个特性 → CTA → 页脚”的整页形状,一个访客会记住的标志性元素,以及所有状态的设计。在构建过程中,对照 references/anti-slop.md 中的“永远不要默认”表格检查选择,而不是之后检查,并在第一次截图之前运行其六轴自检。
-
定义——评论家循环。 截图页面(桌面端和手机端,保存到文件)。部署一个设计评论家子代理,使用最强的可用模型,在一个全新的上下文中,仅提供截图和预期美学要求(永远不提供代码,不提供目标分数)。它指出与工作室级别标准的差距——或者,更好的是,与盲选的参考设计对比——并给出 /10 的评分。修复最大的差距,重新截图,使用相同的提示重新运行评论家。该循环是有界的:默认两轮,然后在 达标 / 一轮无变化 / 预算耗尽 中最早出现的一项时停止,并向用户展示结果。仅凭分数阈值不能作为退出条件;已发布的循环从未因分数达标而终止。→ references/define.md,提示词在 references/critic-prompt.md 中
-
定义——真实资产。 任何包含视觉元素的页面——Hero、特色图片、纹理、插图占位——默认情况下都应获得生成或真实的图像,而不是渐变、形状或 CSS 图案;代理通常会跳过此步骤除非被告知,而代码绘制的装饰就是破绽。如果值得添加动效,则使用视频(色度键控循环、关键帧插值过渡)。密钥存放在被 gitignore 的环境文件或 fnox 中,永远不要放在源代码中。如果在关卡阶段未找到生成途径且用户选择了纯文本类型 → 在交接时将其作为已知的差距说明,并设计页面使其仅靠排版和构图就能撑起 Hero 区域。→ references/define.md
-
交付——做减法,然后验证。 遍历每个元素,询问如果移除它会发生什么;移除发光、渐变、冗余标签、填充性文案、比原生控件更差的自定义控件、以及模板放置的区块。然后进行响应式、深色/浅色模式、
accessibility可访问性审计、性能测试,并在每个断点进行真实浏览器截图。→ references/deliver.md -
交付——文案风格审查。 对所有用户可见的字符串(标题、导语、按钮、空状态和错误状态)运行
writing:voice-profile技能,使文案以用户的语言习惯呈现,而不是模型默认的腔调;如果没有个人风格档案,则应用其基线规则加上writing:humanizer依然有效。→ references/deliver.md
flowchart LR
G[关卡: 产品、受众、
单一操作] --> D1[发现:
随机种子或开放式提示]
D1 --> B[设计简报]
B --> V[根据简报构建 v1]
V --> S[截图]
S --> C{评论家 /10
全新上下文}
C -- "存在差距" --> F[修复最大差距]
F --> S
C -- "9+ 或 停滞" --> A[真实图像/视频
当个性不足时]
A --> P[交付: 做减法,
然后验证]
P --> W[对所有文案
进行风格审查]
使用何种模式
并非每个设计任务都值得完整的循环。根据任务选择处理方式,而不是决定是否设计:
| 任务 | 做法 |
|---|---|
| 一个组件、设置面板、文档页面、小型重新设计 | 步骤 1–3 + 一次查看:完整构建,同时截图桌面端和移动端,一次性修复截图显示的所有问题,确认一次,停止 |
| 一个落地页、Hero 屏幕、任何用户称之为“普通”或希望脱颖而出的东西 | 完整循环,步骤 1–6,评论家按上述方式设定边界 |
| 用户想要多个方案可供选择 | 步骤 2 在隔离的变体中执行三次或更多次,每个变体截图一次,让用户选择,然后从步骤 3 继续处理选中的方案 |
快速参考
| 症状 | 行动 |
|---|---|
| 每次运行看起来都一样(紫色渐变,Hero 分割) | 使用随机字符串作为种子,或指定一个狂野的灵感—— discover.md |
| “让它独特/随机”没有帮助 | 仅仅通过要求是无法实现随机的;多样性必须来自模型外部 |
| 完全不知道朝什么方向 | 生成广泛列表的提示 → 用户反应 → 聚焦 → 构建提示 |
| 布局/层次结构感觉不对,但方向是正确的 | 使用图像模型对屏幕进行模拟,然后基于此构建,同时参考书面简报—— discover.md |
| 代理一直说自己的作品“看起来不错” | 评论家子代理,全新上下文,仅提供截图,每轮使用相同提示 |
| 评论家永不满足,消耗大量 token | 首先限制在 2 轮之内;在分数停滞时停止;使目标具体化(与真实参考进行盲选) |
| 每个非默认的选择都是相同的非默认选择(Space Grotesk 字体,奶油色 + 衬线) | 二阶默认仍然是默认;轮换选择—— anti-slop.md |
| 个性来自 CSS 渐变和模糊形状 | 生成真实图像;着色器/3D 只能与图像结合使用 |
| 手头没有图像生成密钥 | 在关卡阶段询问,或从用户那里获取真实资产;仅在用户明确选择时提供纯文本类型的设计 |
| 感觉很杂乱,缺少“高级感” | 减法审查—— deliver.md |
| 代码审查看起来没问题 | 在看到截图之前,工作尚未完成 |
完成标准
- 存在书面简报,并且最终交付的设计仍然与之匹配。
- 从简报中移除产品名称:仍然能判断出该页面的用途。
- 评论家在全新上下文中给出了 9+ 的评分(或在盲选中胜出),或者循环达到了边界并且用户接受了当前状态。
- 在“永远不要默认”表格中的任何内容,如果没有在简报中写明理由,则不会保留。
- 每个视觉占位都包含生成或真实的图像,或者简报记录了用户关于纯文本类型的决定,并且交接时将其列为差距。
- 每个保留的元素都有其作用;文案只说明产品的功能。
- 已经查看了手机和桌面宽度的截图(包括浅色和深色模式),并且
accessibility可访问性审计通过。 - 每个用户可见的字符串都已通过文案风格审查;文案读起来像是用户自己写的,并且语音审计报告没有禁用词。