如何理解 SDD,以及规格驱动的开发流程?

考查重点:行为规格与开发验证衔接。规格写清行为、约束和验收,拆成任务实现后按规格检查;需求变化时同步更新,流程复杂度随风险调整

本题目录

参考答案

核心回答

SDD 是规格驱动开发:先把需求写成明确、可验证的行为规格,再据此设计、实现和验收。在 AI 编程中,规格让人和 Agent 对目标、边界与完成条件有共同依据,减少只靠对话逐轮猜需求。

常见流程是:澄清需求,写明输入输出、业务规则、异常和验收场景;形成必要的技术设计与任务;分步实现;按规格检查代码和实际行为;需求变化时同步更新规格、实现和测试。具体文件名和阶段划分随工具不同,并不存在所有项目必须采用的固定模板。

展开说明

什么样的规格有用?

“实现订单导出”只是目标;有效规格还要说明导出哪些订单、谁有权限、字段与时间口径、空结果如何处理、数据量过大怎么办,以及如何判断完成。

例如:“门店经理只能导出所辖门店;日期采用业务约定时区;金额口径与页面一致;无记录时仍输出表头。”这些条件可以转为权限、边界和内容检查。技术方案再决定同步还是异步、如何分页等。规格要清楚,但不必把所有底层代码提前用自然语言写一遍。

规格怎样贯穿开发?

需求中的每个关键行为,对应到实现任务和验收用例。AI 先读取相关代码与约束,再实施当前任务;验证发现缺口时,判断是实现偏离、规格含糊还是需求变化,更新正确的那一层。

规格需要随功能演进。只在开工前生成很长文档,之后不再核对,无法形成规格驱动;代码和测试都出自同一个错误理解,也不会因多了一份规格就自动正确。

SDD 与 TDD、Harness 有什么关系?

TDD 以失败测试推动实现,再重构,侧重开发反馈循环;SDD 侧重把行为、约束与验收作为实现依据。两者可以结合:从规格中的场景形成测试,再小步实现。

Harness 则提供 Agent 的执行环境、工具、任务状态与检查反馈。规格说明要做成什么,Harness 让 Agent 能读取材料、修改代码并运行检查;写了规格,不等于系统已经具备这些执行能力。

什么时候值得用完整流程?

跨模块、规则多、多人协作或需要长期维护的变更,较完整的规格能减少理解分歧。局部低风险修改,只需把必要行为和验收写清,不必额外生成整套文档。规格本身也有编写和维护成本,应按风险选择粒度。

可能的追问

SDD 能保证 AI 不跑偏吗?

不能保证。还要检查规格是否正确、相关约束是否被加载,以及真实行为是否通过验证。业务权限等硬约束应由执行层强制实施,不能只写在规格里。

需求中途变了怎么办?

先标明变更了哪些规则和验收,再找受影响的任务、代码与测试;已完成的部分按影响回归。保留变更依据,避免新旧规格同时指导不同模块。

参考资料

相关面经

6 篇

字节跳动

Agent 开发工程师
一面、二面
查看原面经 →
你怎样理解 SDD,实际用过哪些相关工具?

得物

Java 开发工程师
二面
查看原面经 →
TDD、SDD了解过吗?讲一下?

猎聘

AI 应用开发工程师
查看原面经 →
Q24. SDD 是什么框架?你使用过哪些工具?

快手

后端开发工程师(AI 应用)
秋招
查看原面经 →
sdd

平安健康保险

AI 应用开发工程师
秋招一面
查看原面经 →
是否了解SDD(规范驱动开发)
展开剩余 1 篇面经

影石创新

AI Agent
实习一面
查看原面经 →
如何理解 Spec Coding 和 Harness?你认为 Harness 为什么能够提升 Agent 完成复杂任务的能力?

收录题集

3 个来源,共4 份题集

Agent与工具调用

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →
  • Spec Coding与Harness 聊一下 spec coding 和 harness。

工程化踩坑:死循环、状态丢失与成本控制

Onefly · zero2Agent · 1 条原题

查看题集 →

拼多多高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

腾讯问答汇编

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

相关题目

4 题