Design-Driven Development 是什么?Figma 设计稿也是 AI 时代的 spec
· 7 min read
把 Figma 设计稿当 spec 用,AI 写页面才有收敛条件——这套做法可以叫 DDD(Design-Driven Development)。
- spec 分两层:文字管行为,设计稿管视觉,markdown 写不出间距是 32 还是 40。
- 给 AI 一个停止条件:截图对比设计稿,视觉差异就是可判定的验收标准。
- 协作契约:按 frame 分工,人和 agent 的接口都是设计稿,不是口头描述。
- 省 token:反复 prompt 试布局,比在 Figma 里 拖两下贵一个量级。
- 改得动:需求变更直接改设计稿,不用重写一遍 prompt 再全量重生成。
- 例外:单人开发、无协作、token 预算充足,直接 coding 也没问题。
- 短板:Figma 画布里那个 AI 现在还偏弱,内置模型有待优化。
设计稿是 spec 的视觉那一半
Spec-driven development 这两年被讲透了:先写 spec,再让 agent 照着 spec 实现,spec 是唯一事实来源。但落到页面开发上,纯文字 spec 有个绕不过去的洞——它描述不了视觉。
你可以在 markdown 里写「卡片列表,三列,卡片带阴影」,agent 也能照做。然后你会发现间距不对、圆角大了 2px、阴影虚了一圈、字重差一级。这些不是 agent 不听话,是 spec 本身没有这个信息量。继续往文字 spec 里塞 gap: 24px 这种细节,写到第三个组件你就会放弃——那不是在写 spec,是在用自然语言手写 CSS。
设计稿天生就是这一层的载体。Frame 尺寸、auto layout 的 padding、color variable、text style、组件实例,全都是结构化的、有确定数值的。通过 Figma MCP 读出来的不是一张图,是一棵带完整样式数据的节点树。
所以更准确的说法是:文字 spec 和设计稿是同一份 spec 的两个投影面,前者定义行为与边界,后者定义效果。DDD 不是要取代 SDD,是把 SDD 缺的那一半补上。