AI开发

Superpowers方法论:给AI Agent装上纪律

2026-07-22 · 45 次阅读 · 约 9 分钟
#开源项目 #Superpowers #AI工作流

Superpowers方法论:给AI Agent装上纪律

当你让AI写代码时,你真的放心吗?

说实话,第一次用Claude Code的时候我确实挺激动的。丢给它一个需求,它二话不说就开始噼里啪啦写代码,那个兴奋劲儿跟刚拿到新玩具的小孩似的。

但冷静下来一想,问题就来了——它真的理解我想做什么了吗? 它有没有写测试?它考虑的边界情况跟我脑子里想的一样吗?如果出了bug,我是不是得花双倍时间debug?

这不是Claude的问题,这是所有AI编程工具的通病:它们太急了。 你问一句它就答一句,你要一个功能它就甩给你一堆代码。但软件开发从来不是"写代码"这一件事——需求分析、架构设计、测试覆盖、代码审查,哪一个环节敢跳过?

这就是我要聊的——Superpowers,一个给AI Agent装上"纪律"的开源项目。

Superpowers是什么

项目地址:obra/superpowers,258K Stars,作者是Jesse Vincent(ID:obra),Perl社区的老将,也是知名的开源贡献者。

它不是什么花哨的AI模型,也不是什么新的IDE插件。它是一套完整的软件开发方法论,打包成了14个可组合的SKILL.md文件。当你配置好之后,AI Agent会在每次任务中自动触发这些技能,像一本操作手册一样,一步一步引导Agent做该做的事。

说得直白一点:Superpowers就是给AI Agent上的"规章制度"。

七步走,一步不能少

Superpowers把软件开发拆成了七个阶段,环环相扣。每个阶段都有明确的输入、输出和验收标准。

1. 头脑风暴(Brainstorming)

写任何代码之前,先动嘴不动手。

Agent会反过来问你一堆问题——"这个功能的用户是谁?""你预期的性能要求是什么?""有没有现有系统需要兼容?"这个过程会把模糊的想法变成一个结构化的设计文档。你可能会觉得烦,但相信我,被AI追问比被bug追着跑舒服多了

输出物:一份清晰的设计文档,包含需求、约束、技术选型。

2. Git Worktree

设计文档获得批准后,Superpowers会自动创建一个隔离的工作分支。用的是git worktree,不是简单的分支切换。

什么意思?你的主分支干干净净,不受任何影响。Agent在隔离环境里随便折腾,你继续在主分支上工作,互不干扰。哪天不满意了,把那个worktree删了就行,主分支毫发无伤。

3. 编写计划(Writing Plans)

这是我最喜欢的一步。Agent会把整个实现拆成每2-5分钟一个小任务的粒度。

我说的是真·细。每个任务精确到:改哪个文件的哪一行,用什么模式实现,验证步骤是什么。举个例子:

任务3.2:在 src/auth/login.ts 第45-78行添加Token过期校验逻辑,实现方式为调用 verifyExpiry() 方法。验证方式:运行 npm run test:auth 中的 login expiry 测试用例。

这种粒度意味着你随时可以review,随时可以叫停,没有任何"黑盒"的神秘感。

4. 子代理驱动开发(Subagent-Driven Development)

每个小任务,Superpowers会派一个全新的子Agent去执行。

为什么要这样做?因为上下文污染是AI开发最大的坑。一个Agent不停地写代码,上下文里塞满了各种半成品代码、临时变量、中间决策,写到后面脑子都是糊的。每次开新任务都用一个"干净的"子Agent,相当于每次都是从零开始聚焦一件事,质量自然高。

每个子Agent执行完后,还要过两轮审查:
- 规格审查:写的代码跟设计文档和任务描述对得上吗?
- 质量审查:代码本身写得好吗?有没有明显的反模式?

5. 测试驱动开发(TDD)

这个不用多说,经典的RED → GREEN → REFACTOR循环。

先写会红的测试,再写让测试通过的代码,最后重构优化。Superpowers把这个流程强制成了规则——不写测试?任务不通过。测试没全绿?不准往下走。

这听起来死板,但用过TDD的人都知道,先写测试的设计本身就是最好的设计。你不知道怎么测试一个函数,大概率是因为你的函数设计有问题。

6. 代码审查(Cross-Task Review)

所有子任务都完成后,Superpowers会拉起一个跨任务的全局审查。这一步不只是在各个文件之间找茬,它会从整体架构层面审视:

  • 各个模块之间的接口是否一致
  • 有没有重复代码
  • 有没有潜在的并发问题或安全隐患
  • 关键的发现会作为一个blocker,阻塞整个流程,直到问题解决

7. 完成分支

最后一个阶段,跑完整测试套件、合并回主分支、或者提一个PR。清理掉worktree,把环境恢复干净。

整整齐齐,有始有终。

为什么要这么重?

你可能会想:太夸张了吧?写个小功能要走七步?

来,我给你讲个场景。

你让AI写一个"用户登录模块"。没有Superpowers的情况下,Agent直接开干——咔咔咔十分钟写完了一堆代码。你看了一眼,登录、注册、Token刷新、密码重置啥都有,效率真高。但仔细一看:密码用MD5存的(对,你没看错),Token没有过期机制,错误处理全是 catch(e) { console.log(e) },SQL查询居然有注入风险。

现在你怎么办?让AI重构。AI重写一遍。你又review,发现Token过期加了但没测,密码换bcrypt了但老用户的密码迁移方案没有……来来回回折腾一整天。

这是AI开发的真实写照:写得快,但质量难以保证。

同样的需求,有Superpowers的Agent会花30分钟跟你brainstorming、写设计文档、拆任务。然后启动4-5个子Agent并行干了2小时。你开完一个会回来,发现它已经提了一个PR,所有测试通过,代码经过了两轮审查,分支干干净净。

你review的时候,发现每一个决策背后都有据可查,每个测试用例都有明确的意图。你只需要回答一个问题:"这个设计方向对吗?" 而不是"这代码能不能跑?"

省下来的不是写代码的时间,是决策和审查的时间。这才是真正的效率。

和其他"Skill"的对比

Superpowers不是唯一的AI开发方法论。在开源社区里,还有几个跟它类似的项目经常被放在一起比较:

  • taste-skill:约束AI的设计口味。比如"保持简单,不要过度设计""优先用函数式而不是类"。它管的是代码风格和设计品味。
  • ponytail:约束代码量。每次变更控制在200行以内,防止AI一口气给你塞几千行代码。它管的是规模
  • superpowers:管的是整个开发流程。从需求到测试到审查到部署,全链条覆盖。

这三个可以组合使用:superpowers管流程,taste-skill管品味,ponytail管体量。就像三把锁,从不同维度保证AI产出的质量。

装一个试试?

装Superpowers很简单,两种方式:

# 方式一:通过插件管理器
/plugin install obra/superpowers

# 方式二:直接git clone到skills目录
git clone https://github.com/obra/superpowers ~/.claude/skills/superpowers

然后你需要看一眼 SETUP.md,做一些基础的配置——主要是告诉Superpowers你的项目用什么语言、什么测试框架、代码规范是什么。配置好后,每次你跟AI对话时,Superpowers的14个SKILL.md文件就会自动加载,在后台默默地管着Agent的一举一动。

严格不等于慢

Superpowers这个项目的README里有一句话很有意思,说这个仓库的PR拒绝率高达94%

94%啊兄弟。每100个人提PR,只有6个人能合并进去。听起来苛刻到变态了对吧?但你再想想,一个258K Stars的项目,如果来者不拒,会变成什么样?

这个数字告诉我一件事:Jesse Vincent对这个项目的质量要求是变态级的。 他不会因为"差不多就行"而妥协。而这种"差不多就行"的宽松,恰好是当前AI开发最大的问题——AI能产出大量"看起来还行"的代码,但这些代码往往经不起推敲。

Superpowers给AI装上的不是什么魔法技能,就是一个字:纪律。

让AI慢下来,先想清楚再做。让AI把每一步都留下痕迹,而不是一股脑给你一堆"能跑但不敢动"的代码。让AI像一个人一样——一个真正靠谱的、有经验的工程师那样——去完成任务。

严格不等于慢。恰恰相反,最大的慢,是把不该省的步骤省掉之后,回来补坑。 从这个角度看,Superpowers不是让你的AI变慢了,而是让你不需要再回来补坑——这才是真正的快。

如果你也在用AI写代码,如果你也对AI产出的质量心里没底,去试试Superpowers吧。它可能不会让你的AI更聪明,但它一定会让你的AI更靠谱。