跳到正文
简记
返回

为什么你应该卸载 superpowers

摘要

这不是一篇讨伐 Superpowers 的文章。它讨论的是:当 AI 越来越聪明,我们是否还应该让一套为“防止 AI 犯错”而设计的重流程,默认接管每一次开发?我的答案是:不应该。真正需要保留的不是笼子,而是边界、证据和方向。

一切从“轻量替代”开始

RSP 最初叫 Rules, Specs, Plans

它的目标很简单:我想要一个比 spec-kit 和 OpenSpec 更轻的替代方案。

我认同 Spec 驱动开发的价值。需求不应该只存在于聊天窗口里,设计不能随着上下文压缩消失,任务完成以后也应该留下可以恢复的项目知识。但我不想为了获得这些能力,再引入一套庞大的目录、复杂的状态机和沉重的仪式。

所以早期的 RSP 只关心几件事:

那时的 RSP,本质上还是一个轻量的 Spec 工具。它解决的是“信息放在哪里”,还没有完整回答“日常开发应该怎样推进”。

Matt Skills 填上了日常开发的空白

真正进入日常开发后,我开始大量使用 Matt Pocock 的相关 Skills,同时维护自己的 engineering-flowlocal-issues 等工作流。

这套方式很好用。

诊断问题时加载诊断 Skill,需要测试驱动时加载 TDD,需要设计时加载领域建模或代码库设计。每个 Skill 都像一张短小的操作卡片:关注一个问题,给出一组有效提醒,然后把工作交还给 AI。

相比完整框架,这种方式更贴近日常开发。它不要求每一次修改都走同一条流水线,也允许我按任务选择能力。对当时的我来说,它比大型 Spec 系统更灵活,也比只靠一份 AGENTS.md 更可靠。

但使用时间长了以后,问题也出现了。

Matt 风格的 Skills 更像一组优秀的工程习惯,而不是一套完整的项目协议。单个 Skill 可以很清楚,多个 Skill、项目规则、自定义工作流和宿主行为叠加以后,却容易发生漂移:

规则不是不够多,而是缺少一个足够小、足够稳定的骨架,把它们组织起来。

Superpowers 解决了纪律,却带来了流程税

Superpowers 代表了另一个方向:既然 AI 容易跳步、偷懒和过早宣布完成,那就把流程写得更完整、更强制。

它强调先澄清、再规划、按步骤执行、测试、验证、审查和收尾。这些原则本身没有错。事实上,RSP 的实现 Skill 也明确吸收了 Superpowers 中“完成前必须进行新鲜验证”的思想。

问题出在:当整套流程成为所有任务的默认入口,纪律就会变成流程税。

一个边界明确的小改动,可能也要经历一轮完整的讨论、计划和检查。AI 明明已经从仓库中获得了足够证据,却仍然需要按照预设步骤证明自己没有跳步。任务越简单,流程成本占比越高;模型能力越强,这种固定流程带来的摩擦越明显。

更重要的是,重流程经常把“正确地工作”误解为“完整地执行流程”。

但软件开发不是流水线。排障、设计、实现、迁移、发布和一次 CSS 调整,本来就不应该拥有同样的步骤。一个优秀的工作流应该根据风险和证据改变形状,而不是要求所有工作穿过同一个模具。

这也是我最终选择卸载 Superpowers 的原因:不是因为它没有价值,而是因为我不再希望它拥有日常开发的默认接管权。

RSP 3.x:从 Spec 工具变成可恢复的本地工作流

RSP 3.x 的变化,不是给早期 RSP 添加更多命令,而是重新定义它要解决的问题。

RSP 不再只代表 Rules、Specs、Plans,而是 Reliable Software Practice

它仍然保留轻量的仓库原生产物,但目标已经变成一套完整、可恢复的本地工程工作流:

它比 Matt 风格的松散规则更严谨,因为项目状态、工作归属、恢复路径和权限边界都有稳定协议。

它又比 Superpowers 更精简,因为 RSP 不要求每项任务经过一条完整流水线。Change 仍然是单个 Markdown 文件,Group 只有浅层结构,受管协调不是无条件控制器,也不会保存一套隐藏的第二状态。

RSP 约束的是那些真正容易造成漂移的地方:

至于 AI 应该怎样思考、先读哪几行代码、是否需要写一个临时测试,则交给当前任务、仓库证据和对应 Skill 决定。

AI 越聪明,越不应该被关进笼子

很多 AI 工作流诞生于模型能力更弱的阶段。

那时 AI 容易忘记上下文、跳过验证、擅自扩大范围,也经常在没有证据时宣布完成。给它更多步骤、更严格的检查表,是一种自然的应对方式。

但 AI 的发展速度远快于工作流文档的更新速度。

如果我们把某一代模型的缺陷永久写成所有模型都必须遵守的流程,工作流很快就会从安全网变成天花板。模型已经能理解代码、识别风险、选择验证方式,我们却仍然要求它逐项表演一套为过去能力设计的仪式。

我越来越相信,未来的 AI 工程工作流应该从“控制每一步”转向“引导关键决策”。

需要严格限制的,是不可逆和高风险边界:

而在这些边界之内,应该允许 AI 根据任务规模、代码证据和风险自由选择路径。

好的工作流不是一条铺好的铁轨,而是一张清楚的地图:它告诉 AI 目标在哪里、悬崖在哪里、走过的路如何留下标记,但不规定每一步必须先迈左脚。

所以,你应该卸载 Superpowers 吗?

如果你刚开始使用 AI 编程,或者团队缺少基本工程纪律,Superpowers 仍然是一套很有价值的训练轮。它能让“先理解、再行动、完成前验证”变成稳定习惯。

但如果它已经全局接管你的每一次开发,让简单任务也不断支付流程成本,那么你应该认真考虑卸载它,或者至少取消它的默认激活。

保留其中真正有效的原则,把它们蒸馏成更小的 Skills、项目边界和验证规则;把持久状态交给仓库,把高风险动作交给明确授权,把具体执行重新交还给 AI。

我卸载的不是 Superpowers 的原则,而是它对流程的默认控制权。

RSP 3.x 想做的,正是这件事:不把 AI 关进笼子,而是给它一套可以看见边界、留下证据、随时恢复的本地工作方式。

AI 越来越聪明以后,我们真正需要设计的,不是更坚固的笼子,而是更好的引导。

项目与上游

RSP 不是把某一个上游工作流换个名字重新发布。下面这些项目承担的是不同的研究职责:RSP 从中提取有用机制,再根据自己的单文件 Change、持久 owner、显式权限和低认知负担目标重新实现。除明确声明的适配内容外,它们都不是 RSP 的运行时依赖。

产物模型与工作协议

工程 Discipline Skills

受管执行与中断恢复

克制、简化与评估

来源治理与分发


分享文章:

评论由 GitHub Discussions 提供,正在加载……


下一篇
服务器安全防护 - CrowdSec