SDD 与 Spec 驱动
Spec-Driven Development 是 Harness Engineering 在团队层面的落地方法——先写规格说明书再写代码,把人的思考前置,让 AI 执行。 前置 → 02-核心架构 | 企业案例 → 05-企业实战案例
🧠 我的心智模型
SDD 是什么:
(例:SDD 就是给 AI 写一份详细的"施工图纸"再让它干活,而不是口头说"帮我盖个房子") ✍️ 你的理解:
[来源:RedHat] RedHat 提出了两阶段工作流来落地 SDD:第一阶段生成 Repository Impact Map(仓库影响地图)——分析需求会影响哪些文件、哪些模块、哪些依赖;第二阶段基于影响地图生成 Structured Task Template(结构化任务模板)——每个任务都有明确的文件范围、预期变更描述和验收标准。这比直接"给 spec 就开干"更稳健,因为先分析影响范围能大幅减少 Agent "改了 A 坏了 B"的问题。
Spec 的本质:
(例:Spec 是人和 AI 之间的"合同"——明确交付物、约束和质量标准) ✍️ 你的理解:
[来源:Anthropic] Anthropic 的 Sprint Contract 机制给 Spec 增加了一个维度:可测试性。Spec 只定义高层意图是不够的,必须填补到"能写测试来验证"的粒度。每个 sprint contract 是一个原子交付单元,包含:要做什么、怎么做、怎么验证。这个思路和 RedHat 的 Structured Task Template 异曲同工。
渐进式复杂度:
(例:简单需求不需要复杂流程,改个字段不用先写 spec 再拆 tasks) ✍️ 你的理解:
[来源:12-Factor Agents] 12-Factor Agents 项目提出了 Agent 应用的 12 个最佳实践因子,而 12-Factor AgentOps 则补充了运维层面的 12 个因子。两者共同指向一个核心原则:Structure in, structure out——你给 Agent 的输入结构化程度越高,Agent 的输出就越可靠。这和 SDD 的渐进式复杂度完美吻合:简单需求用 Rules 就够(最低结构化),复杂需求用 Spec + Tasks(高结构化),关键是按需升级,不要一刀切。
🎯 核心问题
- SDD-RIPER 方法论的核心思想是什么?和传统开发流程有什么区别?
- Spec Coding 的"渐进式复杂度"框架怎么设计?什么情况下用 Rules 就够了?
- No Spec No Code 原则在实践中会不会太严格?怎么平衡灵活性和规范性?
- 搜狗输入法的跨端 Spec Coding 工程化,对多平台项目有什么启发?
📝 我的理解
SDD 理论
✍️
[来源:综合] "Structure in, structure out" 是贯穿所有 SDD 方法的底层原则。不管是 RedHat 的两阶段工作流、Anthropic 的 Sprint Contract、还是阿里云的渐进式 Spec,本质上都是在做同一件事:在 Agent 开始执行之前,先注入足够的结构化信息。这些结构化信息不是约束 Agent 的创造力,而是减少 Agent 在不确定性上浪费的 token——把认知负荷从"猜需求"转移到"执行明确任务"。
渐进式 Spec
✍️
⚡ 我的实战
✍️ 我自己做过什么、踩过什么坑。
🔒 关书自测
- SDD 的核心流程是什么(Specify→Plan→Implement→Validate)?每个阶段的关键输出?
- 渐进式 Spec 的三层(Rules → Spec → Tasks)分别解决什么问题?
- Propose → Apply → Review → Archive 工作流的设计逻辑是什么?
- knowledge/ 目录和 rules/ 目录的区别是什么?为什么知识比规则更重要?
🎤 费曼输出
1 句话版本:✍️ 3 分钟版本:✍️ 信心:_/10 最可能翻车的地方:✍️
参考资料
SDD-RIPER 三部曲(阿里云开发者)
- 觉醒篇:从传统编程转向大模型编程 — 为什么必须转
- 内功篇:AI 原生研发范式:从"代码中心"到"文档驱动"的演进 — 完整理论体系
- 落地篇:SDD-RIPER 团队落地指南 — 可执行的团队落地方案
- 实战篇:2026 年 AI 编码的"渐进式 Spec"实战指南 ⭐⭐⭐ — 渐进式复杂度框架(Rules → Spec → Tasks 按需加载)、编排层+执行层两层 Agent 架构、Propose→Apply→Fix→Review→Archive 完整工作流、code_copilot 框架完整目录结构
- 评测篇:搭建 AI First 评测平台 — AI 自动生成评测集→自主运行→提交报告→自动优化→循环迭代,三轮过夜优化 90.7→97.4→99.1
- 实战篇2:从玩具到生产力:用真实项目讲透 AI Agent 的 Harness Engineering ⭐⭐⭐ — Aegis 项目实战复盘。架构四象限矩阵、伪 Harness 识别、8 阶段 SOP、三层目标控盘、sdd-riper-one-light 工具骨架
- 实战篇3:Harness Engineering:耗时一周,将 AI Coding 率提升至 90% ⭐⭐⭐ — 存量 Java 应用 Harness 落地。AI Coding 率从 24.86%→90.54%
- 实战篇4:告别"氛围编程":基于 Harness 治理和 SDD 的团队级 AI 研发范式演进 ⭐⭐⭐ — 高德团队。出码率从 53%→80-90% 但提效不明显——研发是全链路问题
Spec Coding 核心原则
来源:多篇实战文章综合
- No Spec, No Code — 没有文档,不准写代码
- Spec is Truth — 文档和代码冲突时,错的一定是代码
- Reverse Sync — 执行中发现 spec 与实际不符,先修 spec 再修代码
- 渐进式复杂度 — 简单需求不承担复杂流程的成本,改个字段不需要先写 spec 再拆 tasks
- 知识比规则更重要 — 一个没有 knowledge/ 的 Spec 框架,就像让刚入职的应届生对着编码规范写代码——规范都能遵守,但业务逻辑全靠猜
Propose → Apply → Review → Archive 工作流
Propose: 生成完整 spec.md + tasks.md + log.md(确认门控 HARD-GATE)
Apply: 逐步执行 tasks,每个 task 都是原子可提交的
Review: spec-reviewer + code-quality-reviewer 双阶段审查
Archive: 完成后归档,知识沉淀到 knowledge/
跨端 Spec Coding 实践
- 搜狗输入法 Kuikly:Spec coding 的探索与落地 ⭐⭐⭐ — 跨端项目(Android/iOS/鸿蒙/H5)的 Spec Coding 工程化。GAN 思路构建 AI 上下文文档生成器(生成器vs评估器多轮对抗),AI 编码准确率提升 114%
团队落地方法
- CodeGrow Skill:我写了一个 Skill,实现了人 + AI + 工程三方受益的增长飞轮 ⭐⭐ — OpenClaw 社区 Skill。每次 AI Coding 后自动沉淀:开发记录(records)、可复用子 skill 抽象、AI 上下文总结、个人成长报告(飞书云文档)。Git pre-push hook 强制触发 + AI 对话触发。核心思想:AI 不只是 Coding,更要生成知识、整理知识、沉淀知识
- 小团队 SDD:万字长文:团队落地 AI 辅助编程和 Specs 实战 — 架构师视角。Kiro steering 约束 AI + Spec-Driven Development + 短链接服务完整实战
- 腾讯 OpenSpec:当整个团队开始 0 人工Coding ⭐⭐⭐ — OpenSpec 规范 + CodeBuddy 全链路方案。SOP 流程(explore→propose→apply→verify→archive),原子化变更原则