资讯动态

LLM之Agent(110)|从 Vibe Coding 到 SDD:用 OpenSpec、Spec-Kit 和 BMAD 驯服 AI 编程

发布时间:2026/10/14 17:25:20 来源:尧图企业网站定制
一、Vibe Coding 的甜蜜与苦涩2025 年初Andrej Karpathy 提出了“Vibe Coding”这个概念——你只需要用自然语言描述想法AI 就能生成代码。这种方式极大地降低了编程门槛让更多人能够通过 AI 实现自己的想法。对于快速原型验证和个人项目Vibe Coding 的效率提升是真实的、惊人的。但当项目变得复杂——涉及多个模块、前后端协同、多人协作、需要长期维护时纯粹的 Vibe Coding 就会暴露出一系列结构性问题上下文丢失长对话链中AI 容易遗忘早期的设计决策。每开一个新的聊天窗口之前的上下文就完全丢失了。需求漂移模糊的意图描述导致 AI“自由发挥”。你让它加个登录功能它可能给你整出一套 OAuth2 JWT 微服务架构。质量不可控生成的代码风格不一缺乏统一的质量标准。核心原因是它没有规格——AI 不知道“做对了”是什么样子人类也没有明确的验收标准。协作困难多人各自和 AI 对话导致对“要做什么”的理解不一致代码合并时冲突频发。这些问题的根源不在于 Vibe Coding 本身而在于当项目复杂度上升后它需要一层结构来约束和引导。二、SDD让规范成为可执行的契约Spec-Driven Development规格驱动开发SDD正是对这一问题的回应。GitHub 在 2025 年 9 月的博客中给出了明确定义开发始于规范Spec而非代码。规范是代码应该如何行为的契约它成为工具和 AI 智能体用于生成、测试和验证代码的“单一事实来源”。SDD 的核心思想可以用一句话概括规格是唯一的真相来源代码只是规格的可执行投影。在传统开发中代码是真相规格文档可能过时在 SDD 中这个关系反转了——当规格变化时代码需要重新生成或修改以匹配规格。这并非什么全新发明TDD 也是“先定义后实现”的思路。但 SDD 的革命性在于规格不再只是人类之间的沟通工具而是人机协作的接口协议。SDD 通常将开发流程拆解为四个阶段Specify规范定义“做什么”和“为什么做”包括业务规则、约束条件、验收标准Plan规划确定技术方案包括架构设计、数据模型、API 设计Tasks任务将技术方案拆解为可执行的原子任务按依赖关系排序Implement实现AI 按照任务清单逐个进行代码实现每个阶段的产出物必须经人工确认后才进入下一阶段。这确保 AI 始终在正确轨道上运行。目前主流的开源 SDD 工具有三种OpenSpec、GitHub Spec-Kit 和 BMAD。它们的设计哲学和适用场景各有不同下面逐一介绍。三、OpenSpec轻量级规范先行核心定位OpenSpec 由 Fission-AI 开发是目前最轻量的 SDD 工具之一在 GitHub 上已获得超过 5.5 万 star。它的核心理念极其简洁写代码前先让人类和 AI 对“要做什么”达成一致。与其他工具相比OpenSpec 最大的特点是棕地优先——它不要求从零开始而是与存量项目完美兼容。它采用“变更提案”的模式将每次修改定义为一个可追溯的变更单元而非要求你为整个项目重写规范。OpenSpec 支持集成到 22 种以上的 AI 编程工具中包括 Claude Code、Cursor、Windsurf、OpenCode 等这意味着你不需要绑定某一个特定的 IDE 或助手。安装与初始化OpenSpec 基于 Node.js要求 20.19.0 或更高版本全局安装即可使用npm install -g fission-ai/openspeclatest进入你的项目目录后执行初始化cd your-project openspec init初始化会创建openspec/目录结构并根据你选择的 AI 工具配置对应的斜杠命令。目录结构如下openspec/ ├── specs/ # 已实现的功能真相之源 └── changes/ # 待实现的提案 └── [变更名]/ ├── proposal.md # 为什么要做、做什么 ├── design.md # 技术方案 ├── tasks.md # 实施清单 └── specs/ # 规范增量补丁你还可以通过--tools参数指定支持的 AI 工具例如openspec init --tools claude或openspec init --tools all配置所有支持的工具。三阶段工作流OpenSpec 的核心工作流围绕三个命令展开1. Propose提案创建变更提案以“添加深色模式”为例在 AI 对话中执行/opsx:new add-dark-mode这会创建openspec/changes/add-dark-mode/目录并生成首个工件模板。你也可以使用/opsx:ff快进一次性生成所有规划文档包括 proposal、specs、design 和 tasks。2. Apply实施按任务清单实现代码/opsx:applyAI 会按照tasks.md中的任务清单逐步完成代码实现。由于计划存在于文件中而非聊天记录中你可以清除上下文、启动全新的 AI 会话然后用/opsx:apply继续——上下文不会丢失。3. Archive归档归档变更更新主规范/opsx:archive已完成变更会移至changes/archive/同时更新specs/中的主规范。这确保了规范文档始终反映项目的当前状态。OpenSpec 还提供了/opsx:verify命令用于验证实现与规范的一致性以及/opsx:explore用于只读的探索和调研。CLI 层面则提供了openspec list列出进行中的变更、openspec validate验证格式等命令。实践建议根据社区反馈大多数日常变更使用 OpenSpec 的 Lite 模式即可——几行需求加几个场景就够。只有涉及跨团队、跨仓库、API 契约变更的复杂场景才需要写更详细的规范。四、GitHub Spec-Kit官方出品规范即代码核心定位Spec Kit 由 GitHub 官方推出核心主张只有一句话让规格成为可执行的东西直接生成可工作的实现。与 OpenSpec 的轻量灵活不同Spec Kit 提供了一套更加完整和结构化的流程适合新项目Greenfield和需要严格规范管理的团队。Spec Kit 支持 GitHub Copilot、Claude Code、Cursor、Windsurf、Amazon Q Developer 等主流 AI 编程助手。安装与初始化Spec Kit 是一个 Python CLI 工具需要通过uv包管理器安装。首先确保环境满足Python 3.11、Git、uv 工具。# 安装 uv如果尚未安装 curl -LsSf https://astral.sh/uv/install.sh | sh # 安装 Spec Kit CLI uv tool install specify-cli --from githttps://github.com/github/spec-kit.git # 初始化项目 specify init my-project --ai claude初始化完成后项目下会生成.specify/文件夹包含三个子文件夹memory/存放constitution.md即项目根本原则、scripts/供 AI 调用的脚本、templates/规范文件参考模板。六阶段工作流Spec Kit 的工作流包含六个阶段通过斜杠命令驱动1. Constitution宪章定义项目的根本原则/speckit.constitution这是每个项目只需执行一次的步骤。宪章中定义的原则在后续所有阶段都不可违背。例如“该项目为纯前端演示项目暂不涉及后端服务所有 API 请求使用本地 JSON 模拟。”2. Specify规范定义“做什么”/speckit.specify此阶段专注于需求概述不需要指定技术栈。你只需要描述页面和功能Spec Kit 会生成结构化的需求文档。3. Plan规划定义“怎么做”/speckit.plan基于规范生成技术方案包括架构设计、数据模型和 API 设计。Spec Kit 还提供了/speckit.clarify命令来识别规范中的漏洞并生成澄清问题。4. Tasks任务拆解为可执行任务/speckit.tasks将技术方案拆解为有序的原子任务每个任务都足够具体可以让 AI 直接执行。5. Implement实现执行任务/speckit.implementAI 按照任务清单逐个进行代码实现。6. Converge收敛验证对齐/speckit.converge对比实现代码与规范、计划和任务检查是否存在偏离。如果报告“Converged”说明实现与规范完全对齐。版本控制集成Spec Kit 的一个重要优势是与 Git 工作流的深度集成。所有规范产物spec.md、plan.md、tasks.md都是存储在 Git 仓库中的普通 Markdown 文件。当你提交功能 PR 时可以同时附带规范文件和代码变更审查者既能看到你“要建什么”规范也能看到你“怎么建的”代码。实践中的注意事项Spec Kit 生成大量 Markdown 文件审查负担较重。有实践者反馈“工具生成大量冗长的 Markdown 文件审查体验差不如直接审查代码高效。”因此对于小型项目或快速迭代场景Spec Kit 可能显得过于笨重。但对于需要严格规范管理的新项目和团队协作场景它的结构化优势非常明显。五、BMADAI 驱动的敏捷军团核心定位BMAD-METHOD 全称 Breakthrough Method of Agile AI-Driven Development敏捷 AI 驱动开发的突破性方法是一个将 AI 驱动开发系统化、工程化的开源框架。与 OpenSpec 和 Spec Kit 的“规范驱动”路线不同BMAD 的核心创新在于多智能体协作——它模拟一个完整的敏捷团队由多个专业化的 AI 代理分析师、产品经理、架构师、开发工程师等协同工作。BMAD 的最新版本v6已扩展至 12 个领域专家代理和 50 个引导式工作流100% 开源免费MIT 协议。架构设计BMAD 分为四层架构第一层安装器 CLI。一条命令完成安装底层依赖 Node.js Python uv支持 Claude Code、Cursor、Gemini、ChatGPT 等多平台。第二层核心引擎。采用确定性与 AI 协作的双引擎设计——确定性模板渲染系统用代码处理能确定的事情避免 LLM 幻觉需要推理的事情留给 AI。这降低了生成内容的质量波动。第三层技能系统 质量体系。34 工作流、12 角色智能体、派对模式Party Mode、Dev Loop 自动化。质量侧配套三层代码审查体系、CodeRabbit AI 审查、CI/CD Husky pre-commit 等。第四层模块生态。五个模块BMM 核心、BMB Builder自定义智能体、TEA 测试架构师、Game Dev StudioUnity/Unreal/Godot、Creative Intelligence Suite。安装与使用BMAD 的安装非常简单一条命令即可完成npx bmad-method install安装器会自动检测项目状态并引导你完成配置。安装完成后在 IDE 中运行/bmad-help技能它会自动引导你告诉下一步该做什么。完整开发工作流BMAD 的工作流覆盖从产品想法到开发完成的完整流程输入想法/Bug/需求 → 头脑风暴forge-idea → 产品简报product-brief → PRDbmad-prd → UX 设计bmad-ux输出 DESIGN.md EXPERIENCE.md → 架构设计bmad-architecture → 开发实施bmad-quick-dev 三层代码审查 → 持续迭代bmad-loop开发→审查→反馈→再开发 → 输出可部署代码 完整产品文档BMAD 的两个关键创新值得特别说明Agentic Planning智能体规划由 Analyst、PM、Architect 等专职代理协作通过高级提示工程和人工参与的精化过程生成远超通用 AI 任务生成的详细 PRD 和架构文档。Context-Engineered Development上下文工程化开发Scrum Master 代理将详细计划转化为“超级详细”的开发故事文件其中嵌入了完整上下文、实现细节和架构指导。Dev 代理打开故事文件时就已经完整理解了“建什么、怎么建、为什么建”。派对模式与规模自适应BMAD 的“派对模式”Party Mode允许在同一会话中同时激活多个角色——PM、架构师、开发者、UX 设计师同时协作讨论类似于开一场虚拟站会交叉验证产出质量。另一个特色是规模自适应同一个工作流处理 Bug 修复时轻量快速处理企业级系统时自动展开完整规划。这避免了“杀鸡用牛刀”的资源浪费。适用场景与注意事项BMAD 最适合复杂系统、多团队协作和游戏开发场景。但它的学习曲线也最陡峭。有用户反馈“混乱的指令、零散的生成结果、反复的修改调试不仅没省时间反而消耗了更多 Token。” 关键在于理解其多代理协作的核心逻辑——一旦掌握它能帮助团队少走很多弯路。六、三大工具对比与选型建议维度OpenSpecGitHub Spec-KitBMAD定位轻量级迭代规范驱动开发企业级全流程复杂度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐核心理念先对齐再动手规范即可执行代码AI 即敏捷团队工作流Propose → Apply → ArchiveConstitution → Specify → Plan → Tasks → Implement → Converge头脑风暴 → PRD → 架构 → 开发 → 审查 → 迭代AI 工具支持22 种20 种多平台最佳场景快速原型、个人项目、存量改造新产品、团队规范、GitHub 生态复杂系统、多团队协作、游戏开发学习曲线低中高开源协议MITMITMIT选型决策指南按项目复杂度选择简单项目1-2 周OpenSpec中等项目1-3 月Spec-Kit复杂项目3 月以上BMAD按团队规模选择1-2 人OpenSpec3-10 人Spec-Kit10 人以上BMAD按项目类型选择存量系统改造OpenSpec棕地优先游戏开发BMAD BMGD企业级合规BMAD Enterprise简而言之想要轻量灵活、不被绑架选 OpenSpec想要开箱即用、GitHub 官方背书选 Spec-Kit想要覆盖从需求到部署的全流程、多智能体协作选 BMAD。这三者并非互斥关系。OpenSpec 和 Superpowers 可以互补——OpenSpec 擅长“想清楚”把模糊需求结构化为 proposal、design、spec、tasks 四件套Superpowers 擅长“做到位”brainstorming 审查设计缺陷。七、结语SDD 的核心价值不在于工具本身而在于它代表了一种思维方式的转变从“让 AI 猜我要什么”到“我先想清楚要什么再让 AI 精确执行”。正如 SDD 研究所指出的SDD 的核心是建立“规范→验证→生成→运营”的闭环强化需求与代码之间的语义对齐。Vibe Coding 并没有错它是 AI 编程的起点而非终点。SDD 是 Vibe Coding 的进化——在最终的实现阶段AI 仍然用“氛围编程”的方式写代码只不过不再根据模糊指令去猜而是拿着一份清晰的规范去执行。人类负责定义意图、约束和验收标准AI 负责高效地将规范转化为可工作的代码。这才是 AI 编程的正确打开方式。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑