1

AI 时代编程范式的演进

AI 辅助编程正在经历三个阶段的演化。每一步都在改变我们与 AI 协作的方式 — 从简单对话到构建完整的工程化约束体系。

💬
Prompt
直接对话
一问一答
手动复制粘贴代码
📋
Context
提供上下文
Rules / System Prompt
Agent 自主读写文件
🏗️
Harness
工程化约束
Skills / Hooks / 子代理
强制工作流 + 自动审查
💬
Prompt 阶段
ChatGPT · 2023
📋
Context 阶段
Cursor Rules · 2025
🏗️
Harness 阶段
Superpowers · 2026
🎯
核心变化
约束 > 提示

范式转变的本质

PromptContextHarness,核心转变是:不再依赖"说得更好",而是"约束得更紧"

  • Prompt:你写 10 行描述,AI 猜你要什么 → 猜对概率不稳定
  • Context:你给 AI 代码库上下文 + 规则 → AI 理解变好,但仍可能偏离
  • Harness:你给 AI 一套强制执行的工作流 + 自动审查 → AI 的输出被工程化地约束
维度 Prompt 阶段 Context 阶段 Harness 阶段
代表工具 ChatGPT, Copilot Chat Cursor, Cline, Aider Superpowers, Spec-kit
AI 的角色 问答机器人 具有上下文感知的助手 有流程约束的工程代理
人的角色 写 Prompt + 手动验证 配置规则 + 审查输出 设计 Spec + 审批节点
输出质量 取决于 Prompt 质量 取决于上下文丰富度 被工作流和审查机制约束
自主性 几乎为零 中等(读写文件) 高(多代理协作、自我审查)
2

问题:裸跑 Agent 的困境

当我们直接让 Codex、Claude Code 等 AI 编程代理"自由发挥"时,它确实能写出看起来正确的代码 — 但几乎不可能直接用于生产工程。

🚨 真实场景中的典型问题

  • 跳过设计直接写代码 — 架构方向错误后才发现,返工成本巨大
  • 不写测试或测试是后补的 — 测试只是为了通过,而不是验证行为
  • 对需求过度解读 — 实现了大量你没要求的功能(YAGNI 违反)
  • 调试靠猜 — 遇到 bug 反复 try-catch、打补丁,不做根因分析
  • 宣称"已完成"但实际没验证 — 没有运行测试就说"all tests pass"
  • 生成的代码不符合项目编码规范 — 命名风格、目录结构混乱

为什么 Rules 不够?

你可能会想:在 .cursorrulesCLAUDE.md 里写好规则不就行了?

📝 Rules 能做到的

  • 设定代码风格和命名约定
  • 指定技术栈和框架偏好
  • 提供项目结构说明
  • 给出一般性的编码原则

🚫 Rules 做不到的

  • 强制先设计再写代码(AI 会忽略)
  • 要求先写失败测试再实现(TDD 流程)
  • 自动触发代码审查流程
  • 在"完成"前强制运行验证命令
  • 把大任务拆解成可管理的子任务
  • 启动子代理并行执行和审查

核心洞察

Rules 是"建议",Skills 是"流程"。Rules 放在系统提示里,AI 可以选择性遵循;Skills 把工作流程拆成一个个强制执行的步骤 — 不完成前一步,无法进入下一步。类似从"请遵守交通规则"到"设置红绿灯 + 摄像头"的区别。

3

解决方案:Superpowers

什么是 Superpowers?

Superpowers 是一套编程代理工作流框架,通过可组合的 Skills(技能)来约束 AI 代理的行为。它不是一个新的 AI 模型,而是一层"工程化脚手架" — 装上之后,AI 代理会自动遵循设计先行、测试驱动、代码审查等专业工程实践。

作者
Jesse Vincent
📦
版本
v5.0.5 · 2025
GitHub Stars
快速增长中
🔌
支持平台
Cursor · Claude Code · Codex · Gemini CLI

一句话总结

Superpowers = 让 AI 代理自动遵循专业软件工程实践的插件。安装后无需额外操作,代理会在相关场景下自动触发对应 Skill。

🧩 核心 Skills 一览

💡
brainstorming
在写任何代码前,先通过苏格拉底式对话提炼需求、探索方案、产出设计文档
核心流程
📝
writing-plans
将设计拆解为 2-5 分钟的原子任务,每个任务有精确的文件路径、代码、验证步骤
核心流程
🤖
subagent-driven-dev
为每个任务启动独立子代理执行,完成后经过规格审查 + 代码质量审查的双重门禁
核心流程
🧪
test-driven-development
强制 RED → GREEN → REFACTOR 循环:先写失败测试 → 运行确认失败 → 写最小实现 → 确认通过
质量保障
🔍
systematic-debugging
4 阶段根因分析法:禁止猜测式调试,必须先定位根因再修复
质量保障
verification-before-completion
宣称"完成"前必须运行实际验证命令并展示输出 — 用证据说话,不接受空口断言
质量保障
👀
requesting-code-review
每个任务完成后自动启动代码审查子代理,按严重程度分级(Critical / Important / Suggestion)
协作机制
🌲
using-git-worktrees
在独立的 Git Worktree 中开发,避免污染主分支
协作机制
🏁
finishing-branch
任务完成后提供结构化选项:合并 / 创建 PR / 保留 / 丢弃,并清理 Worktree
协作机制
4

Superpowers 的工作原理

🔄 核心工作流

Superpowers 定义了一条严格的主流程,每一步都有明确的进入条件和产出要求。

1
💡
Brainstorming
需求探索 → 设计文档
2
🌲
Git Worktree
创建隔离开发环境
3
📝
Writing Plans
拆分原子任务 + TDD
4
🤖
Subagent Dev
子代理执行 + 双重审查
5
🏁
Finish Branch
验证 → PR / 合并

⚙️ 技术架构

Superpowers 由三层机制组成,在不修改 AI 模型本身的情况下,重塑代理行为。

层级 机制 作用
Session Hook 会话启动时自动注入 using-superpowers 让代理在每个会话开始时就知道要检查并使用 Skills
Skill 触发 基于任务类型自动匹配对应 Skill 创意类任务 → brainstorming;Bug → systematic-debugging
Hard Gate 流程门禁 — 上一步未完成不能进入下一步 强制设计先行、测试先行、验证后完成
子代理隔离 每个任务由独立子代理执行,只接收精炼的上下文 避免上下文污染,确保每个任务的执行环境干净
双重审查 规格审查 → 代码质量审查(两个不同的审查子代理) 先检查"做对了没有",再检查"做好了没有"
自动化循环 审查不通过 → 自动修复 → 重新审查(最多 3 轮) 减少人工介入,但在 3 轮失败后升级给人类

关键设计思想

Skills 是强制工作流,不是建议。Superpowers 的 using-superpowers Skill 明确声明:哪怕只有 1% 的可能性适用某个 Skill,代理也必须调用它。这是一个"非协商"级别的指令 — 代理没有选择跳过的自由度。

🧪 TDD 强制执行的例子

test-driven-development Skill 为例,看看 Superpowers 如何把一个"最佳实践建议"变成"强制流程":

步骤 要求 违规后果
1. 写失败测试 先写一个描述期望行为的测试
2. 运行 → 确认红灯 测试必须实际运行且失败 如果测试直接通过 → 测试无效,重写
3. 写最小实现 只写让测试通过的最少代码 如果实现代码先于测试出现 → 删除实现代码
4. 运行 → 确认绿灯 测试必须实际运行且通过 不接受"应该能通过"的口头断言
5. 重构 在绿灯状态下清理代码 重构后必须重新运行测试确认仍为绿灯

⚠️ 铁律:"先于测试的代码必须删除"

这是 Superpowers TDD Skill 中最严格的一条规则 — 如果 AI 在写测试之前就写了实现代码,它必须删除那些代码,然后从写测试开始重来。这确保了测试不是"补充说明",而是真正的行为验证。

5

竞品与对比

AI 编程代理的"规范化开发"赛道正在形成。目前有三个主要方案,各自切入角度不同。

OpenSpec
规约驱动型 · CLI + 仓库结构 · Fission-AI
Spec 即真相 CLI 校验 变更归档
Spec Kit
流程命令型 · GitHub 出品 · 开源
命令管道 多代理兼容 GitHub 生态

📊 多维度对比

维度 Superpowers OpenSpec Spec Kit
核心理念 约束代理行为:通过 Skills 强制执行工程流程 规约即代码:Spec 文件作为项目真相源 结构化命令:标准化的 SDD 命令管道
工作方式 安装插件 → 自动触发 仓库内建 openspec/ 目录 + CLI 按顺序执行 /specify → /plan → /implement
设计阶段 brainstorming Skill(交互式对话 → 设计文档) 手动编写 Spec Deltas(增/改/删提案) /specify + /clarify(结构化生成)
规划阶段 writing-plans Skill(自动拆分 TDD 原子任务) tasks.md(手动编写任务清单) /plan + /tasks + /analyze
执行阶段 子代理驱动 + 双重审查 + TDD AI 按 proposal 执行,手动检查 /implement(单步执行)
自动化程度 ★★★★★ ★★★★★ ★★★★
质量保障 ★★★★★ ★★★★★ ★★★★
上手难度 低 — 装插件即可 中 — 需理解仓库结构约定 低 — 记住命令顺序即可
平台支持 Cursor · Claude · Codex · Gemini CLI 任意 AI 助手 + CLI GitHub Copilot · Claude · Gemini CLI
适用场景 端到端的工程化开发流程 需要 Spec 版本化和变更追踪的项目 GitHub 生态下的规范化开发

🎯 三种方案的本质差异

Superpowers:约束代理行为

"装上 Skills,代理自动走专业工程流程。" — 关注点在代理怎么工作(TDD、审查、子代理)。是三者中自动化和质量保障最强的。

📐

OpenSpec:管理项目规约

"把 Spec 放进仓库,用 CLI 校验和归档。" — 关注点在项目规约的版本化管理。适合需要长期维护产品规格文档的团队。

🧰

Spec Kit:标准化命令流

"按固定命令顺序走完 SDD 流程。" — 关注点在开发流程的标准化。GitHub 出品,与 Copilot 集成好。

它们可以互补

这三个工具并非严格互斥。例如你可以用 Superpowers 约束代理行为(TDD、审查、子代理驱动),同时用 OpenSpec 管理项目规约(Spec 版本化、变更归档)。它们分别解决不同层面的问题。

6

总结与思考

AI 编程的下一步:从"写好 Prompt"到"搭好脚手架"

Prompt Context Harness
🧠 AI 越来越强

模型能力快速提升
但"能做到"≠"会做好"
需要工程化约束

+
🏗️ 约束框架出现

Superpowers / Spec Kit
把专业实践变成强制流程
用工程方法驾驭 AI

=
🚀 真正的 AI 工程化

AI 代理长时间自主工作
输出质量被流程保障
人的角色:设计 + 审批

Superpowers 的价值不只是让 AI 写出更好的代码 — 它代表了一种思维转变:
不要试图写出完美的 Prompt,而是搭出好的工程化脚手架。

关键要点

AI 编程正从 Prompt → Context → Harness 演进
裸跑 Agent 在工程上不可用 — 缺少流程约束
Superpowers 用 Skills 把最佳实践变成强制流程
核心:设计先行 → TDD → 子代理 → 双重审查
与 OpenSpec/Spec Kit 互补而非替代
未来方向:人的角色从"写代码"转向"设计 + 审批"

最后的思考

  • 当 AI 模型能力足够强时,约束 AI 的方式指导 AI 的内容更重要
  • Superpowers 证明了:好的工程实践可以被编码为可执行的 Skills,而不只是写在文档里的建议
  • 这个思路适用于任何 AI 代理场景 — 不仅仅是编程