上周二深夜,我盯着 Cursor 刚生成的一堆烂代码,突然觉得 AI 编程就像雇了一个动作快但耳聋的装修队——你让他砌墙,他给你挖了个坑,还顺便把水管砸爆了。删掉重来,再来一遍,依然是在错误的地基上盖危楼。这种无力感,大概每个用过 AI 写代码的人都懂:它快得惊人,也蠢得让人心惊。

这就是为什么 Superpowers 这个项目能在五个月内狂揽 10.7 万 Star 的原因——它试图解决的不是“怎么写代码更快”,而是“怎么让 AI 不乱写代码”。现在值得写它,是因为这不仅仅是又一个 AI 编辑器插件,而是一场关于“AI 是否需要像人类工程师一样思考”的工作流革命。当大多数人还在比拼谁的模型上下文更长时,Superpowers 的作者 Jesse Vincent(对,就是那个搞出 Markdown 和 Android 键盘应用 K-9 Mail 的大神)选择了一条反直觉的路:让 AI 慢下来

代码是排泄物,思考才是主食

Superpowers 最核心、也最冒犯人的理念,莫过于那句:代码只是 AI 的排泄物,思考才是主食。

这话听着刺耳,但细想极准。传统的 AI 编程工具,本质上是在训练我们当“提示词工程师”,拼命暗示 AI:“快,给我吐一段代码出来。”我们盯着屏幕,期待那个回车键敲下后,屏幕上流淌出完美的逻辑。但结果往往是:代码跑不通,或者跑通了但逻辑是歪的。为什么?因为 AI 跳过了消化过程,直接排泄。

Superpowers 的做法是,在 AI 碰键盘之前,强制它先“吃”透需求。它不直接生成代码,而是先启动一个 brainstorming(头脑风暴)阶段。在这个阶段,AI 会像那个总是问你“为什么要做这个功能”的资深同事一样,反过来拷问你:这个需求的边界是什么?有没有更简单的方案?是不是 YAGNI(You Aren’t Gonna Need It,你以后根本用不着它)?

这就像以前我们带新人,最怕那种拿到需求就敲键盘的,写出来的东西往往要推倒重来。反而是那些先在纸上画半天流程图、问一堆“傻问题”的新人,最后交出来的代码最稳。Superpowers 就是把这种“磨刀不误砍柴工”的工程素养,硬编码进了 AI 的工作流里。

强迫症式的 TDD:先写测试,没得商量

如果说“先思考”是理念,那强制 TDD(测试驱动开发)就是 Superpowers 的手术刀。

很多开发者嘴上喊着 TDD 好,身体却很诚实地先写实现再补测试——甚至不补测试。但在 Superpowers 的世界里,这根本不可能。它强制执行 Red-Green-Refactor 循环:先写测试,看着测试挂掉,再写代码让测试通过,最后重构。

这听起来很繁琐,但对于 AI 来说,这简直是救命稻草。AI 最擅长的是模式匹配和生成,最不擅长的是全局逻辑一致性。如果不给它一个测试用例做“锚点”,它很容易在几千行代码的生成过程中“精神分裂”,逻辑跑偏。

我试着用它重构了一个老旧的支付模块。以前用纯 Cursor,它会给我生成一堆看似华丽但无法验证的代码。而在 Superpowers 的工作流里,AI 先生成了几十个测试用例,覆盖了各种边界条件。看着那一排排红色的失败标记,我突然有一种安全感——因为我知道,只要这些红灯变绿,这事儿就成了。代码不再是黑盒,测试用例就是最好的文档和契约。

子代理:把大任务拆成小工单

Superpowers 另一个让人眼前一亮的设计是 子代理驱动开发

这就好比一个项目经理(主代理)拿到了一个模糊的需求:“优化用户登录体验”。他不会自己去写每一行代码,而是先拆解任务:前端改 UI,后端加缓存,数据库加索引。然后,他把这些子任务分发给不同的“专家”(子代理)去执行。

在技术实现上,Superpowers 会创建隔离的 Git Worktrees(工作区)。这意味着,修改登录逻辑的子代理和修改数据库的子代理,是在不同的文件分支上干活的,互不干扰。这完美解决了 AI 编程中常见的“改了一个 Bug,引入三个新 Bug”的混乱局面。

这种架构让 AI 编程从“单线程生成”变成了“多线程协作”。虽然实际上还是同一个模型在跑,但在逻辑上,它已经具备了初级架构师的雏形:知道拆分任务,知道隔离风险,知道分步验收。

支持全家桶,但灵魂在于流程

Superpowers 目前支持 Claude Code、Cursor、Codex、OpenCode、Gemini 等主流模型。这意味着你不必为了用它而换掉熟悉的编辑器或模型。它更像是一个“外挂”的思维方式,强行插入到你和模型之间。

但要注意,它不是银弹。如果你习惯了那种“一句话生成一个网页”的爽感,Superpowers 可能会让你觉得甚至有点“慢”。它会在你急着要代码时,逼着你先写计划;在你以为完工时,逼着你跑测试。

这种“慢”,恰恰是它 10 万 Star 背后的秘密。在 AI 编程的早期,我们追求的是速度和惊奇感;但当 AI 开始真正介入生产环境时,我们突然发现,不可控的速度就是灾难。Superpowers 牺牲了生成速度,换取了极高的可控性和工程质量。

写在最后

Superpowers 的爆火,标志着 AI 编程正在从“玩具时代”走向“工程时代”。它不再满足于炫技般的代码生成,而是开始严肃地对待软件工程的核心问题:如何保证质量?如何管理复杂度?如何让 AI 的产出真正可维护?

代码是排泄物,这话虽然难听,但如果你写过足够多的烂代码,就会承认这有多精准。AI 不缺生成代码的能力,缺的是像人类工程师一样思考的耐心。Superpowers 给了 AI 一套“慢下来”的枷锁,却意外地让它变得更像一个合格的程序员。

也许未来的顶级程序员,不再是那个能最快写出代码的人,而是那个最能设计好“AI 思考流程”的人。

你现在的 AI 编程工作流,是还在“喂饭”,还是已经开始教它“自己吃饭”了?欢迎在评论区聊聊你的踩坑经历。


本文首发于我的技术博客 AI Magician,同步更新于 Hashnode。如果你对 AI 编程、后端架构和云原生技术感兴趣,欢迎通过以上链接查看更多深度拆解和实战记录。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐