Superpowers:Vibe Engineering 的第一站——让 Coding Agent 守点规矩

简介: Vibe Coding追求快速迭代,但易致设计缺失、测试不足、行为不稳;Superpowers提出Vibe Engineering新范式,通过14项强制“技能”(如设计评审、TDD、子代理审查等),将工程纪律固化为AI必遵流程,实现“能跑也敢上线”。

以Vibe Coding思路与 AI 一起“凭感觉写代码”,快速生成、快速迭代。原型开发的效率因此大幅提升,但问题也随之显现:跳过设计、缺少测试、行为不稳定、问题难追溯,难以保证工程质量。代码虽然能跑,却不敢上线。
那如何既保留 AI效率,又保证工程质量?业界提出一种新思路——Vibe Engineering:让 AI 不再随性编码,而是像工程师一样遵循设计评审、任务拆解、TDD 与代码审查等工程纪律。开源项目 Superpowers 正是这一理念的实践,它试图把工程最佳实践固化为 AI 必须执行的“技能”,让 AI 编程从“能跑就行”,走向“能跑也敢上线”。



01

Vibe Coding 怎么才敢上线?

Vibe Coding,由 OpenAI 联合创始人之一 Andrej Karpathy 在 2025 年 2 月提出,指开发者与 AI 一起随性编码,凭"感觉"快速迭代。这种模式在原型阶段效率极高,但在生产环境中,往往导致灾难。一份对 18 位 CTO 的调查显示,其中 16 位报告了由 AI 生成代码直接导致的生产事故。

主要面临如下核心问题

  • 无规划AI 直奔编码实现,跳过设计,埋下架构隐患(不过这一点随着 Spec Driven 的推行有很大的改善!)。

  • 无测试AI 倾向于乐观,缺乏对边缘情况的自我怀疑。

  • 不一致相同任务,产出不一,难以复现和维护。

  • 黑盒化过程不透明,出问题后调试如考古。

73bb6dfdbef0db03603a7753656cb65b.png

图 1:Vibe Coding “能跑但不敢上线”的焦虑

一个在 GitHub 三个月狂揽 71.3k Star 的开源项目 Superpowers 提出了一个不错的办法——强制 AI 遵循软件工程纪律。

02

Superpowers:让 Coding Agent 遵守工程纪律

Superpowers 不是代码生成器,而是一个强制将软件工程最佳实践注入 AI Agent 工作流的"方法论框架"。

该框架通过一系列被称为 "Skills"(技能) 的可执行模块,将设计、计划、TDD、审查等流程固化,AI 不得不遵循。

1773225569850_0446f49411e24a7b80b8ffb3c00ee4cf.png

图 2:Superpowers 核心工作流,在编码前建立强制性关卡

该框架内置 14 个核心技能,覆盖开发全生命周期:

类别

技能名称

核心功能

系统

using-superpowers

技能路由引擎,所有对话的入口

系统

writing-skills

创建新技能的系统技能

协作

brainstorming

苏格拉底式需求精炼,生成设计文档

协作

writing-plans

生成 2-5 分钟粒度的详细实施计划

协作

executing-plans

批量执行含人工检查点

协作

dispatching-parallel-agents

并发子代理工作流

协作

subagent-driven-development

子代理驱动开发,含两阶段 Code Review

协作

requesting-code-review

提交代码审查前的自查清单

协作

receiving-code-review

响应代码审查反馈的流程

测试

test-driven-development

强制 RED-GREEN-REFACTOR 循环

调试

systematic-debugging

4 阶段根因分析流程

调试

verification-before-completion

确认问题真正被修复

版本控制

using-git-worktrees

使用 Git Worktree 进行并行开发

版本控制

finishing-a-development-branch

合并或创建 PR 的决策工作流


03

五大设计启示如何驯服 AI



第一,Skills = 可执行的工程契约

Superpowers 将工程原则从"建议"升级为"强制"。brainstorming 技能中的 HARD-GATE 机制,在设计获批前,禁止 AI 写任何代码

<HARD-GATE>
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity.
</HARD-GATE>


1773225662055_fdfadee47fd4455fbc70a28fb50acf30.png

图 3:Superpowers 将工程最佳实践从“建议”升级为“可执行契约”

第二,Skill Engineering 优先于 Prompt Engineering

Superpowers 提倡 Skill Engineering,将高质量的工程实践沉淀为可复用的 Agent Skills SKILL.md 文件,而非依赖一次性的、难以复现的 Prompt。

维度

Prompt Engineering

Skill Engineering

核心产物

一次性的 Prompt 字符串

可复用的 SKILL.md 文件

复用性

低,强依赖上下文

高,跨项目、跨会话

知识沉淀

在个人脑中

在代码库中,可传承


第三,运用 "说服心理学"

Jesse Vincent 在博客中提到,他有意识地使用了心理学家 Robert Cialdini 的《影响力》原则,包括:权威承诺与一致性社会认同,后来发现这与一项学术研究不谋而合。该研究由 Dan Shapiro(Glowforge CEO)与 Cialdini 等人合著,证实了说服原则对 LLM 同样有效。

例如,利用权威(Authority)原则,在 using-superpowers 技能中设置不容置疑的指令:

<EXTREMELY-IMPORTANT>
If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.

IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.

This is not negotiable. This is not optional. You cannot rationalize your way out of this.
</EXTREMELY-IMPORTANT>


第四, Subagent 架构 = 职责分离

每个开发任务都派生一个全新的子代理(Subagent),并内部分为三个角色,形成微缩敏捷团队:

  1. 实现者(Implementer):按 TDD 编写代码。

  2. 规格审查员(Spec Reviewer):审查代码是否符合任务要求。

  3. 质量审查员(Code Quality Reviewer):审查代码的可读性、可维护性。

这种设计隔离了上下文,并实现了职责分离,确保了代码质量。

第五,TDD:给 AI 的"怀疑主义"安全网

AI 天生"乐观",TDD 则是强制它怀疑的外部机制。Superpowers 将 TDD 奉为铁律:先有失败的测试,再有生产代码。

1773225824463_c8d0fedbc57440debab45afe0adb63ec.png

图 4:Superpowers 强制执行的 RED-GREEN-REFACTOR 循环



04

实战:开发一个 weather-cli

场景:用 Go 开发一个命令行天气查询工具。

1. 首先,安装 Superpowers Skill

首先,在支持的平台(如 Claude Code)中安装 Superpowers 插件:


# 注册 Superpowers 插件市场
/plugin marketplace add obra/superpowers-marketplace

# 安装插件
/plugin install superpowers@superpowers-marketplace


重启会话后,每次对话开始时,AI 都会自动注入 Superpowers 的工作流。

2. Brainstorming (强制)

向 AI 提出需求:

用户:我们来构建一个 Go 语言的命令行天气查询工具 weather-cli。

此时,Superpowers 会立刻介入,brainstorming 技能被激活。AI 不会写一行代码,而是开始提问:

AI (Superpowers):好的,在开始之前,我们先来明确一下设计。为了确保我们构建的是正确的东西,我有几个问题(每次一个):我们从哪里获取天气数据?有推荐的 API 吗?还是我来找一个免费的?

用户:使用 Open-Meteo 的免费 API,不需要 API Key。

AI:明白了。输出格式是什么样的?纯文本,还是 JSON?

用户:纯文本,格式为 城市: 温度°C, 天气状况。

经过几轮问答,AI 将设计方案呈现给用户确认并保存为 docs/plans/2026-03-05-weather-cli-design.md


# Weather CLI Design Document

**Goal**: A command-line tool to query current weather by city name.

**Architecture**: 
- Use Open-Meteo Geocoding API to resolve city name to coordinates.
- Use Open-Meteo Weather API to fetch current weather data.
- Map weather codes to human-readable descriptions.

**Tech Stack**: Go 1.21, standard library only.

**Error Handling**: 
- City not found: "Error: city 'X' not found"
- API failure: "Error: failed to fetch weather data"


3. Writing Plans (任务分解)

设计批准后,writing-plans 技能启动。AI 将整个开发过程分解成具体的、小颗粒度的任务,每个任务都包含完整的代码示例和验证步骤:

# Weather CLI Implementation Plan

> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to
> implement this plan task-by-task.

**Goal:** CLI tool to query current weather by city name.
**Tech Stack:** Go 1.21, standard library

---

### Task 1: Project Setup

**Files:**
- Create: `weather-cli/go.mod`
- Create: `weather-cli/main.go`

**Step 1: Initialize Go module**
Run: `go mod init github.com/user/weather-cli`
Expected: go.mod created

**Step 2: Create empty main.go**
...

### Task 2: Implement Weather Fetching (TDD)

**Files:**
- Create: `weather-cli/weather/weather.go`
- Create: `weather-cli/weather/weather_test.go`

**Step 1: Write the failing test**

```go
// weather/weather_test.go
func TestGetWeather_Success(t *testing.T) {
    server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request ) {
        w.Write([]byte(`{
            "current_weather": {
                "temperature": 15.0,
                "weathercode": 3
            }
        }`))
    }))
    defer server.Close()

    temp, desc, err := GetWeather("Berlin", server.URL)

    if err != nil { t.Fatalf("unexpected error: %v", err) }
    if temp != 15.0 { t.Errorf("expected 15.0, got %.1f", temp) }
    if desc != "Partly cloudy" { t.Errorf("expected 'Partly cloudy', got '%s'", desc) }
}


然后经过一系列的交互之后,开始产出代码 ....

// weather/weather.go
package weather

import (
    "encoding/json"
    "net/http"
 )

var weatherCodes = map[int]string{
    0: "Clear sky", 1: "Mainly clear", 2: "Partly cloudy", 3: "Partly cloudy",
    // ... more codes
}
......

4. Subagent-Driven Development (TDD + Code Review)

当代码完成之后,AI 开始执行任务 2,再次经历以下循环:

  1. 实现者:编写失败的测试,然后编写最小实现让测试通过。
  2. 规格审查员:检查功能是否符合要求。✅ 通过。
  3. 质量审查员:发现缺少错误路径测试,硬编码等问题。❌ 不通过,打回修改。
  4. 实现者:修复问题,重新提交。
  5. 质量审查员:再次审查。✅ 通过。

任务 2 完成,进入下一任务。



05

从 Vibe Coding 到 Vibe Engineering



Superpowers 标志着人机协作的范式转移:从凭感觉的 Vibe Coding,走向严谨的 Vibe Engineering。

1773225898202_c2fc3fbbb4554479857cd8b1a720bfa1.png

图 5:Vibe Coding 与 Vibe Engineering 的核心差异

特征

Vibe Coding

Vibe Engineering

核心目标

快速获得能运行的代码

构建可维护的生产级软件

人类角色

提需求者

架构师,流程监督者

AI 角色

代码生成器

遵循纪律的初级工程师

质量保证

人工测试 + 祈祷

内置于流程的 TDD + Code Review

Vibe Coding 的本质是"让 AI 搞定",而 Vibe Engineering 的本质是"让 AI 按规矩搞定"。



06

行动建议



在 AI 时代,工程纪律非但没有过时,反而变得前所未有的重要。与其担忧被取代,不如主动进化:

  • 成为流程定义者:将团队的最佳实践"工具化"、"流程化",创建自己的 Skill。

  • 坚持代码审查:对 AI 生成的代码,抱着"有罪推定"的心态去审查。

  • 拥抱 TDD:先用测试定义"行为",再让 AI 填充"实现"。

  • 分而治之:将复杂任务分解,降低 AI 的处理难度。

人类工程师的角色,正从代码的"生产者",转变为开发流程的设计者、AI 团队的架构师、最终产品质量的守护者。这或许是人与 AI 协作的新形态。

(如果这篇文章对您所有帮助,请帮忙 关注 并 转发,谢谢!)

参考资料

[1] Karpathy, A. (2025, February 2). "There's a new kind of coding I call 'vibe coding'...". X (Twitter).

https://x.com/karpathy/status/1886192184808149383

[2] Final Round AI. (2025, August 15). What CTOs Really Think About Vibe Coding.

https://www.finalroundai.com/blog/what-ctos-think-about-vibe-coding

[3] Vincent, J. (2025-2026). obra/superpowers. GitHub.

https://github.com/obra/superpowers

[4] Vincent, J. (2025, October 9). Superpowers: How I'm using coding agents in October 2025. Massively Parallel Procrastination.

https://blog.fsck.com/2025/10/09/superpowers/

[5] Meincke, L., Shapiro, D., Duckworth, A., Mollick, E. R., & Cialdini, R. B. (2025). Call Me A Jerk: Persuading AI to Comply with Objectionable Requests. SSRN.

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5357179


目录
相关文章
|
3月前
|
人工智能 运维 前端开发
Claude Code 30k+ star官方插件,小白也能写专业级代码
Superpowers是Claude Code官方插件,由核心开发者Jesse打造,上线3个月获3万star。它集成brainstorming、TDD、系统化调试等专业开发流程,让AI写代码更规范高效。开源免费,安装简单,实测显著提升开发质量与效率,值得开发者尝试。
6473 5
|
2月前
|
人工智能 监控 API
Claude Code终于有仪表盘了:3条命令装个HUD,上下文用了多少一眼就知道
老金我最近用Claude Code,遇到一个特别烦的事。 写着写着,突然蹦出来一句"context window is getting full"。 然后AI就开始犯傻了——回答变短、逻辑变乱、之前说好的方案全忘了。 每次遇到这种情况,老金我都想骂人。 问题出在哪? Claude Code的终端界面,压根看不到上下文用了多少。 你只能输入 /context手动查,但谁写代码的时候
5374 7
|
23天前
|
人工智能 API 开发工具
【OpenClaw进阶保姆级教程】AI 编程效率翻倍!1分钟部署OpenClaw+集成Claude-Mem+Superpowers插件及避坑指南
AI编程助手的两大痛点始终困扰开发者:写代码时"转头就忘",跨会话重复踩坑;开发时缺乏工程思维,跳过设计、测试直接堆砌代码,最终产出一堆难以维护的"一次性代码"。2026年,Claude Code生态的两款神级插件——Claude-Mem(持久记忆插件)与Superpowers(工程化工作流插件),精准补上这两大短板,让AI编程助手从"好用"升级为"真正可靠的开发伙伴"。
1701 5
|
18天前
|
人工智能 IDE 前端开发
Claude Code 实战手册:从零搭建到真实项目落地的全过程复盘
最近花了一周时间深度体验了 Claude Code,坦白说,它刷新了我对 AI 编程工具的认知。这篇文章不是官方教程的搬运,而是我从环境搭建、插件配置到实际项目验证的完整记录,包括踩过的坑和一些冷静的思考。 市面上 AI 编程工具不少——Cursor、Copilot、Windsurf,各有拥趸。但 Claude Code 走了一条不同的路:它不是 IDE 插件,而是一个命令行原生的 AI 编程代理。 简单说,用 Copilot 像是带了个打字快的助手,而 Claude Code 更像是雇了个能独立干活的初级开发者。
2940 5