本文批判 Spec-Driven Development(SDD)在 AI 时代的根本缺陷,提出用可执行断言(Facts)替代自然语言 Spec,并给出 90 天迁移计划。
📝 详细摘要
作者 Jaroslaw Wasowski 收回此前鼓吹 SDD 的文章,指出核心矛盾:Spec 是对 LLM 的统计预测,而非可验证的契约。LLM 的非确定性机制、意图差距(Intent Gap)和 Spec Drift 是系统性问题,无法通过更好的 prose 修复。文章提出 Facts-first 范式:Facts 是机器可检验的可执行断言(测试、属性、契约),穿越模型升级而不变,其思想可追溯至 1969 年的 Hoare triple 等 57 年形式化方法传统。作者坦诚给出 SDD 仍适用的三个场景(合规监管、跨团队 B2B 集成、新人入职),并提供 90 天迁移计划(审计→转向→门禁),强调从明天开始写一个事实。
💡 主要观点
- Spec 是对模型的预测,不是与模型的契约。 LLM 每次读取 prose 都会重新采样解释,即使 temperature 0.0 也存在非确定性输出,导致 spec 在不同模型版本间被重解释,而测试(Fact)则穿越模型升级不变。
💬 文章金句
- 一份在 Sonnet 3.5 时代写的单元测试,穿越了 3.7、4、Opus 4.5+ 四个模型版本依然通过 CI。而描述同一 endpoint 的 1500 字 spec,被每个模型重新理解了一遍——四次重解释。
- Spec 不是契约,是对模型的预测。模型在变,预测就永远不准。
- PRD 会消失。Spec 正在退出内循环。只有事实在哪儿都能活。
📊 文章信息
AI 初评:88
来源:王俊博客
作者:王俊博客
分类:软件编程
语言:中文
阅读时间:10 分钟
字数:2252
标签: AI 编程, LLM, 工程实践, 软件工程, 测试与质量