欢迎光临
我们一直在努力

Vibe Coding - 规范驱动AI协作:深入解析OpenSpec改变开发流程的力量

文章目录

  • Pre
  • 概述
  • 一、为什么选择OpenSpec?
    • 常规AI助手问题
    • OpenSpec的变革
  • 二、OpenSpec核心工作流
    • 具体步骤
  • 三、OpenSpec目录结构与Delta规范
    • Delta格式说明
  • 四、与其他方案对比
  • 五、快速上手指南
    • 1. 安装CLI工具
    • 2. 初始化项目
    • 3. 创建变更提案
    • 4. 方案审核与完善
    • 5. 实现变更任务
    • 6. 归档上线
  • 六、团队协作与升级维护
  • 七、实例:用OpenSpec落地“两步验证”功能
    • 实例细化:用OpenSpec规范驱动“添加两步验证(2FA)”功能
      • 场景背景
      • 步骤一:创建2FA变更提案
      • 步骤二:细化需求与验收标准
      • 步骤三:拆解技术任务(tasks.md)
      • 步骤四:协同完善、审查与对齐
      • 步骤五:任务实现与归档
      • 文件产物举例
      • 亮点说明
    • 实践建议与总结
  • 八、总结与最佳实践建议
  • 九、项目地址

在这里插入图片描述

Pre

Vibe Coding – 使用cursor从PRD到TASK精准分解执行

Vibe Coding – Spec Workflow MCP:打造结构化、AI 驱动的软件开发新范式

Vibe Coding – GitHub官方开源项目spec-kit_spec规范驱动开发

Vibe Coding – 深度解读规范驱动开发(SDD):对 Kiro、spec-kit、Tessl 三大工具的剖析与实践


概述

在AI驱动的软件开发日益普及的今天,如何让开发者与AI助手协同高效、可控地演进项目,成为新的挑战。OpenSpec,正是为此而生的AI规范驱动开发辅助工具。本文将系统介绍OpenSpec的设计理念、核心价值、使用流程,并结合实际案例,帮助开发者深入感受其优势,积极拥抱和实践OpenSpec。


一、为什么选择OpenSpec?

在这里插入图片描述

常规AI助手问题

  • 当需求仅存在于对话历史,AI助手的输出往往不可控、难以复现,甚至遗漏业务关键点。
  • 缺乏规范驱动,代码产出既无法溯源,也难以审核,协作成本高。

OpenSpec的变革

  • 规范驱动开发:将需求以轻量spec(规范)管理,所有相关方(人和AI)在编码前达成一致。
  • 可审计、可追溯:所有提案、任务、规范变更都结构化存档,方便回溯与迭代。
  • 无需API密钥,极简配置:绝大多数AI工具零门槛集成,无需额外账号或设置。
  • 兼容现有AI助手:已支持Claude Code、CodeBuddy、Cursor、OpenCode、Qoder等主流工具,Slash命令一键触发。

二、OpenSpec核心工作流

#mermaid-svg-eWgYK8lYPQsarx0s {font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-eWgYK8lYPQsarx0s .error-icon{fill:#552222;}#mermaid-svg-eWgYK8lYPQsarx0s .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-eWgYK8lYPQsarx0s .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-eWgYK8lYPQsarx0s .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-eWgYK8lYPQsarx0s .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-eWgYK8lYPQsarx0s .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-eWgYK8lYPQsarx0s .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-eWgYK8lYPQsarx0s .marker{fill:#333333;stroke:#333333;}#mermaid-svg-eWgYK8lYPQsarx0s .marker.cross{stroke:#333333;}#mermaid-svg-eWgYK8lYPQsarx0s svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-eWgYK8lYPQsarx0s .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-eWgYK8lYPQsarx0s .cluster-label text{fill:#333;}#mermaid-svg-eWgYK8lYPQsarx0s .cluster-label span{color:#333;}#mermaid-svg-eWgYK8lYPQsarx0s .label text,#mermaid-svg-eWgYK8lYPQsarx0s span{fill:#333;color:#333;}#mermaid-svg-eWgYK8lYPQsarx0s .node rect,#mermaid-svg-eWgYK8lYPQsarx0s .node circle,#mermaid-svg-eWgYK8lYPQsarx0s .node ellipse,#mermaid-svg-eWgYK8lYPQsarx0s .node polygon,#mermaid-svg-eWgYK8lYPQsarx0s .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-eWgYK8lYPQsarx0s .node .label{text-align:center;}#mermaid-svg-eWgYK8lYPQsarx0s .node.clickable{cursor:pointer;}#mermaid-svg-eWgYK8lYPQsarx0s .arrowheadPath{fill:#333333;}#mermaid-svg-eWgYK8lYPQsarx0s .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-eWgYK8lYPQsarx0s .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-eWgYK8lYPQsarx0s .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-eWgYK8lYPQsarx0s .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-eWgYK8lYPQsarx0s .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-eWgYK8lYPQsarx0s .cluster text{fill:#333;}#mermaid-svg-eWgYK8lYPQsarx0s .cluster span{color:#333;}#mermaid-svg-eWgYK8lYPQsarx0s div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-eWgYK8lYPQsarx0s :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

提出变更提案 Proposal

审核与协同 Review & Align

实现任务 Implement Tasks

归档与更新 Archive & Update

具体步骤

  • 拟定变更提案(Proposal):使用命令或AI助手创建spec更新。如“添加角色搜索过滤”。
  • 审核与对齐(Review & Align):多人或AI反复修订,完善需求和验收标准。
  • 实现任务(Implement Tasks):AI或人工依规范实现细分任务,确保落地。
  • 归档变更(Archive & Update):变更完成后归档,更新“当前规范”(source of truth)。

  • 三、OpenSpec目录结构与Delta规范

    openspec/
    ├ specs/ # 当前项目规范(source of truth)
    │ └ auth/
    │ └ spec.md
    ├ changes/ # 所有变更提案及任务
    │ └ add2fa/
    │ ├ proposal.md
    │ ├ tasks.md
    │ ├ design.md
    │ └ specs/
    │ └ auth/
    │ └ spec.md # delta,仅表现变更内容

    Delta格式说明

    • ## ADDED Requirements 新增能力
    • ## MODIFIED Requirements 变更行为
    • ## REMOVED Requirements 移除特性

    每个需求必须包含至少一个#### Scenario:场景说明,并采用“SHALL/MUST”等强制词。


    四、与其他方案对比

    比较维度OpenSpecspec-kitKiro.dev无规范
    项目适用性 新功能、旧功能均适合 适合新项目(0→1) 变更易分散 难以控管
    需求变更追踪 明确、可管理两层结构 单层结构易混乱 多文件追踪困难 容易遗漏
    团队协作与可审计性 变更、任务、规范集中结构化管理 相对松散 结构较为分散

    五、快速上手指南

    1. 安装CLI工具

    npm install -g @fission-ai/openspec@latest

    确认安装:

    openspec –version

    2. 初始化项目

    cd your-project
    openspec init

    如选择支持的AI助手,自动生成关联命令和AGENTS.md。

    3. 创建变更提案

    对话示例:

    你:创建一个OpenSpec变更,添加“两步验证”功能。
    AI:已自动生成openspec/changes/add-2fa/,包含proposal.md、tasks.md、spec delta。

    4. 方案审核与完善

    命令核查:

    openspec list
    openspec validate add-2fa
    openspec show add-2fa

    与AI交互补全验收标准、细化业务场景。

    5. 实现变更任务

    AI辅助自动实现tasks.md列出的所有技术任务。例如:

    • 数据库新增字段
    • 后端实现OTP接口
    • 前端集成验证码组件

    6. 归档上线

    openspec archive add-2fa –yes

    自动将变更整合入specs/,归档成功。


    六、团队协作与升级维护

    • 新成员只需openspec init即可接入标准流程。
    • 每个变更会被规范归档,方便持续演进。
    • 灵活兼容多种AI助手,团队成员可自由切换。
    • openspec update一键刷新命令与指导。

    七、实例:用OpenSpec落地“两步验证”功能

  • 创建change提案(增加2FA)
  • 设计Delta,新增“OTP登录”
  • 生成tasks.md(如“数据库设计”、“接口实现”、“前端集成”)
  • 审核落地,归档变更
  • 通过规范驱动,每一步都可复查、回溯,并且支持跨角色、跨工具协同。


    实例细化:用OpenSpec规范驱动“添加两步验证(2FA)”功能

    场景背景

    假设你正在开发一个Web系统,希望为用户登录新增“两步验证”(OTP/动态验证码),提升安全性。你使用OpenSpec,让AI与团队协同推进需求落地。


    步骤一:创建2FA变更提案

  • 指令对话/命令行/openspec:proposal add-2fa
    或openspec init
    openspec list
  • 自动生成目录结构openspec/
    ├ specs/
    │ └ auth/
    │ └ spec.md # 现有登录/认证规范
    └ changes/
    └ add-2fa/
    ├ proposal.md # 为什么要加2FA?改动内容说明
    ├ tasks.md # 具体实现任务列表
    ├ specs/
    │ └ auth/
    │ └ spec.md # 只包含新增/变更内容(Delta规范)
    └ design.md # 技术方案、架构决策(可选)

  • 步骤二:细化需求与验收标准

    • proposal.md 示例内容(由AI自动生成并可人工补充):

      # 变更提案:增加两步验证
      – 目的:提升账户安全,防止盗号风险。
      – 影响范围:登录流程;用户数据表需扩展。
      – 验收标准:
      – 用户登录时需验证动态验证码(OTP)
      – 支持短信/邮件/Authenticator APP
      – 管理员可强制开启2FA

    • specs/auth/spec.md(Delta)示例:

      ## ADDED Requirements

      ### Requirement: Two-Factor Authentication
      The system MUST require a second factor during login.

      #### Scenario: OTP required
      – WHEN a user submits valid credentials
      – THEN an OTP challenge is required

      #### Scenario: Successful OTP verification
      – WHEN a user enters the correct OTP
      – THEN allow login and issue JWT

      #### Scenario: OTP failure
      – WHEN a user enters wrong OTP
      – THEN deny login, show错误提醒


    步骤三:拆解技术任务(tasks.md)

    ## 1. 数据库设计
    – [ ] 1.1 用户表新增OTP密钥(secret字段)
    – [ ] 1.2 新建OTP验证日志表(存储验证结果、时间戳)

    ## 2. 后端实现
    – [ ] 2.1 新增生成OTP接口(如RESTful: /api/otp/generate)
    – [ ] 2.2 修改登录逻辑,登录成功后进入OTP校验阶段
    – [ ] 2.3 新增OTP验证接口(/api/otp/verify)
    – [ ] 2.4 支持多种OTP发送方式(短信/邮件/Google Authenticator)

    ## 3. 前端适配
    – [ ] 3.1 登录页面新增OTP输入框与校验步骤
    – [ ] 3.2 错误处理与用户体验优化
    – [ ] 3.3 可视化展示2FA启用、关闭入口


    步骤四:协同完善、审查与对齐

    • 在“proposal.md”和“spec.md”中补充实际业务场景、边界情况(如多次失败锁定、备份码等)。
    • 让AI或团队成员完善“tasks.md”具体实现细节。
    • openspec show add-2fa 展示所有内容,团队或AI共同审核。

    步骤五:任务实现与归档

    • 按任务清单开发各模块,AI助手可自动标记完成情况(如 [x] 已完成)。
    • 任务完成后,运行:openspec archive add-2fa –yes
    • 变更自动归档至specs目录,成为系统新业务的“source of truth”。

    文件产物举例

    • openspec/changes/add-2fa/proposal.md —— 需求与理由说明
    • openspec/changes/add-2fa/tasks.md —— 技术任务分解
    • openspec/changes/add-2fa/specs/auth/spec.md —— 规范变更Delta
    • openspec/specs/auth/spec.md —— 已归档最新业务规范

    亮点说明

    • 变更从提案到落地,全流程规范、闭环管理,每一步都可溯源、复查与协同。
    • AI自动生成高质量任务拆解与场景描述,大大提升效率和准确率。
    • 规范落地后,后续团队成员查阅“specs”即可快速了解业务历史和变更细节,适合多人/多工具同步协作。

    实践建议与总结

    • 每新增一个业务特性,都建议用OpenSpec规范化,保障协同、代码落地与未来迭代的高可控性。
    • 团队协作高效,变更、任务、业务场景全链路可视。
    • AI助手精准落地,减少需求偏移,支持持续集成迭代。

    通过上述详尽分解,开发者可快速参考、复用2FA落地流程,用OpenSpec将复杂需求标准化、结构化,感受AI与“规范驱动开发”的真正威力。

    八、总结与最佳实践建议

    • 优先建议:对每一项业务特性,都用OpenSpec规范化,AI协助产出的成果可控、可复现、可分享。
    • 场景拓展:不仅适合新开发,也适合对既有系统的渐进式调整(brownfield-first)。
    • 团队高效协同:提升讨论透明度,减少“需求漂移”和“沟通成本”。

    OpenSpec让AI从“自由发挥”变为“有据可依”。规范驱动,团队协同,业务可控,变更归档……每个开发环节清晰高效,让你专注于创意和实现。

    九、项目地址

    https://github.com/Fission-AI/OpenSpec


    在这里插入图片描述

    赞(0)
    未经允许不得转载:171主机测评 » Vibe Coding - 规范驱动AI协作:深入解析OpenSpec改变开发流程的力量
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址