AI 做的东西总是差点意思?它多写了两份文档才补上
上一篇我写了用 WorkBuddy 和 Codex 做同一份 PPT 的对比:一个 7 小时改了 12 版,一个十几分钟出一套工程。
有人可能会说,那是模型强弱的差别。
不是。真正的分水岭在动手之前的那十几分钟。它先写了两份文档,一份叫 STORY.md,一份叫 DESIGN.md,然后才开始画第一页。
这两份文档加起来 17 KB,纯文本。今天我把它们拆开讲。
先看结果。这套契约最后长出来的,是这 16 页:
一、它先问的不是「做什么」,是「给谁看」
STORY.md 的第一节不叫「需求」,叫用户意图对齐。
里面写的是这些:
1 2 3 4 5 6 目标受众:制造企业管理层、业务与信息化负责人
核心目标:听完后相信三件事
1. 数据中台是解决「系统孤岛、数据分散、缺乏治理」的工程化底座
2. 平台能力是完整、可用、可落地的,不是概念
3. 年底能按节点交付,价值可预期、可验收
视觉调性:工业科技、克制专业、结构清晰、深蓝+青绿、数据感强
注意最后那条「核心目标」。这句话比「介绍数据中台」具体得多:它说的是「听完之后要相信这三件事」。
差别很大。「介绍数据中台」没法验收,「相信这三件事」可以验收。每做完一页,都能拿回去对一遍:这页在帮哪一条。
然后是这一节里我最没预料到的一段:
1 2 3 4 内容边界:
必讲——建设背景、平台定位、总体架构、五大核心能力、实施路径、交付成果
不讲——具体客户名称与报价、内部研发细节、竞品对比
禁碰——自研品牌字样、夸大承诺
「不讲」和「禁碰」这两行,是我自己写需求时从来不会写的。
我上个月给 Codex 的第一句话是:「给我生成一个这个数据中台的介绍材料,要给客户介绍用。」
这句话里没有受众,没有边界,没有验收标准。它只能猜。它猜错的地方,就是我后来花七个小时纠正的地方。比如它给一份产品介绍材料的最后一页,加了一段「下一步建议」。那是咨询报告的结构,不是产品介绍的结构。
它不傻。是我没说。
二、最反常识的一栏:anti_pattern
STORY.md 第三节是一张 16 行的表格,每一行是一页,每页有 11 个字段。
其中一栏叫 anti_pattern,反面模式。翻译过来就是「这页禁止做成什么样」。
我挑几行给你看:
看懂这一栏的价值,需要先理解一件事:
AI 做东西最容易犯的错,不是「没做」,是「做过头」。
你让它把三个要点放一页,它会把三个要点排成三张等宽卡片,横着摆,整整齐齐。你让它把五个能力列出来,它会排成五张等宽卡片。因为「等宽卡片横排」在统计上是安全的,它见过最多的 PPT 都长这样。
所以生成出来的东西总是「差点意思」:不难看,但很平。每一页都在一个水平面上,没有轻重,没有呼吸。
你把禁区写出来,它才不会往那个方向走。
DESIGN.md 里也有一条类似的:「连续 ≥2 页等宽卡片横排 → 返工」。这是在页面级别上防止全篇变成卡片墙。
这一栏,是整份文档里我花的时间最值的地方。
三、一份能当法律用的设计规范
STORY.md 管「讲什么」,DESIGN.md 管「长什么样」。
这份文档写得很硬,全部是数字:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 ## 1. 母版三区(内容页强制一致)
| A · 标题块 | 0–104px | 主标题 36px bold #0A2A43 |
| B · 内容区 | 104–656px | 禁止挤占 A / C 区 |
| C · 页脚条 | 656–720px | 左侧栏名 + 右侧页码 NN/16 |
## 2. 色彩系统(色彩池 5 色)
深海军蓝 #0A2A43 / 科技蓝 #1668E3 / 青绿 #00C9A7 / 浅灰蓝 #F2F6FB
## 3. 字体系统(2 套家族)
中文 微软雅黑 · 数字西文 Arial
页面主标题 36 / 卡片小标题 24 / 正文 22 / 脚注 14
## 4. 信息密度门禁
内容页:正文字数 ≥ 180,图数 ≥ 1,主视觉占 B 区 ≥ 30%,留白 ≤ 35%
真正的关键在于:它们全都是数字。
「标题要大一点」这句话,AI 没法执行,你也没法验收。「主标题 36px bold #0A2A43」,两边都能对。
文档最后还有一节,我认为是整份规范里最有用的:
1 2 3 4 5 ## 7. 自检与返工触发
- 任一页元素溢出色区(A / B / C 越界)→ 返工
- 连续 ≥2 页等宽卡片横排 → 返工
- 全篇出现第 3 种字体家族或第 6 个 hex → 返工
- 相邻两页版式相同 → 返工
它把「什么算不合格」也写成了可判定的条件。
我原来以为规范的作用是「告诉 AI 要什么」。写完才发现,规范更大的作用是「让不合格变得可以判定」。前者靠感觉,后者靠数数。
四、契约:让 16 页互相咬合
这是 Codex 完全没做到的一层。
Codex 每次只处理「当前这一页」。你让它改第 4 页,它改第 4 页,第 7 页和第 11 页可能跟着变。16 页之间没有任何约定,所以每一页都是孤立的。
STORY.md 里有几条跨页的契约:
1 2 3 4 5 6 7 8 9 10 11 目录↔章节扉页契约:
目录(第 02 页)声明 4 个章节,全篇有且仅有 4 个章节扉页,
编号 01..04 连续,与目录逐字一致。
Hero 页定位:01 封面、05 平台定位、07 总体架构、16 结束页,占 25%;
任意两个 Hero 之间至少间隔 1 个 Supporting 页。
节奏曲线(rhythm):
01 peak / 02 transition / 03 transition / 04 valley / 05 peak /
06 transition / 07 peak / ... / 16 peak
无连续 ≥3 页 valley。
翻译成人话:
目录说有四章,那全篇就必须恰好有四个章节扉页,名字一个字都不能差 一页最重的(Hero)之后不能马上又是最重的,中间得垫一页;也不能连着三页都平淡
有了这些约定,第 16 页做出来的时候,第 01 页是知道的。到这一步,它才从「16 张图」变成一套工程。
五、它自己检查自己
规范定完,生成完,还有一步:
每页生成完先过一道校验,看元素有没有出界、有没有溢出、卡片高度对不对。校验通过才渲染成图片,再看一眼,不合格就返工。
STORY.md 末尾还有一份自检清单,是生成完之后回头核对用的:
1 2 3 4 5 6 7 STORY Checklist 自检
- Hero 页 4/16 = 25%(∈20–30%)✅
- 无连续 ≥3 页 supporting+valley ✅
- N卡片横排 0 次(≤2)✅
- 非对称版式 10/16 = 62.5% ≥ 40% ✅
- 任意相邻两页版式不同 ✅
- 含关键数据的页均写成「数据 + 判断」两段式 ✅
这份清单的价值在于:它把「好不好看」这个没法讨论的问题,拆成了一串能数数的问题。
「这页好看吗」——没法回答。
「这页 Hero 占比够 20% 吗」,能回答。
本篇的真实数据
STORY.mdDESIGN.md 8.4 KB | |
anti_pattern | |
踩坑清单
- 规范不是越细越好。
DESIGN.md8.4 KB,说实话前两版生成的时候我自己都没读完。核心的几条(母版三区、色彩池、返工触发)真正起作用,剩下的属于「写了安心」。 - 规则要写成数字,不要写成形容词。「大一点」「高级一点」「有质感」,AI 没法执行,你也没法验收。
- 只写「要什么」没用,必须写「不要什么」。 这是这篇最想说的。AI 会往统计上最安全的方向走,而那个方向通常就是平庸。
- 规范定了就要守。 中途为了「更好看」破例一次,后面十几页都会跟着乱。规范一旦不是硬约束,它就只是建议。
这次我没做到的
内容边界那一段(「不讲什么」「禁碰什么」),我是事后复盘才意识到它最值钱的。第一版生成的时候我根本没看那部分,直接跳到页面大纲了。
还有一点得说清楚:这套方法在你已经知道要什么样的任务上效果最好。如果连你自己都说不清想要什么,写规范也写不出来。那种情况得先让 AI 做一版烂的,拿它当靶子,再回来定规范。
顺序不能反。
以上,既然看到这里了,
如果觉得不错,随手点个赞、在看、转发三连吧,
如果想第一时间收到推送,也可以给我个星标⭐~
谢谢你看我的文章