我在大厂实习后,发现 AI Coding 真正缺的不是模型,而是工程化能力 —— Superpowers 深度体验

10 阅读7分钟

最近半年,我几乎每天都在和 Cursor、Claude Code、Codex 等 AI 编程工具打交道。

一开始觉得 AI 简直是神,但用久了,在参与了一些复杂的全栈项目后,我发现了一个致命问题:

模型越来越聪明,但它的“工程能力”并没有同步提升。

  • 它能写代码,但不一定会先分析需求边界。
  • 它能改 Bug,但不一定能顺藤摸瓜找到真正的根因。
  • 它能生成测试,但经常是在代码写完后,象征性地补几个 TestCase 糊弄你。
  • 它能完成任务,但过程往往缺乏系统规划,导致代码越写越乱。

直到后来,我接触到了一个宝藏级开源项目:Superpowers。 (GitHub: obra/superpowers)

作为目前 AI Agent 领域极具潜力的硬核技能框架,它给了我极大的启发。体验一段时间后,我最大的感受是:Superpowers 不是在让 AI 变得更聪明,而是强迫 AI 像一个成熟的高级软件工程师一样去工作。

为什么 AI Coding 经常翻车?

先看一个真实的开发场景。

假设你对 AI 说:

“帮我实现一套后端的登录认证模块。”

大多数 AI 会立即开始疯狂输出代码,看起来效率极高:

JavaScript

const login = async (loginDto) => {
  const user = await validate(loginDto);
  return generateToken(user);
}

但实际上,这种“条件反射式”的开发在真实工程中会埋下无数隐患:

问题一:需求理解不足(上来就写)

AI 很少主动反问和确认业务细节:

  • 认证方式是单纯的 JWT 还是 Session?
  • 如果用 JWT,Access Token 和 Refresh Token 的双端刷新机制怎么设计?
  • 认证逻辑是否应该集中在 src/auth 模块?守卫(Guards)该怎么拦截?

于是生成的代码,往往在接入真实业务时需要大面积重构。

问题二:没有整体规划(边想边写)

很多 Agent 的思维模式是:接到任务 ➔ 开始写代码 ➔ 遇到报错 ➔ 推翻重写。

而不是正规的工程化流程:需求分析 ➔ 架构设计 ➔ 拆解任务 ➔ 实施开发 ➔ 测试验证。

问题三:测试意识薄弱(后置补录)

很多 AI 写测试的习惯是:代码全敲完,再补几个跑得通的测试。 但在真正的软件工程里,逻辑是相反的:先确定行为,编写测试,再实现功能确保验证通过。

Superpowers 是什么?

官方对它的定义是:Agentic Skills Framework(AI 编程代理技能框架)。

你可以这么理解:Cursor、Claude Code、Gemini CLI 这些工具,本质上是“脑力充沛”的 AI Agent。而 Superpowers,是一套可以“外挂”到这些 Agent 身上的工程化技能约束库

就像:VSCode + 优质插件 = 强大的 IDE 同样:AI Agent + Superpowers = 具备大厂工程化思维的开发助手

它将优秀的软件工程方法论,写成了 AI 必须强制阅读和遵守的 SKILL.md 文件。

Superpowers 的核心思想

项目作者提炼了四条原则,每一条都精准踩在了日常开发的痛点上:

1. Test-Driven Development (测试驱动开发)

核心理念:先写测试,再写代码。

  • 普通 Agent: 凭感觉实现一个高频页面的组件 ➔ 跑起来看一眼 ➔ 完工。
  • Superpowers 约束下: 编写组件测试(例如验证状态保留机制) ➔ 测试失败 (Red) ➔ 实现具体的 Keep-Alive 包装组件逻辑 ➔ 测试通过 (Green) ➔ 重构优化代码 (Refactor)。

这样交付出来的代码,需求明确,且行为100%可验证。

2. Systematic over Ad-hoc (系统化优于临时发挥)

很多 AI 就像一个“想一出是一出”的新手,而 Superpowers 强调:分析 ➔ 规划 ➔ 实施 ➔ 验证。 每一步都有明确的退出标准,绝对不会因为模型“感觉写对了”就宣布任务结束。

3. Complexity Reduction (降低复杂度)

遵循两条经典架构原则:

  • YAGNI (You Aren't Gonna Need It): 拒绝过度设计。很多 AI 喜欢在需求还没提的时候预留一堆没用的接口,Superpowers 会强迫 AI 只做当前需要的事。
  • DRY (Don't Repeat Yourself): 保持代码精简,降低长期的维护成本。

4. Evidence over Claims (证据优于声称)

  • 普通 Agent: “我已经修复了那个 Token 验证失效的 Bug。”(实际上根本没跑过)。
  • Superpowers 要求: 运行测试 ➔ 截图/收集结果验证 ➔ 确认真实通过 ➔ 才能宣布完成。结论必须建立在客观事实之上。

体验下来最实用的几大“超能力”

Brainstorming (需求分析与系统设计)

当你说:“帮我规划一个高仿语雀的知识库系统首页”。 它不会立刻去写 HTML/CSS。它会先进行技术评审:

  • 核心场景是什么?首屏加载速度怎么保障?
  • 对于这种高频页面,是否要引入 react-activation 之类的技术方案做缓存?
  • 目录结构怎么划分更合理?

Planning (任务规划)

它会把大需求拆解成极小颗粒度的执行计划。每一个 Task 都精确到具体的文件路径(比如 src/components/KeepAliveHome.tsx),保证开发过程不跑偏。

Systematic Debugging (系统化调试)

这是我最喜欢的功能!遇到报错时,它的流程极其接近大厂排查线上问题的思路: 收集报错信息 ➔ 定位问题可能范围 ➔ 验证技术假设 ➔ 确认根因 ➔ 执行修复。 告别了盲目猜测和无限循环的“尝试修改”。

Code Review (代码审查)

开发完成后,自动扮演 Reviewer 的角色,检查代码的可读性、性能瓶颈、安全性以及规范,相当于自带了一个不知疲倦的资深技术导师。

安装体验与适用人群

Superpowers 的安装门槛极低,目前完美兼容各类主流 CLI 和工具:

  • Claude Code 用户 :直接在终端执行 /plugin install superpowers@claude-plugins-official 即可。
  • Cursor 用户:在 Agent 对话框输入 /add-plugin superpowers,或者在 Cursor 插件市场中搜索"superpowers",找到并安装即可。
  • Codex 用户:桌面端的话可以直接和Cursor 一样在插件市场搜索"superpowers",找到并安装即可,cli的话向 Codex 发送以下指令:Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.codex/INSTALL.md

它最适合这几类开发者:

  1. AI Coding 重度用户:如果你每天的产出严重依赖大模型,安装它能大幅降低你的“返工率”。
  2. 独立开发者/全栈工程师:一个人做项目最容易放飞自我、缺少流程约束。它能帮你补齐规划、测试和 Review 的短板。
  3. 计算机专业学生/求职者:如果你想在校招面试中展现出远超同龄人的工程化思维(架构设计、TDD、系统化 Debug),跟着 Superpowers 的工作流走,本身就是一种极好的思维训练。

最后

在这段时间的实际业务开发过程,我必须说,Superpowers 将 AI 的能力与工程化标准完美结合,在真实的开发流中用起来实在太爽了。

因此我越来越觉得:决定项目最终交付质量的,不仅是模型本身的智商,更是“工程流程 + 工作方法 + 最佳实践”。

一个拥有优秀工作流约束的中等模型,在复杂项目中,往往比一个毫无纪律的顶级模型更可靠。

Superpowers 正在做的事,就是把软件工程师几十年的经验沉淀,变成 AI 听得懂的“纪律”。它不负责替你思考,它负责让 AI 学会正确地思考。

如果你也正在探索 AI Agent 的工程化落地,欢迎在评论区一起交流。作为一名正在大厂实习的在校生,我也在持续研究如何将这些前端和全栈工程化工具真正融入日常开发,而非仅仅把 AI 当作一个高级代码补全工具。如果对Superpowers感兴趣的朋友们真的可以安装一个体验体验,你将获得一次不一样的开发体验!

点赞、收藏是对优质掘金作者最大的鼓励!我们评论区见。