SuperAPI AI 工具集

optimize

编程与开发

查看项目

更新于 10-16 02:16

技能介绍

用途

Optimize 用于让已经存在的应用变得更快、更精简,核心是减少浪费、提升效率。它明确区分了不同技能的职责:构建功能用 build,修复缺陷用 debug,监控生产性能用 monitor,数据库模式设计用 database,而本技能专注于优化已有实现。

该技能反复强调一条原则:只有在拥有真实用户和真实问题之后才进行优化,过早优化是创始人时间最常见的浪费。

何时优化与何时不优化

不建议优化的情形:正在构建 MVP、活跃用户少于约 100 人、一切运行正常、尚未测量出问题。

建议优化的情形:用户抱怨变慢(速度)、出现包体积警告或安全告警(依赖)、应用明显比上线时慢(速度/数据库)、为不需要的托管付费(速度/数据库)。

其规则是:先让它能用 → 获取用户 → 测量 → 然后再让它精简。

优先级顺序

当多项工作需要处理时,按以下顺序:

  1. 速度——用户能立即感知,慢即流失。
  2. 依赖——安全漏洞紧急,包体积膨胀影响速度。
  3. 数据库——影响长期性能与托管成本。
  4. 代码——影响可维护性,对用户影响最低。

主要能力

速度优化

目标指标:页面加载良好为小于 3 秒、差为大于 5 秒;API 响应良好为小于 500 毫秒、差为大于 1 秒;可交互时间良好为小于 5 秒、差为大于 8 秒。

流程分三步:测量、修复、预防。测量阶段,Claude Code 可直接审计应用性能,测量三个最重要页面的加载时间、记录五个最常用端点的 API 响应时间、识别最慢的数据库查询、检查总包体积,并报告具体数字。Lovable / Replit / Cursor 需先手动测量:在 Chrome 中打开应用,右键检查,进入 Network 标签页并刷新,记录底部的 Load 时间;点击调用 API 的按钮,记录请求时间;然后把数据粘贴进对话。

修复阶段按顺序应用:为慢 API 调用添加缓存、为慢查询添加数据库索引、优化并懒加载图片、对大型包进行代码分割,每次修复后运行构建与测试。

预防阶段添加性能监控:记录超过 500 毫秒的 API 调用、超过 100 毫秒的数据库查询,页面加载超过 3 秒时告警。

依赖优化

这是任何阶段都最相关的优化,甚至可在上线前进行。需要它的信号包括:运行 npm install 时出现安全漏洞警告、包体积超过 500KB、出现“这个包是做什么的”疑问。

审计内容:列出代码中未被导入的包、列出有安全漏洞的包、按包分析包体积、寻找更轻量的替代包,并报告包名、体积影响和建议。

修复步骤:从 package.json 移除未使用的包、更新有安全漏洞的包、用更轻量的替代包替换重型包;之后删除 node_modules、重新 npm install、运行构建与测试。

常见替换:moment.js 换成 date-fns 或 dayjs;完整版 lodash 换成可摇树优化的 lodash-es;axios 换成内置的 fetch。

预防措施:将 npm audit 加入 CI 流水线,配置 Dependabot 自动进行安全更新。

数据库优化

在真实使用数月后、查询变慢或托管成本上升时重要。信号包括:原本快速的页面变慢、数据库托管成本上升、负载下查询超时。

审计与修复:查找频繁查询列上缺失的索引、查找慢查询(超过 100 毫秒)、查找孤儿记录(外键指向已删除行)、查找近期无读写的表。对应修复:为慢查询添加索引、为依赖记录设置 ON DELETE CASCADE、为孤儿记录或软删除记录(超过 90 天)创建清理任务。进行模式变更前务必备份。

代码清理

在代码库经 AI 辅助迭代大幅增长后重要,多轮“构建功能、重建功能”会留下死代码。信号包括:不认识的文件、任何地方都未使用的组件、“我不敢删这个”。

审计与修复:查找未被任何地方导入的组件、从未被调用的函数、被注释掉的代码块;对每一项先确认无引用再移除。对于重复或相似代码,使用 dry 技能,它覆盖 UI、数据库和逻辑层面的去重。清理后运行构建与测试。安全规则:不确定时先注释掉并测试,确认无破坏后再删除。

使用方式

该技能以提示词模板形式驱动 AI 编程工具执行任务。用户可将审计发现粘贴进对话,要求 AI 按指定顺序应用修复,并在每次修复后运行构建与测试。技能还引用了 PERFORMANCE-CHECKS.md 和 DEPENDENCIES.md 作为详细测试方法与模式的参考。

适用场景

适用于已有真实用户、出现性能或成本问题的应用;也适用于上线前清理依赖安全漏洞。不适用于 MVP 构建阶段或用户量极少、尚未测量出问题的阶段。

限制与注意事项

常见错误包括:未测量就优化(应先审计)、在 MVP 阶段优化(应先发布)、一次性更新所有包(应逐个更新并测试)、未验证就删除代码(应先检查导入与引用)、在生产环境直接删除数据库列(应先在预发布环境测试迁移)。

成功标准:页面加载小于 3 秒、依赖零安全漏洞、无明显未使用包、数据库查询响应小于 100 毫秒、自动化检查能捕获未来的性能回退。

相关技能

monitor 用于优化后跟踪生产性能;debug 用于修复损坏的东西(optimize 修复慢的东西);deploy 的托管配置影响性能;database 负责模式设计与查询优化;dry 用于发现并消除 UI、数据库和逻辑中的代码重复;build 负责功能开发(构建后优化,而非构建中优化)。