主题
我把这篇文章的配图,全交给了 huashu-design 3.0
先说一件事:这篇文章的封面和全部配图,没有一张是我手工画的。
它们来自一个开源 skill——huashu-design 3.0——按它自己的标准流程生成:六个候选、挑三个方向、跑一轮设计体检。
起因是 10 月 23 日它发布了 3.0。发布文里有个反直觉的故事让我想亲手验证一遍:作者给 AI 加「不许做什么」的约束清单,结果设计越做越平庸;把禁令换成「看得见的样张」,它反而敢了。
于是我决定做个实验:让 3.0 包办一篇文章的全部配图。你现在读的这篇,就是实验品。
先说结论
- 能干活:本次实验里,它独立产出了 1 张封面、3 张方向稿、3 张内文图、1 张方封。封面三张在体检里被抓出 20 处问题(红 7 / 黄 13),内文图三张也有字号问题——全部修复后复检全绿。
- 要人:选方向、"好不好看"的最终判断,仍然是人——它自己明确说过:好不好看,它不打分。
- 一个前提:它的强项是"协议"——从题材长出设计、按流程收敛、拿事实体检。它不替你决定"要什么"。
一、这次实验是怎么做的
huashu-design 是一个「用 HTML 做设计」的 agent skill:你丢给它一句话需求,它产出网页 / 幻灯片 / 可点击原型 / 动画 / 信息图。MIT 协议开源,本实验当天(10 月 24 日)实测 25,913 star。
3.0 的标准流程是四道工序:

配图二:四道工序——六个候选、三个方向、设计体检、成稿成册(本图也由 3.0 生成)
- 六个候选,先画缩略图:三套逻辑(最佳设计师、现实参照、秒数轮盘)各出两个,每格都是真字体真配色;
- 挑三个方向做完整版:标准是"单看够好、彼此最不一样、不撞最近项目";
- 设计体检:
design_lint只量能核对的事实(对比度、字号、换皮、撞车),红灯必修; - 交付:渲染成稿——你正在看的每一张图,都从这条线里走出来。
我把 3.0 完整装到本机(38.6MB 全量仓库,含 84 种带样张的风格库),然后按这套流程走了整整一遍。
二、那个反直觉的「禁令悖论」
3.0 发布文里最值钱的一段,是作者自曝的"失败史"。为了治"设计越做越像",他做了三轮盲测(固定 4 道题,改前改后打乱顺序,自己盲选):

配图一:三轮盲测的胜率变化——越约束,越难看(本图也由 3.0 生成)
- 第一轮:他让每个方向先定一个"大隐喻"——结果页面全变成了道具:众筹 PPT 做成借书卡,App 套进地铁线路图。新版只赢 1/4。
- 第二轮:他给 agent 加了一份「AI 默认外观清单」+ 一堆护栏,想把设计赶出"AI 味"。结果三版一起退到浅冷色、整整齐齐——全输。他的原话是:「其实都一般,主要是太规整,太无聊了。」更打脸的是:旧版里他认可的几种样子,恰好就是被新规则劝退的。
- 第三轮:他把方向倒了过来——加选项,不加禁令。多给候选、给看得见的样张、让 agent 真的去看参考作品。全胜。这一版,成了 3.0。
你告诉 agent 不许做什么,它会躲到最安全、最整齐的地方去;你给它更多看得见的东西,它反而敢。
这条经验不只适用于设计。任何"给生成式 AI 定约束"的场景(文案禁词表、代码规范黑名单),都可能踩进同一个坑:负面清单把输出挤向安全区,正向示例才能释放多样性。
三、六个候选,一场「轮盘赌」
3.0 要求先出六个候选。其中两个来自"秒数轮盘"——用当前秒数从风格库里随机抽。做这次实验时,轮盘把我带向了两个平时不会选的风格:报刊数据图形和吕敬人的书籍设计。

六个候选的缩略图(真字体、真配色、真骨架;本图也由 3.0 生成)
三个方向随后做成了完整版:

方向一 · 服部一成式「玩味错位」:巨字用双色条纹错开,像一张套印没对齐的海报

方向二 · FT 式「图表即封面」:封面直接是一张坡线图——越约束,胜率越低

方向三 · 吕敬人式「实验书卷」:把整套配图当成一本装帧考究的实验档案
按流程,三个方向本该"摆给用户选"。这是一次无人值守实验,所以由我代选,并留下理由:方向三胜出——"实验记录"本来就该有档案的样子,而且用书籍语言讲科技题材,反差最有记忆点。
四、它给自己做体检
选完方向,3.0 的流程要求跑 design_lint。这部分我觉得是它最像"工程"的地方:

配图三:自检报告——红 7、黄 13,修复后复检全绿(本图也由 3.0 生成)
体检不看"好不好看",只量能核对的事实:文字对比度够不够、字号会不会太小、三版是不是换皮、有没有和最近的项目撞车。第一轮就抓出了实质问题:
- 三张方向稿共 20 处:对比度不足(比如灰字配米色底只有 2.44:1,低于 4.5:1 底线)、装饰性小标签堆砌、字号不达标;
- 其中一个点只有它会发现:内文图按手机阅读尺度算,正文必须 ≥36px、标签 ≥28px——我最初排的"书页"太密,在信息流里会被缩得看不清。于是内文图三张整体重排。
修完全部红灯后,复检全绿。注意"全绿"的含义:它只说明"可核对的事实"没问题,不代表设计好。 好不好看,它明确说了不算——那部分我用自己的眼睛逐张过了。
五、成品和三条边界
最终交付(也是公众号封面):

最终选定的封面:实验书卷(也用于公众号 2.35:1 规格)

公众号 1:1 方封,同一套系统派生
说三条诚实的边界:
- 这次实验走的是"零生图"路线:全部靠纯排版 + 几何 + 真实数据(风格库里叫 T0 素材档)。需要照片级素材时,还得接生图工具。
- 字体是硬约束:本机没有商用中文字体(只有 Noto 和开源楷体/宋体),设计要在约束里成立——上面所有图证明它成立。
- "选"这件事仍要人:它提供"看得见的东西",人负责选择。
六、怎么复用它
- 仓库:
https://github.com/alchaincyf/huashu-design(MIT,npx skills add alchaincyf/huashu-design) - 给文章配图:把"候选扩张 + 体检"当默认流程——先要多个风格化候选,再让体检管事实,最后人只管选;
- 给 agent 写提示词:记住那个悖论——与其列"不许做什么",不如给"做成什么样"。
顺带交代一句:本文所有数字都能对上账——Star 数来自 10 月 24 日拉取的 GitHub API,盲测数字来自作者发布文原文,体检数据来自 design_lint 的实际运行输出。
最后说句大实话:这次配图,从装好 skill 到成稿不到一小时,其中设计部分半个多小时。值不值、像不像"人做的",你看图说话。