Spec 驱动开发¶
Spec 驱动开发(Spec Driven Development)是一种软件开发实践,强调在编写任何实现代码之前,必须先进行详细的需求细化和规格定义^[001-TODO__Agent_Skills_-_结构化AI编码工作流框架.md]。该方法将软件开发的起点从“直接编码”转移到“定义规格”,旨在解决需求模糊导致的方向偏离和返工问题。
在 AI 编码代理(AI Agents)的工作流中,Spec 驱动开发被视为核心基础技能,用于防止 AI 模型在需求不明确时就生成大量未经审视的代码^[001-TODO__Agent_Skills_-_结构化AI编码工作流框架.md]。
核心目标¶
Spec 驱动开发的主要目的是纠正“拿到需求就写代码”的草率习惯^[001-TODO__Agent_Skills_-结构化AI编码工作流框架.md]。通过强制要求先进行澄清和定义,它确保开发人员和 AI 代理对目标的理解是一致的,从而避免在错误的假设上构建功能^[001-TODO__Agent_Skills-_结构化AI编码工作流框架.md]。
在工作流中的位置¶
在结构化的 AI 编码框架中,Spec 驱动开发位于生命周期的最前端,通常是 /spec 命令阶段的产出物^[001-TODO__Agent_Skills_-_结构化AI编码工作流框架.md]。它构成了后续所有活动(规划、构建、测试、审查)的基础:
- 定义:通过 Spec 驱动开发将模糊的想法转化为清晰的规格^[001-TODO__Agent_Skills_-_结构化AI编码工作流框架.md]。
- 规划:基于明确的 Spec 进行任务拆解(/plan)^[001-TODO__Agent_Skills_-_结构化AI编码工作流框架.md]。
- 实现与验证:依据 Spec 进行增量构建(/build)和测试驱动开发(/test)^[001-TODO__Agent_Skills_-_结构化AI编码工作流框架.md]。
实施原则¶
有效的 Spec 驱动开发通常包含以下关键步骤:
- 需求细化:将初步的想法或用户故事转化为具体的技术规格。
- 澄清模糊点:主动识别并解决描述中的歧义,确保“做什么”和“不做什么”都有明确的界定。
- 文档化:产出结构化的文档(通常是 Markdown 格式),作为后续开发的唯一真实来源。
相关概念¶
- TDD:测试驱动开发关注代码的正确性,而 Spec 驱动开发关注需求的正确性。两者常结合使用,构成“先定义,后验证”的完整闭环。
- Agent Skills:Spec 驱动开发是 Agent Skills 框架中推荐“始终开启”的核心技能之一。
- [[Software Requirements Specification]]
Sources¶
001-TODO__Agent_Skills_-_结构化AI编码工作流框架.md