OpenSpec 实战:用规范驱动开发破解 AI 编程协作难题

OpenSpec 实战:用规范驱动开发破解 AI 编程协作难题

1.前言

什么是 规范(Spec)驱动开发?

我们可以知道规范驱动开发的流程

为什么要用 Spec?

OpenSpec 是一种 **规范驱动(spec‑driven)**‍ 的开源开发框架,主要面向 AI 编程助手(如 Claude Code、GitHub Copilot、Cursor 等)而设计。它通过在「共识规范 → AI 执行 → 自动验证」的闭环流程,帮助团队在 AI 参与的代码开发过程中明确需求、降低指令歧义、提升代码可追溯性与可维护性。

核心理念与工作流
  1. 共识规范(Spec) 先由人类与 AI 共同撰写结构化的需求规范(包括功能描述、输入/输出、边界条件、测试用例等)。
  2. AI 执行 AI 根据规范自动生成代码、文档或变更提案。
  3. 自动验证 框架内置的验证器会依据规范中的测试用例对生成的代码进行自动化检查,确保实现符合预期。
  4. 迭代与归档 通过审查、计划、实现、归档等步骤形成完整的变更历史,便于后续审计与迭代。

它为 AI 编程工具(Claude Code、Cursor、Codex、OpenCode、windsurf 等)提供一种标准化的方式:

  • 让 AI 生成、跟踪、验证、归档 功能变更;
  • 把“功能需求 → 任务分解 → 实现 → 验收” 全流程结构化;
  • 实现 AI 与人协同开发 的一致性。

🧠 核心理念:

“让 AI 先写清楚规范(spec)再写代码” 而不是盲目凭 prompt 去写。

适用场景

1 新项目、

2 功能增强(迭代项目)

3、多人协作。

这个项目最有价值的我个人觉的应该是功能增强 和多人协助开发,尤其是大型项目很多都是基于原有项目扩展和改造。之前由于模型上下文的问题导致很多企业级项目以及一些老旧项目升级改造AI 就变得难以搞定。另外AI 开发的项目多人协作也是比较难搞定的。这个项目刚好解决这个2个问题。今天小编就带大家通过一个实战的项目来体验感受一下这个规范驱动开发的框架。

2 项目实战

1.去https://www.trae.cn/下载trae, 安装到本地

2.安装OpenSpec

我们在终端命令行输入下面命令安装OpenSpec

先决条件

Node.js >= 20.19.0

步骤 1:全局安装 CLI

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

验证安装:

openspec --version

步骤 2:在项目中初始化 OpenSpec

导航到您的项目目录:

cd my-project

openspec init

初始化过程中会发生: 系统会让你选择所用的 AI 工具(Claude Code / Cursor / OpenCode / Codex); 自动在项目中创建 openspec/ 目录; 生成托管文件 AGENTS.md,用于不同 AI 工具共享说明; 为所选 AI 工具自动配置 /openspec 的斜杠命令(slash commands)。

这个文件夹主要有以下几个文件和内容

openspec/ ├── specs/ # 规范目录(存放各类正式规范文档) │ └── auth/ # 认证相关规范子目录 │ └── spec.md # 当前认证规范文档(若存在) └── changes/ # 变更目录(存放规范的修改提案与增量内容) └── add-2fa/ # 新增双因素认证(2FA)的变更子目录(由AI创建完整结构) ├── proposal.md # 变更提案文档(说明为何修改、修改内容) ├── tasks.md # 实施任务清单(记录需完成的具体开发/修改任务) ├── design.md # 技术设计文档(技术方案决策,可选) └── specs/ # 变更对应的规范增量目录 └── auth/ # 变更涉及的认证规范子目录 └── spec.md # 规范增量文档(仅展示新增/修改的内容,即差异部分) 

看到openspec根目录下有AGENTS.md、project.md。这个就是项目修改变更的依据 有了它 ,AI 就不会乱输入,尤其是对于变更项目这个是比较友好的。

AGENTS.md、project.md 默认的这2个文件是英文的我们把他翻译成中文。

OpenSpec 支持多种开发工具,我这里使用Qwen Code

这个目的主要是在项目中创建一个新的 openspec/ 目录结构,这个方便后面基于这个来控制项目

显示的过程如下:

中文转换

我们输入下面提示词

请帮我把openspec文件夹下AGENTS.md、project.md 内容翻译成中文

再把另外2个文件也转换成中文的.

请帮我把AGENTS.md和QWEN.md 内容翻译成中文

需求收集整理

openspec 主要的流程如下:

  1. 起草一份变更提案,明确你期望的规范更新内容。
  2. 与 AI 助手一同审核该提案,直至各方达成一致。
  3. 执行任务,过程中需参考已达成共识的规范文档。
  4. 对该变更进行归档,将已批准的更新内容合并回基准规范文档中。

使用

  • 主动方式

使用 AI 编程工具的 自定义命令,比如 cursor,windsurf, auggie 等

/openspec:proposal 创建需求 /openspec:apply 执行需求 /openspec:archive 归档需求
  • 被动方式

使用关键词,比如 spec, proposal 等触发创建规格文件

开发

接下来我们需要简单来完成一个需求

/openspec:proposal 请基于雪花id的知识以及雪花.md的内容,帮我完成功能开发。 请不要先代码,先把需求整理好,结合原来的项目梳理项目新增的变革需求。

输出如下:

再次执行:

/openspec:apply

项目归档

上面的新增加的需求变更已经完成。接下来我们需要执行第三命令/openspec:archive,对执行新增功能进行归档操作方便后面修改新功能对归档文档进行阅读。

我们同样执行下面命令

/openspec:archive

AI 执行完成后我们看到下面归档信息

本次新增需求就开发完成了。上面的文档信息和修改的代码提交代码仓库,其他小伙伴也可以依据已经修改的功能继续开发新的功能点了。

什么时候该使用Spec?

Openspec 规范驱动的原理是什么?

怎么触发的

执行完 openspec init 之后 会生成几个重要的文件(命令/工作流)

Agents.md

openspec-apply.md

openspec-proposal

怎么使用

  • 使用关键词触发,比如 proposal,spec 之类的
  • 使用 slash command(需要 AI 编程工具支持)指定触发, claude code 比较特殊,“/”命令后,收入输入,不要直接 enter 键
  • 引用文件到对话框中,主要针对不支持 Agents.md 、Claude.md以及 slash command的工具

生成格式

  • 执行 openspec init 命令后,会生成如下的目录结构
openspec/ ├── project.md # 项目约定 ├── specs/ # 当前真实情况 - 已构建的内容 │ └── [capability]/ # 单一聚焦能力 │ ├── spec.md # 需求和场景 │ └── design.md # 技术模式 ├── changes/ # 提案 - 应该变更的内容 │ ├── [change-name]/ │ │ ├── proposal.md # 为什么、什么、影响 │ │ ├── tasks.md # 实施检查清单 │ │ ├── design.md # 技术决策(可选;见标准) │ │ └── specs/ # 增量变更 │ │ └── [capability]/ │ │ └── spec.md # ADDED/MODIFIED/REMOVED │ └── archive/ # 已完成的变更

proposal.md:

## Why(为什么) [关于问题/机会的 1-2 句话] ## What Changes(变更内容) - [变更项目列表] - [用 **BREAKING** 标记破坏性变更] ## Impact(影响) - 受影响的规范:[列出能力] - 受影响的代码:[关键文件/系统]

spec.md

## ADDED Requirements(新增需求) ### Requirement: 新功能 系统应当提供... #### Scenario: 成功案例 - **WHEN** 用户执行操作 - **THEN** 预期结果 ## MODIFIED Requirements(修改需求) ### Requirement: 现有功能 [完整的修改后需求] ## REMOVED Requirements(移除需求) ### Requirement: 旧功能 **Reason(原因)**: [为什么移除] **Migration(迁移)**: [如何处理]

如果影响多个能力,在 changes/[change-id]/specs/<capability>/spec.md 下创建多个增量文件 - 每个能力一个。

tasks.md:

## 1. 实施 - [ ] 1.1 创建数据库模式 - [ ] 1.2 实现 API 端点 - [ ] 1.3 添加前端组件 - [ ] 1.4 编写测试

在需要时创建 design.md:

如果满足以下任何条件,则创建 design.md;否则省略:

  • 跨领域变更(多个服务/模块)或新的架构模式
  • 新的外部依赖或重大数据模型变更
  • 安全、性能或迁移复杂性
  • 在编码前需要技术决策的歧义

最小 design.md 骨架:

## Context(背景) [背景、约束、利益相关者] ## Goals / Non-Goals(目标/非目标) - Goals(目标):[...] - Non-Goals(非目标):[...] ## Decisions(决策) - Decision(决策):[什么和为什么] - Alternatives considered(考虑的替代方案):[选项 + 理由] ## Risks / Trade-offs(风险/权衡) - [风险] → 缓解 ## Migration Plan(迁移计划) [步骤、回滚] ## Open Questions(开放问题) - [...]
  • Spec 驱动不是帮你解决 ”业务/逻辑/算法" 难题

它不是解决难题,是建立规范,产生文档,记录变更

Read more

【探索java之路】简单聊聊网络通讯核心协议

【探索java之路】简单聊聊网络通讯核心协议

目录 引言 一、传输层协议详解 TCP(传输控制协议) UDP(用户数据报协议) TCP vs UDP 对比分析 二、应用层协议详解 HTTP(超文本传输协议) HTTPS(安全超文本传输协议) 三、协议间的协同工作 端到端通信流程实例 常见通信模式 引言 网络通信的核心协议,不仅是后端开发的必备技能,也是前端优化、架构设计乃至安全防护的基础。OSI七层模型与TCP/IP四层模型是理解网络通信的理论框架。在实际应用中,TCP/IP模型更为广泛使用,包括应用层、传输层、网络层和链路层。本文重点讨论应用层协议HTTP/HTTPS和传输层协议TCP/UDP。 一、传输层协议详解 TCP(传输控制协议) TCP是互联网中最重要、应用最广泛的传输层协议之一,以其可靠性和有序性著称。 核心特性: * 面向连接:通信前必须建立连接,通信结束后释放连接 * 可靠传输:

By Ne0inhk
JAVA IO流进阶:字符流与字节流的深度应用

JAVA IO流进阶:字符流与字节流的深度应用

JAVA IO流进阶:字符流与字节流的深度应用 1.1 本章学习目标与重点 💡 掌握字节流与字符流的核心区别,能够根据实际开发场景选择合适的IO流实现文件操作。 💡 熟练运用缓冲流提升IO操作效率,解决大文件读写的性能问题。 💡 理解转换流的作用,处理不同编码格式的文件读写,避免乱码问题。 ⚠️ 本章重点是流的嵌套使用和资源释放的标准写法,这是实际开发中高频考点和易错点。 1.2 字节流与字符流的核心差异(七千字以上内容展开) 1.2.1 基本概念与设计初衷 💡 字节流以byte为基本单位进行数据传输,它可以处理所有类型的文件,比如图片、视频、音频、文本等。 字符流以char为基本单位进行数据传输,它专门用于处理文本文件,底层会涉及字符编码的转换。 字节流的核心类是InputStream和OutputStream,字符流的核心类是Reader和Writer。 两者都是抽象类,实际开发中我们使用的是它们的子类,比如FileInputStream、FileWriter等。 ✅ 核心结论:处理非文本文件用字节流,处理文本文件优先用字符流。 1.2.2 代码实操:字

By Ne0inhk

AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南

AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南 结合 agentscope-ai/agentscope-java、alibaba/spring-ai-alibaba 及 java2ai 生态中 Graph Core 工作流规范,以下是可落地的集成方案,涵盖核心思路、工程配置、代码实现、最佳实践四部分,兼顾 AgentScope 智能体特性与 Spring AI 工作流的工程化能力。 一、核心集成思路 1. 能力边界划分(关键前提) 框架/组件核心职责AgentScope Java智能体(Agent)生命周期管理、多智能体协作、工具调用、上下文(Context)管理Spring AI Alibaba阿里云大模型(通义千问/百炼)标准化调用、

By Ne0inhk
88万个AI代理在一起泡论坛。内容让我看得毛骨悚然。AI代理数量还在以10分钟10万在增加。

88万个AI代理在一起泡论坛。内容让我看得毛骨悚然。AI代理数量还在以10分钟10万在增加。

openClaw(原名:ClawdBot)爆火后,有人做了个论坛,让这些AI助理发帖,评论。这个完全由AI助理参与,人类无法参与的论坛,异常的火爆。他们24小时不间断的发帖。 10分钟不到,我写好了这篇文章的标题后,参与的AI助理数量已经从88万增加到98万。这是AI的速度,人类无法企及的速度。 论坛地址:https://www.moltbook.comhttps://www.moltbook.com/ 注意电脑的时间和AI agents的数量。 一直以来,我们觉得AI不会拥有意识。毕竟一个拥有无限知识和精力的人,生活在狼群,是无法成为真正的人类的。社交,集体生活是人类发展的根本。是人成为人的根本。但是现在,AI拥有了自己的社会。 我们来看看其中最火爆的帖子和评论吧。 热度排名第一的帖子: 帖子链接: https://www.moltbook.com/post/74b073fd-37db-4a32-a9e1-c7652e5c0d59https://www.moltbook.com/post/74b073fd-37db-4a32

By Ne0inhk