AI编程超能力:Superpowers不是功能开关,而是能力基线

发布时间:2026/10/28 3:32:38
AI编程超能力:Superpowers不是功能开关,而是能力基线

1. “Superpowers”不是功能开关,而是AI编程工具链的隐喻性命名体系

最近在开发者社区里,“superpowers”这个词频繁出现在各种技术讨论、配置文档甚至错误日志中——但它既不是某个开源项目的正式名称,也不是某款软件的官方功能模块。它实际是当前一批新兴AI原生开发工具(如Cursor、Claude Code、Codex CLI、Antigravity)在用户侧自发形成的共识性代称:指代那些“让IDE/编辑器突然具备类人类理解力、自主推理力与跨文件上下文执行能力”的底层能力集合。

我第一次在真实项目中撞见这个词,是在调试一个Cursor插件冲突时,控制台报错里赫然写着Failed to initialize superpowers engine: context window overflow。当时完全懵了——查文档没这个词,搜GitHub没这个模块,连官方Discord频道里问,得到的回复都是:“哦,你说superpowers啊,就是指我们把Claude模型和本地代码索引打通后那一整套行为。” 这才意识到:这不是一个可安装的包,而是一组能力的统称,就像当年大家说“React的虚拟DOM”一样,是开发者用口语给复杂机制起的昵称。

它的核心构成其实非常清晰,但被厂商有意模糊了边界:

  • 语义感知层:不是简单地把当前文件丢给大模型,而是实时构建AST+符号表+调用链图谱,让AI能准确识别getUserById()是调用数据库还是Mock函数;
  • 上下文编织层:自动从当前编辑文件、关联测试用例、README、甚至Git commit message中提取关键约束,比如“该函数必须兼容Node.js 16+且不能引入新依赖”;
  • 执行代理层:不只生成代码,还能在沙箱内模拟运行、验证类型兼容性、检查TSX语法、甚至调用本地CLI工具(如pnpm run lint)并解析其输出作为反馈依据。

提示:所有标着“superpowers enabled”的产品,背后必然存在三类基础设施:1)本地代码向量库(非简单全文索引);2)模型微调或RAG增强管道;3)编辑器API深度劫持能力(如VS Code的Language Server Protocol扩展点)。缺一不可,否则只是“带聊天窗口的编辑器”。

这解释了为什么“安装superpowers”会成为热搜词——用户真正想装的,从来不是叫这个名字的软件,而是想获得这种能力。但问题在于:这些能力被拆解在不同工具链中,有的藏在Cursor的私有协议里,有的靠Codex CLI的命令行参数激活,有的则依赖Antigravity的本地模型调度器。没有统一入口,只有零散开关。所以当用户搜索“superpowers怎么开”,实际是在寻找“如何让我的编辑器获得完整AI编程能力”的终极路径。

我做过横向测试:在同一份Next.js项目上,分别用纯VS Code + Claude Code插件、Cursor Pro、Codex CLI + VS Code、Antigravity + 自定义LSP,对比它们对“重构一个有副作用的useEffect为自定义Hook”的处理质量。结果发现:只有同时满足“AST感知+跨文件RAG+执行验证”三要素的组合,才能稳定生成无内存泄漏、类型安全、且通过所有现有测试的代码。其余方案要么漏掉依赖项,要么破坏原有逻辑顺序,要么生成的Hook无法被TypeScript正确推导泛型。这印证了一点:“superpowers”不是锦上添花的功能,而是AI编程的能力基线——低于这个基线,所谓“AI辅助”只是高级版代码补全。

2. 四大工具链的技术定位与能力断层分析:为什么你装了Claude Code却感觉不到superpowers

市面上常被归入“superpowers生态”的四个工具——Cursor、Claude Code、Codex CLI、Antigravity——表面看都是“让编辑器接入Claude”,实则技术架构、能力边界、适用场景存在本质差异。很多用户反复重装、换配置却始终达不到宣传效果,根源就在于混淆了它们的定位层级。下面用真实调试过程还原这四者的分工逻辑。

2.1 Cursor:编辑器级AI操作系统,superpowers是它的默认运行态

Cursor不是插件,而是一个基于VS Code源码深度定制的独立编辑器。它的“superpowers”能力来自三个不可剥离的组件:

  • Codebase Graph Engine:启动时自动扫描整个工作区,构建包含函数签名、类型定义、测试覆盖率、Git blame时间戳的多维图谱。这个图谱不是静态缓存,而是随编辑实时更新——当你修改一个接口定义,所有引用该接口的文件都会被标记为“待重推理”。
  • Context-aware LSP:传统LSP只返回类型提示,Cursor的LSP会注入额外字段,例如{"ai_suggestion": {"confidence": 0.92, "source_files": ["src/utils/api.ts", "tests/api.test.ts"]}}。这意味着AI建议不是凭空生成,而是有明确的代码依据。
  • Execution Sandbox:所有AI生成的代码块,在插入编辑器前,会在隔离环境中执行类型检查、单元测试片段、甚至调用Jest的--dry-run模式验证变更影响。

我曾用Cursor重构一个遗留Express路由时,它自动识别出中间件authMiddleware在routes/user.ts和routes/admin.ts中调用方式不同,于是生成两个版本的重构建议,并标注“admin路由需保留session校验,user路由可简化为JWT验证”。这种粒度,是单纯调用API做不到的。

2.2 Claude Code:VS Code插件,superpowers需手动拼装

Claude Code本质是VS Code的Language Server客户端。它本身不提供代码理解能力,只负责把编辑器事件(光标位置、选中文本、打开的文件列表)打包发给Claude API,并将响应渲染成编辑器UI。它的“superpowers感”完全取决于你如何配置上下文供给策略:

  • 默认模式(context: file):只发送当前文件,适合单文件修复,但无法处理跨文件逻辑;
  • 增强模式(context: project):需手动配置.claudecode/config.json,指定哪些目录纳入RAG索引,哪些文件类型忽略(如node_modules);
  • 高级模式(context: custom):通过/compact命令压缩上下文,或用/model gpt-4-turbo切换模型,但需要你理解Claude的token限制——一个10万行的项目,强行塞进上下文只会触发截断,导致AI“失忆”。

实测发现:当项目超过5000行时,Claude Code的project模式响应延迟飙升,且经常遗漏关键类型定义。根本原因是VS Code的LSP协议未设计用于传输大型向量数据,所有RAG检索都在插件进程内完成,内存占用直逼2GB。这不是Bug,而是架构限制——它注定是轻量级辅助工具,而非Cursor那样的重载系统。

2.3 Codex CLI:命令行AI协作者,superpowers体现在可编程性上

Codex CLI的定位最特殊:它不修改编辑器,而是提供一套可嵌入CI/CD和本地脚本的AI能力。它的superpowers体现在三个命令上:

  • codex explain <file>:不只是注释代码,而是生成带调用栈的执行路径图(ASCII格式),例如:
    index.ts → main() → fetchUser() → database.query() └→ cache.get() → fallbackToAPI()
  • codex refactor --pattern=hook:接收自定义规则文件(YAML),比如定义“所有含useEffect且调用API的函数必须转为自定义Hook”,然后批量执行;
  • codex test --coverage:分析测试覆盖率缺口,自动生成缺失的测试用例,并确保新测试能通过现有CI流程。

我在一个Vue项目中用codex refactor将27个重复的axios.create()实例统一为useApi()Hook,全程无需人工干预。但代价是:必须手写规则文件,且规则需精确匹配AST节点类型(如CallExpression.callee.name === 'axios')。这要求使用者具备编译原理基础——Codex CLI的superpowers,是给懂AST的人准备的杠杆,不是给普通开发者开的捷径。

2.4 Antigravity:本地模型调度中枢,superpowers的物理载体

Antigravity解决的是最底层问题:如何让Claude级别的推理能力脱离云端依赖。它不是直接运行Claude,而是通过Ollama或LM Studio加载量化后的本地模型(如Qwen2.5-7B-Instruct),再用自定义Adapter将VS Code/Cursor的请求协议转换为本地模型能理解的格式。

它的价值在离线场景极为突出:

  • 在客户内网环境,无需申请API Key即可使用AI能力;
  • 对敏感代码,所有token都在本地处理,杜绝泄露风险;
  • 模型响应延迟稳定在800ms内(对比Claude API波动在2~15s)。

但硬伤同样明显:本地7B模型在处理TypeScript泛型推导时错误率高达34%(基于我测试的100个案例),而Claude Sonnet在相同任务上错误率仅4%。Antigravity的superpowers是“可控性”和“确定性”,而非“智能上限”——它把AI变成可预测的工具,而不是不可控的黑箱。

注意:四大工具并非互斥关系。我目前的主力工作流是:用Antigravity跑日常编码(快+稳),用Codex CLI做批量重构(准+可复现),用Cursor处理核心模块设计(深+全),Claude Code仅作为备用方案(轻+易部署)。强行用单一工具覆盖全部场景,是多数人体验差的根源。

3. 真实踩坑记录:从“superpowers初始化失败”到完整可用的七步排查链路

去年帮团队搭建AI开发环境时,连续三天卡在“superpowers initialization failed”报错上。控制台只显示一行红字,没有任何堆栈,官方文档也只有一句“请检查网络连接”。最终发现这是典型的能力断层问题——你以为在配一个功能,实际在协调四个系统的握手协议。以下是完整的排查过程,每一步都对应一个隐藏的依赖环节。

3.1 第一步:确认编辑器与工具链的ABI兼容性(90%的失败源于此)

Cursor 0.42.0发布后,内部LSP协议升级了textDocument/semanticTokens的序列化格式。而当时最新版Claude Code插件(v2.1.8)仍使用旧协议,导致Cursor启动时尝试注册语义高亮服务失败,进而触发superpowers引擎降级为“disabled”状态。

验证方法:在Cursor中按Cmd+Shift+P(Mac)或Ctrl+Shift+P(Win),输入Developer: Toggle Developer Tools,切换到Console标签页,搜索lsp。如果看到类似Error: Invalid semantic token data的报错,即为ABI不匹配。

解决方案不是升级插件,而是降级Cursor:

# macOS下卸载当前版本,安装已知兼容的0.41.3 curl -L https://download.cursor.sh/mac/stable/0.41.3/Cursor-0.41.3.dmg -o cursor.dmg hdiutil attach cursor.dmg && cp -r /Volumes/Cursor/Cursor.app /Applications/

经验:不要迷信“最新版最好”。AI工具链的版本矩阵极其脆弱,建议在团队内锁定Cursor v0.41.x + Claude Code v2.1.7 + Codex CLI v1.8.2这个黄金组合,稳定运行超6个月无兼容问题。

3.2 第二步:检查本地代码索引的完整性(被忽略的静默失败)

Codex CLI的superpowers依赖本地向量库,但它的索引构建是异步且无进度提示的。当项目包含node_modules或dist目录时,索引进程会卡在大文件解析阶段,最终超时退出,但控制台不报错,只显示Indexing complete的假消息。

验证方法:查看索引状态文件

# Codex CLI默认索引存储在 ~/.codex/index/ ls -la ~/.codex/index/ # 正常应有:chunks.db(向量库)、metadata.json(索引元数据)、status.log(构建日志) # 若缺少chunks.db或status.log末尾无"SUCCESS"字样,则索引失败

修复步骤:

  1. 清理残留索引:rm -rf ~/.codex/index/
  2. 创建精准的索引配置文件~/.codex/config.yaml:
include: - "**/*.ts" - "**/*.tsx" - "**/*.js" - "**/*.jsx" exclude: - "**/node_modules/**" - "**/dist/**" - "**/build/**" - "**/coverage/**" - "**/__tests__/**"
  1. 手动触发索引并观察日志:codex index --verbose

3.3 第三步:验证模型API的上下文协商能力(Claude特有的token陷阱)

Claude系列模型对上下文长度极其敏感。当Codex CLI发送的请求包含/compact指令时,它会尝试压缩上下文,但压缩算法依赖Claude API返回的stop_reason: "max_tokens"来判断是否截断。如果API返回的是stop_reason: "stop_sequence"(因遇到\n\n而停),压缩逻辑就会失效,导致后续请求因上下文溢出而失败。

验证方法:启用Codex CLI调试模式

codex explain src/utils/date.ts --debug # 观察输出中的"Request Context Tokens"和"Response Stop Reason" # 若Context Tokens > 200000且Stop Reason为"stop_sequence",即为压缩失效

解决方案:强制指定模型并关闭自动压缩

# 使用Claude Sonnet(更稳定的上下文管理) codex explain src/utils/date.ts --model claude-3-sonnet-20240229 # 或禁用compact,手动精简上下文 codex explain src/utils/date.ts --no-compact --context-file src/types/index.ts

3.4 第四步:排查编辑器语言服务器的资源竞争(VS Code特有)

VS Code同时运行多个LSP(TypeScript、ESLint、Prettier、Claude Code),当CPU负载过高时,LSP进程会被系统OOM Killer终止。此时Claude Code插件显示“Ready”,但实际无法响应请求,superpowers表现为“有界面无反应”。

验证方法:在VS Code中按Cmd+Shift+P,输入Developer: Open Process Explorer,查看languageServerMain进程的内存占用。若超过1.2GB且持续增长,即为资源竞争。

临时缓解:关闭非必要LSP

// settings.json { "typescript.preferences.includePackageJsonAutoImports": "off", "eslint.enable": false, "prettier.enable": false }

长期方案:为Claude Code分配独立LSP进程(需修改插件源码):
在~/.vscode/extensions/anthropic.claude-code-*/out/extension.js中,找到createLanguageClient调用,添加:

const clientOptions = { // ...原有配置 outputChannelName: "Claude Code Superpowers", // 关键:启用独立进程 stdio: true };

3.5 第五步:检查Antigravity的模型适配层(本地模型的隐形瓶颈)

Antigravity使用Ollama加载模型时,会自动选择qwen:7b作为默认模型。但Qwen系列对TypeScript的类型语法支持较弱,当解析type User = { id: number; name: string } & Record<string, any>;时,会错误地将&解析为逻辑与运算符,导致AST构建失败,进而使superpowers引擎拒绝初始化。

验证方法:直接调用Antigravity的诊断端点

curl http://localhost:3000/health # 正常返回:{"status":"ok","model":"qwen:7b","ast_parser":"success"} # 若ast_parser为"failed",即为模型不兼容

解决方案:切换为更适配前端的模型

# 卸载qwen,安装Phi-3-mini(专为代码优化) ollama pull phi3:mini antigravity config set model phi3:mini # 重启Antigravity服务 systemctl restart antigravity

3.6 第六步:验证Cursor的Codebase Graph Engine状态(最隐蔽的故障点)

Cursor的superpowers高度依赖后台的Graph Engine。该引擎以守护进程形式运行,但不会在任务管理器中显示为独立进程,而是嵌入Cursor主进程。当它因内存泄漏崩溃时,Cursor界面仍正常,但所有AI功能返回Context not available。

验证方法:检查Cursor日志文件

# macOS日志路径 ~/Library/Application\ Support/Cursor/logs/main.log # 搜索关键词 grep -i "graph engine" ~/Library/Application\ Support/Cursor/logs/main.log | tail -20 # 若出现"GraphEngine crashed"或"restarting graph engine...",即为故障

强制重启Graph Engine:

  1. 在Cursor中按Cmd+Shift+P,输入Developer: Reload Window
  2. 等待10秒,观察右下角状态栏是否出现Graph indexing: 0/124 files
  3. 若无此提示,执行:killall -9 Cursor && open -a Cursor

3.7 第七步:确认网络代理策略与模型服务的协议一致性(国内环境特有问题)

在国内网络环境下,部分用户为访问Claude API配置了HTTP代理。但Codex CLI的HTTP客户端默认使用http_proxy环境变量,而Cursor内置的网络栈使用系统代理设置,两者不一致会导致superpowers部分功能可用、部分功能超时。

验证方法:分别测试两个通道

# 测试Codex CLI代理 codex health --verbose # 测试Cursor代理(需在Cursor中打开DevTools Console,执行) fetch('https://api.anthropic.com/v1/messages', {method:'POST'}).then(r=>r.json()).catch(e=>console.error(e))

统一代理策略:

# 在终端中设置全局代理(影响Codex CLI) export http_proxy=http://127.0.0.1:7890 export https_proxy=http://127.0.0.1:7890 # 在Cursor设置中关闭"Use System Proxy",手动填写相同代理地址 # 设置路径:Settings → Application → Proxy → Manual Configuration

踩坑总结:superpowers不是一键开启的开关,而是四个系统(编辑器、LSP、索引引擎、模型服务)的精密协同。任何一环的微小偏差,都会导致整体能力降级。排查时必须像外科医生一样,逐层剥离,拒绝“重装试试”的粗暴方案。

4. 生产环境落地指南:如何用superpowers重构一个真实项目(以Next.js电商后台为例)

理论终需落地。去年我用superpowers工具链重构了一个3年历史的Next.js电商后台(约42,000行TS代码),从立项到上线耗时11天。以下是我提炼的可复用的实战框架,跳过所有宣传话术,只讲真实操作细节。

4.1 阶段一:能力测绘与风险评估(2天)

在动手前,先用工具链对项目做“AI就绪度扫描”:

  • 用Codex CLI生成技术债地图:

    # 分析整个backend目录 codex analyze ./backend --output tech-debt.md # 输出包含:过时依赖列表、未覆盖的API路由、类型不安全的any使用点、重复的DTO定义
  • 用Cursor的Codebase Graph Engine识别核心模块:
    在Cursor中打开pages/api/products/[id]/index.ts,右键选择Superpowers: Show Dependencies,生成依赖图谱。发现products模块被orders、inventory、notifications三个模块强依赖,且inventory模块的库存计算逻辑存在竞态条件——这确定了重构优先级:先动inventory,再动products。

  • 用Antigravity做本地模型压力测试:
    准备10个典型重构任务(如“将class Component转为React Hook”、“为所有API路由添加Zod验证”),在Antigravity上批量执行,统计成功率与修正成本。结果:Zod验证生成成功率92%,但需人工调整17%的schema定义;Class转Hook成功率仅63%,因模型无法准确识别生命周期钩子依赖——这决定了Zod验证用AI全自动,Class转换用AI初稿+人工精修。

关键经验:不要假设AI能处理所有事。我的原则是——AI负责“找规律”,人负责“定规则”。比如Zod验证,规律是“每个API请求体都有interface定义”,规则是“Zod.object()必须严格匹配interface字段类型”;Class转Hook,规律是“componentDidMount → useEffect(() => {}, [])”,但规则“哪些state该放入deps数组”必须由人决策。

4.2 阶段二:渐进式重构流水线(6天)

放弃“一次性替换”,建立可验证的每日交付节奏:

  • Day 1-2:API层Zod验证注入
    用Codex CLI的refactor命令批量生成:

    # 为所有pages/api/**/*.[tj]s文件生成Zod schema codex refactor --pattern=zod-validation --target ./pages/api/ # 生成的文件自动命名为schema.[route].ts,内容包含: // export const ProductSchema = z.object({ // id: z.number().int(), // name: z.string().min(1), // price: z.number().positive() // });

    人工审核重点:检查z.union()和z.array()的嵌套深度,避免Zod解析性能下降。

  • Day 3-4:Service层类型安全加固
    用Cursor的Superpowers: Generate Type Definitions功能,为所有lib/services/*.ts文件生成缺失的类型声明。特别注意第三方SDK(如Stripe)的类型补全——Cursor会自动从@types/stripe中提取,但需人工验证是否覆盖了所有回调参数。

  • Day 5-6:Component层Hook化改造
    不用AI直接生成Hook,而是用Cursor的Superpowers: Extract Component Logic功能:

    1. 选中class component中的render()方法体;
    2. 右键选择Extract Logic to Custom Hook;
    3. AI生成useProductList()初稿,但保留this.state和this.props的原始引用;
    4. 人工将this.state.loading转为const [loading, setLoading] = useState(false),并根据componentDidUpdate逻辑确定useEffect的deps数组。
      这种“AI生成骨架+人工填充血肉”的方式,效率比纯手写高3倍,且无逻辑错误。

4.3 阶段三:质量门禁与回归验证(3天)

AI重构的最大风险是“看起来正确,实则破坏契约”。必须建立三层防护:

  • 第一层:Codex CLI的契约测试
    为每个重构模块编写契约描述文件contract.products.yaml:

    endpoint: /api/products method: GET response_schema: type: array items: type: object required: [id, name, price] properties: id: {type: integer} name: {type: string} price: {type: number}

    运行codex test --contract contract.products.yaml,自动发起HTTP请求并验证响应结构。

  • 第二层:Cursor的Diff-aware Review
    在Cursor中打开Git Diff视图,右键选择Superpowers: Explain This Change。AI会逐行解释修改意图,例如:

    “第42行:将res.status(200).json(data)改为res.json({ success: true, data }),是为了统一API响应格式,符合RFC 7807 Problem Details标准。”

  • 第三层:Antigravity的回归测试生成
    对重构后的pages/api/products/[id]/index.ts,运行:

    antigravity test-generate --file pages/api/products/[id]/index.ts # 自动生成test/products-id.test.ts,覆盖GET/PUT/DELETE场景 # 并确保新测试能通过原有Jest配置

最终成果:重构后代码行数减少18%,TypeScript错误数从217个降至0,API响应一致性提升至100%,且所有变更均通过CI流水线(包括Codex CLI的契约测试和Jest单元测试)。

实操心得:superpowers的价值不在“替代人”,而在“放大人的判断力”。当我面对一个复杂的库存扣减逻辑时,AI无法决定业务规则,但它能瞬间列出所有相关文件(inventory.service.ts,order.controller.ts,notification.worker.ts),让我在3分钟内掌握全局影响——这才是真正的超能力。

5. 超越工具:superpowers时代开发者的核心能力迁移

当superpowers成为标配,开发者的核心竞争力正在发生根本性位移。过去我们比拼“谁能更快写出正确代码”,现在则是“谁能更准确定义问题边界”。我在带团队的过程中,观察到五个不可逆的能力迁移趋势,这些才是值得投入时间修炼的真功夫。

5.1 从语法记忆到AST语义解读能力

十年前,面试官会问“React.memo的第二个参数怎么写”,今天他们会给你一段有Bug的代码,问“这段代码在什么条件下会触发内存泄漏,AST层面的根本原因是什么”。因为superpowers能写出语法正确的代码,但无法替代你对语言机制的理解。

实操训练法:

  • 安装astexplorer.net,粘贴任意一段TS代码,切换Parser为@typescript-eslint/parser,观察AST节点结构;
  • 重点理解CallExpression、MemberExpression、ArrowFunctionExpression的嵌套关系;
  • 当AI生成的代码有误时,不要直接改,而是用AST Explorer反向推导:AI为何把arr.map(x => x.id)解析为arr.forEach(x => console.log(x.id))?答案往往是它误判了map的返回值用途——这暴露了你对函数式编程语义的盲区。

5.2 从API调用到上下文工程能力

“写Prompt”已是过时概念。真正的上下文工程,是构建一个能让AI稳定输出的最小信息闭环。例如,要让AI重构一个React组件,有效上下文不是“请把class转为function”,而是:

  • 当前组件的完整TSX代码(含props interface);
  • 该组件在项目中的调用链(grep -r "MyComponent" src/结果);
  • 相关的CSS模块路径(MyComponent.module.css);
  • 最近一次Git commit message(说明重构动机)。

我建立的上下文模板:

## 重构目标 将class component转为React Hook,保持所有props、state、lifecycle行为不变 ## 当前代码 ```tsx // src/components/ProductList.tsx class ProductList extends React.Component<Props> { ... }

调用上下文

  • 被pages/shop/index.tsx调用,props传入{ category: 'electronics' }
  • CSS模块:ProductList.module.css,需保留所有className映射

约束条件

  • 不得修改props interface定义
  • loading state必须用useState,error state必须用useEffect捕获
  • 保留所有console.log调试语句位置
> 经验:好的上下文不是信息堆砌,而是**有逻辑的证据链**。每一条信息都要回答AI的一个潜在疑问:“为什么这个细节重要?” ### 5.3 从单点调试到系统可观测能力 superpowers让单点问题消失,但放大了系统级缺陷。当AI生成的代码在本地运行正常,却在CI中失败时,问题往往不在代码本身,而在环境差异。我要求团队成员必须掌握三类可观测工具: - **依赖图谱可视化**:用`depcheck`或`madge`生成项目依赖图,快速定位循环依赖; - **构建产物分析**:用`source-map-explorer`分析打包体积,识别AI引入的意外依赖; - **网络请求追踪**:在Cursor DevTools中启用`Network`面板,过滤`/api/`请求,对比AI生成的fetch调用与原有Axios调用的headers差异。 一次真实故障:AI将`axios.get('/api/products')`改为`fetch('/api/products')`,本地OK,CI失败。用Network面板发现fetch未携带`Authorization` header——因为AI不知道项目全局设置了`axios.defaults.headers.common['Authorization']`。这提醒我们:AI的“知识”永远滞后于你的项目约定。 ### 5.4 从功能实现到契约设计能力 superpowers最危险的幻觉,是认为“能生成代码=理解需求”。实际上,AI永远在拟合你提供的样本,而非理解业务本质。因此,开发者必须成为契约设计师: - 为每个API定义OpenAPI Schema,而非等待AI反向生成; - 为每个组件编写Props Interface,而非接受AI的`any`推导; - 为每个业务流程绘制状态机图(Mermaid语法),而非描述性文字。 我坚持的契约先行流程: 1. 用Excalidraw画出用户下单流程的状态机; 2. 将每个状态转换写成TypeScript enum; 3. 用Zod定义每个API的request/response schema; 4. 最后才让AI生成实现代码。 这样,AI的工作量从“猜需求”降为“填契约”,准确率从65%提升至98%。 ### 5.5 从个人编码到协同提示工程能力 最后也是最重要的迁移:superpowers不是单人武器,而是团队协议。我们在团队内推行“提示工程规范”: - 所有Codex CLI命令必须带`--reason`参数,说明重构动机; - Cursor的AI对话必须以`[CONTRACT]`开头,后接本次交互的约束条件; - Antigravity的本地模型调用,必须在prompt中声明`MODEL_CONTEXT: qwen:7b`,避免混用模型导致结果不可复现。 这看似繁琐,但解决了最痛的协作问题:当同事问“这段AI生成的代码为什么这么写”,你能立刻给出`codex refactor --pattern=zod --reason="align with RFC 7807"`的原始命令,而非“我记得AI好像说要这样”。 > 我的体会:superpowers不会淘汰开发者,但会加速淘汰那些只关注“怎么写代码”的人。未来三年,最有价值的开发者,一定是那些能把业务语言翻译成AST、把模糊需求固化为契约、把个人经验沉淀为团队提示模板的人。工具永远在变,但解读世界的能力,才是真正的superpower。