为什么 Superpowers 和 OpenSpec 都强调”先想后做”?

目录
[隐藏]

你有没有过这种经历:打开 Claude Code 或者 Cursor,对 AI 说"帮我写个用户登录功能",然后眼睁睁看着它噼里啪啦一顿输出,代码堆了几百行。

你仔细一看——登录逻辑是对的,但密码存储用的是明文,session 处理有问题,还"贴心"地加了一堆你根本不需要的功能。

你让它改,它改完又引入了新 bug。

这不是 AI 不够聪明。是你没有明确的告诉它要做什么和怎么做。

痛点:我们都在假装"Vibe Coding"很美好

老实说,我也是从那个阶段过来的。

一开始觉得 Vibe Coding 编程就是未来——动动嘴皮子,代码自己就出来了。爽了一段时间后发现:AI 写的代码质量,完全取决于你提需求的方式。

大多数人(包括我)提需求的方式是这样的:

  • "帮我写个电商后端"
  • "加个搜索功能"
  • "这个接口要能处理高并发"

然后 AI 就按它理解的去做了。它理解的可能和你想要的完全不是一回事。

更糟糕的是,你很难意识到 AI 已经开始跑偏。等发现的时候,代码已经写了一堆,牵一发动全身,改都不知道从哪改起。

所以我们开始用 AI 编程,其实还是在"边想边写"——只不过把"自己写"换成了"让 AI 写"。本质没变,效率提升也有限,心智负担却变得越来越重。

价值承诺

这篇文章会告诉你两个工具怎么解决这个问题的:SuperpowersOpenSpec

它们代表了两种不同的思路,但都指向同一个核心——在让 AI 写代码之前,先让 AI 理解你要做什么。

读完你会知道:
1. 这两个工具分别是什么
2. 它们的核心区别是什么
3. 你应该选哪个

一、Superpowers:把"规范"刻进 AI 的肌肉记忆

Superpowers 的核心理念很简单:让 AI 在动手之前,先停下来问你"你到底想做什么"。

它不是让你写文档,而是通过一套"技能系统"(Skills)来约束 AI 的行为。

当你对 AI 说"帮我实现用户管理模块",Superpowers 不会直接跳进去写代码。它会先激活一个叫 brainstorming 的技能,开始用苏格拉底式提问来厘清你的需求:

  • "用户管理的核心场景是什么?"
  • "需要支持哪些操作?"
  • "有什么特殊的边界条件?"

你没想清楚之前,AI 不会动手。

等你回答完问题,确认了设计方向,AI 会生成一份详细到可以执行的计划。每个任务 2-5 分钟,包含文件路径、代码片段、验证步骤。

然后是 subagent-driven-development:AI 会派生子代理来并行处理任务,每个任务完成后都会经过两层审查——先检查是否符合规格,再检查代码质量。

整个流程强制的,不是建议。

Superpowers 还特别强调 TDD(测试驱动开发)。在你写任何功能代码之前,必须先写测试。没有测试的代码不允许提交。

听起来很麻烦对吧?

但实测下来,用 Superpowers + Claude Code,AI 可以连续工作两三个小时,产出的代码质量稳定,不会突然冒出莫名其妙的功能。

适合你如果:
- 你经常发现 AI 写的东西不是你要的
- 你希望 AI 写代码之前先跟你确认
- 你追求代码质量和可维护性
- 你用 Claude Code 或 Cursor

Superpowers 安装方式

在 Cluade Code 中安装 Superpowers

Claude Code 用户可以直接从插件市场安装,Cursor 用户也有一键安装选项。实际上提供的是一系列 Skills,所有主流 AI 编程工具都支持。

# 添加插件市场
/plugin marketplace add obra/superpowers-marketplace

# 安装插件
/plugin install superpowers@superpowers-marketplace

# 更新插件
/plugin update superpowers

在 Cursor 中安装 Superpowers

/add-plugin superpowers

在 OpenCode 中安装 Superpowers

直接在对话框中告诉 AI:

Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.opencode/INSTALL.md

适合所有主流AI编程工具的安装方法

由于 Superpowers 本身由一系列 Skills 组成,故可直接使用 skills 工具辅助安装它。

# 执行命令
npx skills add obra/superpowers
# 接着按提示选择所有 Skills、选择你使用的 AI 编程工具

扩展参考:

二、OpenSpec:轻量到几乎感觉不到它的存在

如果说 Superpowers 是一套完整的开发规范,OpenSpec 更像是一个聪明的工作文件夹。

OpenSpec 的核心概念是 Artifact(产物)——每次你想做一件事,它会帮你创建一个变更文件夹:

openspec/changes/add-comment-feature/
├── proposal.md      # 为什么做这件事
├── specs/           # 具体的需求规格
├── design.md        # 技术设计方案
└── tasks.md         # 实施任务清单

使用方法很简单,通过 /opsx:propose "我想加个深色模式" 这样的一系列命令,AI 会自动帮你生成这一切。

OpenSpec 的设计哲学是:

流体不僵硬,迭代不瀑布,简单不复杂

它没有强制的工作阶段,你可以随时修改任何 Artifact。规格写了一半想改?直接改,不用重新走流程。

适合你如果:
- 你想要规划的好处,但不想被流程束缚
- 你的项目较小或处于探索阶段
- 你喜欢随时调整计划
- 你用多种 AI 编码工具

OpenSpec 安装方式

OpenSpec 提供了 openspec CLI 工具以辅助使用。由于其核心能力也是通过一系列 Skills 实现的,故同样支持所有主流 AI 编程工具(20+)。

快速安装用起来:

# 通过 npm 全局安装
npm install -g @fission-ai/openspec@latest
# 进入你的项目
cd your-project
# 初始化它
openspec init

扩展参考:

三、Superpowers vs OpenSpec:关键区别

维度 Superpowers OpenSpec
规范程度 强制流程,每个阶段必须完成才能进入下一阶段 轻量灵活,随时可调整
工作方式 通过 Skills 系统引导 AI 行为 通过 Artifact 文件结构组织变更
TDD 要求 强制测试驱动,不写测试不让你提交代码 不强制,没有硬性要求
AI 自主性 子代理驱动开发,可以长时间自主工作 依赖你选择的 AI 模型和工具
学习曲线 较陡,需要理解 Skills 系统 平缓,命令简单直观
适用场景 大型项目、追求工程质量 小型项目、快速迭代

四、如何选择?

选 Superpowers 如果:
- 你的项目复杂度高,需要强规范
- 你对 TDD 有执念或者团队要求
- 你希望 AI 能长时间自主工作
- 你用 Claude Code 或者 Cursor

选 OpenSpec 如果:
- 你想要轻量级的变更管理
- 你不喜欢被流程束缚
- 你的项目较小或处于探索阶段
- 你用多种 AI 编码工具

其实你也可以两个都用。 OpenSpec 负责变更结构,Superpowers 负责具体实施 —— 一个管方向,一个管执行。两者的哲学是互补的。

金句提炼

  • AI 编程的本质问题不是"AI 不会写代码",是你没告诉它要写什么代码。
  • 先想后做不是为了限制 AI,是为了让你掌控 AI 的输出。
  • Superpowers 告诉你"必须怎么做",OpenSpec 告诉你"可以怎么做"——两种思路都能解决问题。
  • 规范不是负担,是让你和 AI 高效协作的契约。
  • 选择工具的本质是选择一种工作方式:你是想要被约束,还是想要灵活性?

立刻能做的事

现在关掉这篇文章,打开你的 AI 编码工具(Claude Code、Cursor 或者随便哪个),分别安装上 Supperpowers 和 OpenSpec 工具,试试看"先描述你要做什么,再让它实现"。

在你让它写任何代码之前,先问它一个问题:

"/opsx:propose 如果我要实现一个用户登录模块,我们需要先讨论哪些东西?"

看看 AI 的回答。

你可能会发现——AI 不是不够聪明,是你之前没给它足够的时间思考。