规格驱动开发 (SDD):用编程智能体构建更好的软件
Paul Everitt · DeepLearning.AI — 用结构化 Markdown 规格驱动编程智能体,在 AI 极速编码中牢牢把控设计与方向。
规格驱动开发 (SDD):用编程智能体构建更好的软件
![]()
关于本课程
随着大语言模型(LLM)的发展,AI 编程辅助工具正变得越来越普及。然而,许多开发者目前采用的是一种被称为”凭感觉编程(Vibe Coding)“的工作方式——即通过简单的提示词让 AI 随意生成代码。这种方式虽然初期见效快,但随着项目复杂度的增加,极易产生代码脱节、上下文丢失以及技术债务堆积等严重问题。
本课程由 DeepLearning.AI 与 JetBrains 联合推出,主讲人 Paul Everitt 提出了一次重要的范式转变:规格驱动开发(Spec-Driven Development, 简称 SDD)。SDD 将软件工程的严谨性重新引入 AI 编程时代。它的核心理念是将”做什么(What)“和”为什么做(Why)“与”怎么做(How)“分离开来——人类作为”架构师”,负责编写清晰且结构化的 Markdown 规格说明(Specs);而编程智能体(Coding Agent)则作为”极高产能的结对程序员”,负责阅读这些规格并实现具体代码。
通过这套方法,开发者能够有效消除多轮 AI 对话带来的上下文衰减,降低理解巨量生成代码带来的认知负荷,并显著提高 AI 产出代码的意图还原度。无论是从零开始的新项目,还是积攒了大量历史代码的传统旧项目,SDD 都能帮助开发者在享受 AI 极速编码的同时,牢牢把控软件的设计与走向。
适合谁参加?
任何希望超越凭感觉编程、以更具意图性的方式使用 AI 编程助手构建软件的人。建议具备基本的编程语言知识和 LLM 编程工具的使用经验。
- 短课程
- 难度: 中级
- 讲师: Paul Everitt(JetBrains 开发者布道师)
- 平台: DeepLearning.AI × JetBrains
讲师介绍
Paul Everitt

JetBrains 开发者布道师 (Developer Advocate)
你将学习
- 理解规格驱动开发(SDD)为何比凭感觉编程(Vibe Coding)能产生更好的结果,以及顶级开发者如何使用它来掌控复杂项目。
- 编写项目章程(Constitution)和功能规格说明(Feature Specs),在智能体会话间保留上下文、提高意图还原度并减少认知债务。
- 应用可重复的”计划-实现-验证”工作流,适用于全新项目和传统遗留代码库,并通过自定义智能体技能实现自动化。
课程大纲
16 节课程 · 0 个代码示例
| 视频标号 | 英文脚本 | 中文脚本 | 内容类型 | 时长 |
|---|---|---|---|---|
| 0 | Spec-Driven Development with Coding Agents | 基于编程智能体的规格驱动开发 | 文档 (Doc) | - |
| 1 | Introduction | 简介 | 视频 (Video) | 4 mins |
| 2 | Why spec-driven development? | 为什么选择规格驱动开发? | 视频 (Video) | 4 mins |
| 3 | Workflow overview | 工作流概述 | 视频 (Video) | 3 mins |
| - | - | - | 阅读 (Reading) | 5 mins |
| 4 | Setup | 安装与设置 | 视频 (Video) | 1 min |
| 5 | Creating the constitution | 创建项目章程 | 视频 (Video) | 10 mins |
| 6 | Feature specification | 功能规格说明 | 视频 (Video) | 3 mins |
| 7 | Feature implementation | 功能实现 | 视频 (Video) | 1 min |
| 8 | Feature validation | 功能验证 | 视频 (Video) | 4 mins |
| 9 | Project replanning | 项目重新规划 | 视频 (Video) | 6 mins |
| 10 | The second feature phase | 第二个功能阶段 | 视频 (Video) | 6 mins |
| 11 | The MVP | 最小可行性产品 | 视频 (Video) | 3 mins |
| 12 | Legacy support | 传统代码支持 | 视频 (Video) | 4 mins |
| 13 | Build your own workflow | 构建您自己的工作流 | 视频 (Video) | 6 mins |
| 14 | Agent replaceability | 智能体的可替换性 | 视频 (Video) | 3 mins |
| 15 | Conclusion | 总结 | 视频 (Video) | 1 min |
| - | - | - | 测验 (Graded Quiz) | 10 mins |
技术细节概要
课程不仅停留在理论层面,还提供了一套严密且可重复落地的工作流。以下是该工作流的技术细节拆解:
阶段一:建立项目基石 (The Constitution)
在编写任何代码之前,首先要通过与智能体的对话,在项目根目录下生成**“项目章程(Constitution)”**。它相当于智能体的全局最高指导原则,通常包含三个核心文件:
- 任务愿景 (Mission): 明确项目的目标、受众、边界以及业务逻辑。
- 技术栈 (Tech Stack): 锁定使用的框架版本、数据库结构(Schema)、系统架构以及具体的代码约束。
- 路线图 (Roadmap): 将整个项目拆分为可管理、按顺序执行的小功能阶段(Phases)。
阶段二:功能开发循环 (The Feature Loop)
项目章程确立后,对于路线图上的每一个具体功能,都将严格执行以下循环(通常在独立的 Git 分支中进行):
- 计划 (Plan): 清理智能体的上下文(防干扰),输入项目章程,让智能体起草该特定功能的规格说明,包括:实现计划、技术需求以及验证标准。人类审查这些规格文件并提交(Commit)。
- 实现 (Implement): 智能体根据上一环节生成的具体规格说明编写代码。这确保了 AI 是在有明确蓝图指导下工作,而不是盲目发散。
- 验证 (Validate): 引入**“回路中的人类(Human-in-the-loop)”**机制。人类开发者运行代码或测试用例进行审查。如发现偏差,不应直接手动改代码,而是要求智能体修改规格文件和代码,以保持文档与代码严格同步。
阶段三:重新规划与降噪 (Replanning & AI Fatigue Management)
在两个功能开发阶段的间隙,必须进行重新规划(Replanning)。由于 AI 生成代码极快,开发者极易产生“AI 疲劳”和“认知债务”。重新规划阶段要求开发者退后一步:
- 合并上一个分支。
- 根据业务最新变化修改全局“项目章程”。
- 彻底清理智能体的上下文记忆,确保下一个功能开发拥有纯净的工作环境。
阶段四:自动化与生态融合 (Automation & Standards)
- 自动化技能 (Agent Skills): 将重复的 Prompt(如“执行代码检查”、“更新 Changelog”)封装为智能体技能。智能体可以自动调用这些 CLI 工具或脚本,实现 SDD 工作流的自动化。
- 拥抱标准 (MCP & ACP): 利用 MCP(模型上下文协议) 为智能体接入最新的官方文档或私有知识库;利用 ACP(智能体客户端协议) 实现工作流与特定 IDE 或底层 LLM 模型解绑,确保开发规范的长期生命力。
核心术语表
| 原词 | 翻译 | 解释 |
|---|---|---|
| Spec-Driven Development (SDD) | 规格驱动开发 | 一种软件开发范式,强调通过编写详细且结构化的规格说明来指导编程智能体进行代码编写。 |
| Vibe Coding | 凭感觉编程 | 一种反面模式。指人类仅向 AI 输入模糊提示词并祈祷其生成所需代码,易导致代码难以维护。 |
| Coding Agent | 编程智能体 | 具有自主规划、推理能力,并且能直接访问代码库、执行终端命令的高级 AI 编程助手。 |
| Constitution | 项目章程 | 存在于项目根目录的核心规格文档集合(包含任务、技术栈、路线图),为智能体提供全局性规则。 |
| Intent Fidelity | 意图还原度 | 智能体最终生成的代码在多大程度上准确反映了人类开发者最初的设计意图和业务目标。 |
| Context Decay | 上下文衰减 | 在长时间或多轮的 AI 交互中,智能体逐渐”遗忘”早期关键约束或产生幻觉的现象。 |
| Cognitive Debt | 认知债务 | 由于 AI 生成代码速度极快,人类开发者为了理解这些非自己手写的代码逻辑而积累的脑力负担。 |
| Human-in-the-loop | 回路中的人类 | 一种协作机制,强调 AI 负责大批量生成和执行,而人类必须留在决策回路中审查和验证。 |
| MCP (Model Context Protocol) | 模型上下文协议 | 一种开放标准,允许智能体安全地连接并检索外部数据源。 |
| ACP (Agent Client Protocol) | 智能体客户端协议 | 一种标准化协议,使各类底层编程智能体能够与不同的客户端无缝连接和集成。 |
此文章由 AI 翻译整理