在 AI 辅助开发的实践中,我们常遇到这样的场景:AI 承诺已完成任务并经过测试,但实际结果却可能是一个崩溃的页面,或者它根本未执行测试,甚至擅自修改了不相关的代码。这暴露了当前 AI 编程最缺乏的核心要素——纪律性。
在 AI 编程编排工作流中,存在多种框架流派。如果说 GSD 框架倾向于“并行加速”,那么我们今天要深入探讨的 Superpowers 框架,则是一个典型的“流程纪律派”。它不追求代码产出的速度,而是强制 AI 严格遵循软件工程规范,如同给 AI 戴上“紧箍咒”,以铁血纪律逼出高质量代码。
!Superpowers 强调从需求到审查的连贯纪律 图示:Superpowers 强调从需求澄清、计划制定到严格执行、审查的连贯纪律。
什么是 Superpowers?
简单来说,Superpowers 是一套由 15 个 Markdown 格式的“技能(Skills)”文件组成的框架。当启动 AI(例如 Claude Code)并挂载 using-superpowers 入门技能时,AI 会被“洗脑”,强制遵循一套标准工作流。这个工作流涵盖了:
- 需求澄清
- 计划制定
- 测试驱动开发(TDD)
- 系统性调试
- 两阶段代码审查(PR Code Review)
这套框架最令人惊艳之处在于其“防范性”设计。框架的作者似乎深受 AI “坑害”之苦,因此在 AI 可能“找借口”的每一个环节,都设置了严厉的障碍。
核心亮点一:无 TDD,则删代码
AI 常常本末倒置:先写完代码,再补一个“总是通过的虚假测试”来敷衍了事。Superpowers 框架中的 test-driven-development 技能规则对此有明确规定:
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST.
Write code before the test? Delete it. Start over.
这意味着,如果 AI 先编写了生产环境代码,框架会要求它删除这些代码,并从编写一个失败的测试开始。这彻底堵死了 AI 的各种狡辩:
- AI 借口一:“这太简单了不用测。”
- Superpowers 回应: 不行,再简单的代码也可能出错。
- AI 借口二:“我已经手动测试过了。”
- Superpowers 回应: 不行,手动测试无法记录,也无法自动化重复运行。
- AI 借口三:“可是我删掉会浪费工作时间。”
- Superpowers 回应: 不行,这是沉没成本谬误,保留未经充分验证的代码才是真正的隐患。
更进一步,如果 AI 编写的测试一经运行就立即通过,框架会要求它反思:“你这个测试是不是测错了东西?”这种“字面合规,精神也合规”的强迫症式设计,正是治愈 AI 偷懒的良药。
核心亮点二:系统性调试(告别随机猜测)
当代码报错时,普通 AI 往往会随意尝试多种解决方案,陷入“随机调试鬼打墙”的困境。Superpowers 框架通过 systematic-debugging 技能,禁止这种行为,并制定了严格的四阶段调试机制:
- 根因调查: 仔细阅读错误信息,不限于表面。在边界条件处设置日志,确认变量变化,确保问题能够稳定重现。
- 模式分析: 对比现有代码库中正确的实现范例,寻找规律。
- 假设与测试: 提出调试假设,每次只修改一个地方进行验证。如果假设失败,立即提出新假设,避免在错误方向上继续投入。
- 实施修复: 在修复问题之前,首先编写一个能够重现该问题的测试用例。
如果经过三次修复尝试仍未解决问题,框架会要求 AI 停下来,重新审视架构是否存在根本性问题。
细节借鉴:条件等待 (Condition-based waiting)
在编写自动化测试的错误重现逻辑时,AI 经常习惯性地使用“等待 50 毫秒”之类的固定延时。然而,网络和服务器的延迟是不稳定的!
Superpowers 框架明确指导 AI:永远不要猜测需要等待多久。AI 必须通过轮询或等待特定条件真正出现来确保操作的正确性。这种针对 AI 常见错误的特化调教,是我们在学习该框架时值得借鉴的宝贵经验。
核心亮点三:两阶段审查(Two-Stage Review)
当一个小任务阶段完成时,Superpowers 定义了一个基于子代理(subagent-driven-development)的审查流程。这是一个非常有效的切分与协作点:
两阶段审查(顺序不可颠倒)
| 审查阶段 | 关注点 | 目标 | 核心原则 |
|---|---|---|---|
| 阶段一:规格符合性审查 | 是不是我们要的功能? | 确保没有多做(YAGNI),也没有少做。 | 先确认方向正确。 |
| 阶段二:代码质量审查 | 测试是否完善?代码是否整洁? | 在确认功能符合需求后,再提升代码质量。 | 方向正确后,再优化实现。 |
为什么这个顺序至关重要?因为我们最担心的是 AI 花费大量时间,重构出一段“超级优雅、无懈可击,但完全不符合需求”的代码。如果审查顺序颠倒,我们先投入精力审查代码质量,一旦发现功能不符,之前所有的努力都将付诸东流。
Superpowers 方法论的取舍
正如相关文章所提到的,Superpowers 的设计极具攻击性和强制力。然而,这同样是它的致命缺点:它会显著延长开发周期。
一个原本只需添加三行代码的任务,在 Superpowers 框架下,AI 可能需要经过提问、列计划、写测试、发起 PR、以及两次自我审查等多个环节。如果只是为了快速完成一个一次性的小脚本,使用这套框架可能会让人感到挫败。
然而,对于需要长期维护的大型核心系统,这种严格的纪律性将带来巨大的价值。它确保了代码的质量、可维护性和稳定性,从而降低了长期运营成本和风险。
总结与展望
我们已经分别了解了 GSD 框架如何通过协调器(Orchestrator)进行目标拆解以实现“横向扩展(并行化)”,以及 Superpowers 框架如何通过流程卡点来确保“纵向质量(深度)”。
在未来的工作流中,我们可以反思哪些步骤可以交由 AI 完成,并将 Superpowers 框架中的这些限制和纪律融入到 System Prompt 中。通过合理地结合不同框架的优势,我们可以更好地驾驭 AI,使其成为我们提升开发效率和代码质量的强大助力。
👉 如果你需要 ChatGPT 代充 / Claude / Claude Code / 镜像 / 中转 API:
- 购买 / 了解更多:ai4.plus
- 备用入口:kk4099.com