Specification-Driven Development(SDD) & Spec-Coding
参考 * Awesome Software Engineering & 软件工程(Software Engineering):技术管理 > 技术领导 & * Awesome Software Quality & Software Testing
参考 AI-Coding & Text-to-Code: SQL > Script > DSL 2022-2025 & Andrej Karpathy - LLM OS & Software 2.0/3.0 & Automating Software Engineering & LLM Wiki
参考 CrewAI & ChatPRD & TASKMASTER.AI & CodeGuide & Agent-OS & Claude Dev > Cline / Roo Code & Augment Code & Kiro & Kilo & Tessl Cofounder
Specifications: The missing link to making the development of LLM systems an engineering discipline
SDD 作为经典软件工程的方法论(最早可参考瀑布式),在 AI-Coding 驱动下得以真正落地(某种意义上回归复兴):规约先行 (Specification First) & 规约即模型 (Specification as Model) & 代码即验证 (Code as Verification) & 分离关注点 (Separation of Concerns) > 以下各层将随着 AI-Coding 在规约文档与项目级代码间映射生成能力的不断进化,而逐步实现自动化,并构建新的人机协同:
- 第一层:单元级规约驱动 (Unit-Level SSD via 测试驱动开发 TDD / 行为驱动开发 BDD)
- 第二层:模块/服务级规约驱动 (Module/Service-Level SSD via API Contracts)
- 第三层:领域业务建模驱动 (Domain-Level SSD via 领域驱动设计 DDD & Event Storming)
20250925 规范驱动开发(Specification-Driven Development):在 AI 时代重塑软件工程
1)第一部分 - 以规范为本 - SDD 的基础与哲学:定义规范驱动开发 - 从蓝图到可执行契约(突破传统软件工程学习中“文档与代码脱节”的瓶颈);核心理念转变 - 从“代码优先”到“意图优先”(意图即是事实的来源 Intent is the source of truth);历史渊源与演进 - 追溯从形式化方法到敏捷融合的脉络(敏捷规范驱动开发 Agile Specification-Driven Development);
2)第二部分 - 方法的进化 - 从敏捷集成到 AI 赋能的工作流:AI 的复兴 - 为何现代人工智能开发亟需规范驱动(vs Vibe-Coding);AI 时代的新型 SDD 生命周期 - 四阶段深度解析(AI-Native SDD:规约 Specify、规划 Plan、任务 Tasks、实现 Implement);软件工程师角色的演变 - 从编码者到架构师与验证者;
3)第三部分 - SDD的实践 - 应用领域、关键工具与成功案例:
API 为中心的开发 - OpenAPI 与契约驱动设计的崛起(契约驱动开发 Contract-Driven Development & API-First);架构级应用 - 驾驭微服务与分布式系统的复杂性;现代化与维护 - 将 SDD 应用于全新、现有及遗留系统;新兴工具生态系统 - Spec Kit、Amazon Q Developer 等平台剖析(从经典的 OpenAPI - Swagger 到 AI 原生的 Spec-Kit)
4)第四部分 - 比较分析 - SDD 在方法论版图中的定位:一种“元方法论”(Meta-Methodology)或“粘合剂”(Glue)
SDD vs. TDD/BDD:共生而非替代的关系(SDD 宏观功能规范指导 TDD/BDD & Specification by Example (SBE));SDD vs. 领域驱动设计(DDD):复杂系统的互补哲学(DDD 提供规范的灵魂 & SDD 提供从思想到代码的桥梁);SDD vs. Vibe-Coding:对 Vibe-Coding 开发的结构化回应;
5)第五部分 - 战略实施 - 收益、挑战与最佳实践:战略优势 - 量化分析对质量、协作与交付速度的影响;挑战与规避 - 应对前期投入、流程僵化与“上下文鸿沟”(Context Gap,参考 Context Engineering & Agentic Engineering > Harness Engineering);组织采纳框架 - 将 SDD 集成到开发流程的实用步骤(试点与教育 Pilot & Educate > 标准化与工具化 Standardize & Tool > 扩展与整合 Scale & Integrate > 文化转型 Cultural Transformation)
6)第六部分 - 软件工程的未来 - 一个由意图驱动的新纪元:SDD的发展轨迹 - 从利基方法论到行业标准;超越代码生成 - 规范作为普适性的业务工件;
一份精心编写的、结构化的、机器可读的规范,具有惊人的普适性和“可编译性”:跨平台的技术实现 & 多层次的文档与教程 & 自动化的合规与安全报告 & 精准的市场与沟通材料;在终极形态下,规范将演变为一种连接组织所有业务活动的“通用编程语言”。
参考 SuperClaude Framework & SuperPowers
20260317 @STRRL 的《我对 Spec Driven Development 的看法》 > 在很早之前, 我一直就是那个不怎么写文档, 而是坚信“好的代码是自解释”的这个流派的. 同时我期望中的的好代码需要拥有合理的假设, 尽量小的思维负担, 以及足够符合直觉的用法. 而 Spec Driven Development 就是像极了, 我有一份自然语言描述, 产品文档/PRD/Spec/随便你怎么叫, 然后我有某种机制去把代码对齐到这个描述上. 之前这个机制是程序员, 现在这个机制是 Agent.
202510 Spec Coding 研发范式应用(spec-kit、BMAD-METHOD、OpenSpec)& Holon > 1210 SPEC 为什么会失败?
-
github / spec-kit: 💫 Toolkit to help you get started with Spec-Driven Development > 调试参考 Github Next & Github Copilot - CLI / APP > Google - AI Studio & Gemini CLI > AntiGravity & A2UI & Cursor.so > Cursor.sh: The AI-first Code Editor & Copilot++ & Cursor SDK;
-
bmad-code-org / BMAD-METHOD: Breakthrough Method for Agile Ai Driven Development > 后续详见 BMad {Code} - BMad-Method;
OpenSpec - A lightweight spec-driven framework
- Fission-AI / OpenSpec: Spec-driven development for AI coding assistants. > How OpenSpec Compares: Compared to spec-kit & Kiro: those shine for brand-new features (0→1). OpenSpec also excels when modifying existing behavior (1→n), especially when updates span multiple specs. > 调试并对比参考 Github Next & Github Copilot - CLI / APP ,参考 Claude Dev > Cline / Roo Code & Augment Code & Kiro & Kilo & Tessl Cofounder;
%20-%20KG%20&%20RecSys(IR)/_resources/Specification-Driven%20Development%20SDD%20&%20Spec-Coding.resources/948eabc0f9f1b89ef7cb9e15992c6e27.png)
%20-%20KG%20&%20RecSys(IR)/_resources/Specification-Driven%20Development%20SDD%20&%20Spec-Coding.resources/file-20251023142455760.png)