Impeccable Distill 指南:用"减法"把界面剥离到本质的 AI 设计简化方法论
【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable
在 Impeccable 这套面向 AI 的设计技能体系中,distill是与bolder(放大)、quieter(收敛)、polish(精修)并列的 Refine(细化)类命令。它不做加法、不换视觉世界,而是做减法:把设计剥离到本质,移除任何不配占据位置的东西——冗余元素、重复信息、装饰噪音、多余的复杂度。本指南以 distill 参考文档 为核心骨架,结合仓库中的技能元数据、质量底线与反模式测试夹具,完整讲解从"评估当前状态"到"记录被移除复杂度"的五段式简化工作流。读完你将掌握:如何判断一个界面到底"乱"在哪里、如何找到那 20% 产生 80% 价值的本质、如何沿信息架构与视觉两个主轴系统性地做减法,以及如何在简化后自证可用性并未受损,并正确交接给最终精修。
一、Distill 是什么:先定位再动手
在 SKILL.md 的命令总表中,distill的定位非常明确:类别为Refine(细化),用法是distill [target],一句话描述是"Strip to essence, remove complexity"(剥离到本质,移除复杂度)。技能元数据文件 command-metadata.json 给出了更细的触发条件:
Strip designs to their essence by removing unnecessary complexity. Great design is simple, powerful, and clean. Use when the user asks to simplify, declutter, reduce noise, remove elements, or make a UI cleaner and more focused.
即:当用户提出simplify、declutter、reduce noise、remove elements、make a UI cleaner and more focused(简化、去杂乱、降噪、移除元素、让界面更干净更聚焦)等诉求时,就应加载 distill 参考。这一点与工作流中的"路由"机制一致——用户显式或隐含给出命令时,加载对应参考文档执行;无参数调用/impeccable时则走 routing.md 的上下文感知菜单推荐。
distill 和兄弟命令有清晰的边界,不能混用:
bolder(bolder 参考)处理"过于安全、平庸"的设计,做的是放大与加码;quieter处理"过于激进、过度刺激"的设计,做的是收敛;distill处理的是复杂与冗余,做的是"剥到本质";polish则是不可隐藏的重设计的收尾:distill 文档明确指出,当剪裁到位后,交由/impeccable polish做最后一轮打磨。
二、第一阶段:评估当前状态(Assess Current State)
动手之前先回答一个问题:这个设计为什么看起来复杂或杂乱?文档给出两条评估主线。
2.1 识别复杂性来源(Identify Complexity Sources)
对照以下六类来源逐一检视界面,每一类都对应着具体的视觉症状:
| 复杂性来源 | 典型症状 |
|---|---|
| 元素过多(Too many elements) | 互相竞争的按钮、重复的信息、视觉杂乱 |
| 过度变化(Excessive variation) | 颜色、字体、字号、样式数量失控且没有用途支撑 |
| 信息过载(Information overload) | 所有内容一次性平铺,缺少渐进披露(progressive disclosure) |
| 视觉噪音(Visual noise) | 无意义的边框、阴影、背景、装饰 |
| 层级混乱(Confusing hierarchy) | 看不出什么最重要 |
| 功能蔓延(Feature creep) | 选项、动作、路径过多 |
仓库的测试夹具库 tests/fixtures/antipatterns 正好为"视觉噪音"这一类提供了可运行的判别样本:例如glow.html用蓝色、紫色、青色、多色光晕反复演示"零偏移彩色光晕"这类装饰性深度;cramped-padding.html用 8px 内边距的对比说明"呼吸感"与"拥挤"的分界;named-color-borders.html与modern-color-borders.html则展示了边框色彩选择不当造成的廉价感。在做 distill 评估时,这些夹具可以用作自我对照的基准,确认哪些图案属于应当移除的噪音。
2.2 找到本质(Find the Essence)
识别完"乱在哪"之后,追问四个问题:
- 用户的首要目标是什么?(应当只有一个)
- 什么是真正必要的,什么是"有更好"(nice-to-have)?
- 什么可以被移除、隐藏或合并?
- 哪 20% 交付了 80% 的价值?
文档同时给出一条重要的证据边界:如果这些问题无法从代码库推断出来,不要猜测,直接向用户提问去澄清无法推断的部分。这也呼应了技能总纲里"验证要有界、有穷,而不是无限循环"的原则——澄清的代价远低于在错误方向上做大量返工。
2.3 记住简化不是删功能
这一阶段的高亮红线(CRITICAL)是理解整个命令的关键:
Simplicity is not about removing features. It's about removing obstacles between users and their goals. Every element should justify its existence.
简化的对象是"用户与目标之间的障碍",不是功能本身;每个元素都必须为自身的存在给出理由。
三、第二阶段:制定简化计划(Plan Simplification)
评估之后,制定一份"冷酷的编辑策略"(ruthless editing strategy),回答四个问题:
- 核心目的(Core purpose):这件事应当完成的"那一件事"是什么?
- 必要元素(Essential elements):要实现该目的,真正缺一不可的是什么?
- 渐进披露(Progressive disclosure):什么可以藏起来、到需要时再出现?
- 合并机会(Consolidation opportunities):什么可以合并或整合?
文档在此处同样给出红线(IMPORTANT):简化是困难的,它要求你对"好主意"说不,为"出色的执行"腾出空间。要无情(Be ruthless)。计划阶段产出的是一份候选"删除/隐藏/合并"清单,而不是直接改代码——这保证下一步的执行是有依据的删减而非情绪化删减。
四、第三阶段:沿六个维度执行简化(Simplify the Design)
这是命令的核心实操部分。文档将"移除复杂度"系统化为六个互相正交的维度,任何界面都可以逐维过一遍。
4.1 信息架构(Information Architecture)
目标是让信息结构本身变薄:
- 缩小范围:移除次要动作、可选功能、冗余信息;
- 渐进披露:把复杂度藏进清晰的入口后面——手风琴(accordion)、模态框(modal)、分步流程(step-through flows);
- 合并相关动作:合并相似的按钮、整合表单、把相关内容归组;
- 清晰的层级:一个主动作、少量次动作、其余全部降级为三级或隐藏;
- 消除冗余:别处已经说过的内容,这里不重复。
4.2 视觉简化(Visual Simplification)
针对"眼睛累"的减法,文档给出非常具体的量化指导:
- 收敛色板:用 1–2 个强调色加中性色,而不是 5–7 个颜色;
- 限制字体:一个字族,最多 3–4 个字号,2–3 个字重;
- 移除装饰:去掉不服务于层级或功能的边框、阴影、背景;
- 扁平化结构:减少嵌套、去掉不必要的容器;绝不在卡片里再嵌套卡片;
- 移除多余的卡片:基础布局不需要卡片,用间距与对齐即可;
- 一致的间距:只用一套间距刻度,清除任意值缝隙。
"卡片是最懒的容器、嵌套卡片永远是错的"这一判断在仓库的 craft-floor.md(craft 质量底线)中被进一步强化——底线文档把"同尺寸的图标+标题+文本卡片作为页面结构"列为页面脚手架的默认拒绝项,并明确"nested cards are always wrong"(嵌套卡片总是错误的)。反模式夹具如 edge-flush-cards.html 与 flush-against-border.html 则记录了"什么才算真正需要卡片""卡片贴边/嵌套何时属于越界"的通过/失败样本,可作为视觉简化时的判决参考。
4.3 布局简化(Layout Simplification)
让版面回归线性呼吸:
- 线性流程:能用简单纵向流,就替换复杂网格;
- 移除侧栏:把次要内容内联化或隐藏;
- 通栏(Full-width):大方使用可用宽度,而不是复杂的多栏布局;
- 一致的对齐:左对齐或居中,选定后坚持到底;
- 慷慨的留白:让内容透气,别把一切都塞得很紧。
4.4 交互简化(Interaction Simplification)
针对"选择瘫痪"的减法,文档明确引用了"选择的悖论"(paradox of choice)是真实存在的:
- 减少选择:更少的按钮、更少的选项、更清晰的路径;
- 智能默认值:让常见选择自动化,只在必要时询问;
- 内联动作:能用行内编辑就替换模态流程;
- 移除步骤:这个流程能少一步吗?
- 清晰的下一个动作:一个明确的下一步,而不是五个互相竞争的按钮。
4.5 内容简化(Content Simplification)
文案(copy)同样是设计噪音的来源:
- 更短的文案:把每句话砍半,然后再砍一次;
- 主动语态:写 "Save changes",不写 "Changes will be saved";
- 去掉行话:平实的语言永远胜出;
- 可扫读的结构:短段落、项目符号、清晰的标题;
- 只留必要信息:删掉营销废话、法律辞令与含糊其辞(hedging);
- 去掉重复文案:不要让标题复述引言、不要重复解释,同一件事只说一次。
内容简化与 clarify 参考(改进 UX 文案与错误信息)在对象上有交叉,但角度不同:clarify 负责"把话说清楚",distill 负责"把话说到最少"。
4.6 代码简化(Code Simplification)
视觉层的简化最终要在代码层落实,否则只是截图上的"假干净":
- 删除未使用的代码:死 CSS、未使用的组件、孤儿文件;
- 扁平化组件树:减少嵌套深度;
- 合并样式:合并相近样式,一致地使用工具类(utilities);
- 收敛变体:那个组件真的需要 12 个变体吗?还是 3 个就能覆盖 90% 的场景?
这与 craft-floor 中"把真正可复用的值提升为 token,但不要为一个局部特例凭空造一套系统抽象"的立场互补——代码简化的判断标准始终是"系统归系统、例外归例外"。
4.7 NEVER 清单:简化绝不能越过的五条线
distill 的底线部分用醒目的NEVER明确"哪些事不叫简化":
- 移除必要功能(简化 ≠ 没有功能);
- 为简化牺牲可访问性(清晰的标签与 ARIA 仍然必需);
- 把东西简化到让人看不懂(神秘 ≠ 极简);
- 移除用户做决策所需的信息;
- 完全抹掉层级(有些东西就该突出);
- 过度简化复杂领域(复杂度要与任务真实复杂度匹配)。
五、第四阶段:验证简化(Verify Simplification)
简化必须可验证,而不是"看起来空了"就算成功。文档给出五条验证标准:
- 更快的任务完成:用户能更快达成目标吗?
- 更低的认知负荷:更容易理解该做什么吗?
- 仍然完整:所有必要功能仍然可达吗?
- 更清晰的层级:什么最重要仍然一目了然吗?
- 更好的性能:更简单的设计加载更快吗?
注意这五条全部是用户结果导向的判据——这正是第一阶段"简化 = 移除目标障碍"的闭环。要验证这些,最直接的方式是把页面真正渲染出来走一遍真实路径;技能体系本身也提供配套检测(detect 规则引擎与 audit/critique 命令)以及 audit 参考 作为技术质量核查手段,用于在简化前后对比确认没有在减法的过程中引入可用性或可访问性回归。
六、第五阶段:记录被移除的复杂度(Document Removed Complexity)
如果删除了功能或选项,不要一删了之:
- 记录移除原因:为什么它们被移除;
- 评估替代入口:这些能力是否需要备用的访问点(例如藏进"更多"菜单或设置页);
- 标注待观察的用户反馈:留意哪些用户反馈需要持续监控,防止误删用户真正依赖的行为。
这份记录既是给用户的交付说明,也是后续 polish/audit 阶段判断"这是有意裁剪还是意外回归"的依据,避免未来的迭代又把剪掉的东西悄悄加回来。
七、收尾交接:让 /impeccable polish 做最后一轮
distill 文档明确了自己的边界:当删减"感觉对了"(the cuts feel right)时,交给/impeccable polish做最终一轮。读 polish 参考 可知,polish 与 distill 是天然衔接的两道工序:distill 负责"决定留什么、砍什么",polish 负责"在保留现有视觉世界、内容与行为不变的前提下,把留下的东西打磨到统一精良"。polish 的范畴(缺失 token、一次性实现、概念错配、局部缺陷四类漂移的修复,与设计系统/相邻流程的一致性核对)正好覆盖 distill 完成结构性简化之后遗留的一致性细节。
整套流程的哲学注脚,是 distill 文档结尾引用的圣埃克苏佩里名言,也应是衡量简化是否到位的最终判据:
"Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away."(完美不是无可增添,而是无可删减时方才达成。)
八、一图流总结:distill 五段式工作流
- 评估现状→ 识别六大复杂性来源 + 追问"首要目标是什么";无法从代码推断就问用户;
- 制定计划→ 明确唯一核心目的、必要元素、可隐藏项、可合并项,做"冷酷的编辑策略";
- 执行简化→ 沿信息架构 / 视觉 / 布局 / 交互 / 内容 / 代码六个维度删减,守住 NEVER 五条底线;
- 验证效果→ 以"更快完成、更少认知负荷、功能仍完整、层级更清晰、性能更好"五条用户结果判据复核;
- 记录与交接→ 记录移除原因与替代入口,交由
/impeccable polish精修收尾。
整条流程严格受控于技能总纲的纪律:distill 是 Refine 中的一轮有界操作,做完即停、验证即止,不做无休止的自我美化。它交付的产物是"少而准"——少掉的是噪音,留下的是那个唯一值得用户关注的目标,以及服务于它的最少必要元素。
【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考