性能优化 Prompt:14 个真正能拿到提速的模板

14 个先测量后动手的性能 Prompt,配合 AI 编码工具用:LCP / INP / CLS / N+1 / TTFB / 包体积 / 缓存逐个修、Web Vitals 前后对比、微优化检测,并附 2026 年 6 月最新的 Core Web Vitals 阈值。

性能优化最常见的失败长得都一样:一周花在抠 5ms 的后端,前端却有 3 秒 render-blocking CSS 没人动;或者加了三层缓存却不写失效,最后上线的不是”更快”而是”数据 stale”。下面这套 Prompt 强制反过来——先测量、点名最影响用户的瓶颈、再用最小改动去推那一个指标。这一版新增了 INP 题(Interaction to Next Paint 已于 2024 年 3 月取代 First Input Delay,成为 Core Web Vitals 之一,也是截至 2026 年 6 月最难达标的一项)、一道前后对比题用来把”装作没事”的回退抓出来,以及一个对最近 5 个性能 PR 的微优化检测题,专门挑”加了复杂度但没有度量收益”的那种。性能问题其实是正确性 bug 时,配合 Bug 审计 Prompt 一起用。

一句话总结

  • 把真实数据(Lighthouse、PageSpeed 的字段数据、APM trace、慢查询日志)粘进 Prompt——绝不要让模型只看代码描述去猜瓶颈。
  • 按 Google 真正打分的字段阈值优化,统计口径是真实访问的第 75 百分位:LCP 低于 2.5s、INP 低于 200ms、CLS 低于 0.1(见下表)。
  • 分析本身值得上推理模型:Claude Opus 4.7 或 GPT-5.5(Thinking)处理长 trace 和 EXPLAIN 计划,远胜快速/Instant 档。
  • 大多数团队漏掉、却最值钱的两道:INP 修复(第 3 条)和微优化检测(第 14 条)。

Core Web Vitals 阈值(2026 年 6 月)

Google 的过/不过看的是 Chrome 用户体验报告(CrUX)滚动 28 天的字段数据,统计口径是第 75 百分位——不是你本地的 Lighthouse 跑分。只有当 75% 的真实访问里三项指标都落在”良好”区间,这个 URL 才算通过。

指标良好需改进衡量什么
LCP(最大内容绘制)≤ 2.5s2.5–4.0s> 4.0s加载:最大元素何时渲染出来
INP(交互到下一次绘制)≤ 200ms200–500ms> 500ms响应:最差一次交互的延迟
CLS(累积布局偏移)≤ 0.10.1–0.25> 0.25视觉稳定:意外的布局移动

INP 在 2024 年 3 月取代了 FID,截至 2026 年 6 月是三项里最难达标的一项——约 43% 的统计来源仍然过不了 200ms 这条线。Lighthouse 实验室里仍会报 Total Blocking Time(TBT)作为代理指标;把 TBT 当调试线索看,把 INP 字段数据当真正算分的那个。

这套 Prompt 适合用在哪

  • 前端性能审计(LCP / INP / CLS)
  • 后端延迟优化(TTFB)
  • 数据库查询调优
  • bundle 体积减小
  • 内存泄漏排查

1. 瓶颈识别

下面是我的性能数据([Lighthouse / PageSpeed 字段数据 / APM trace / 慢查询日志])。
请定位 top 3 瓶颈。每条:发生在哪、对用户的影响估计、最小修复、修复的副作用。
按"对用户的可见影响"排序,而不是按修起来多容易。

[粘贴数据]

2. LCP 优化

我的 LCP 在第 75 百分位是 [X] 秒;"良好"阈值是 2.5s。
下面是 HTML head、critical CSS,以及首屏主图的加载代码。
请诊断:(a) LCP 元素是什么;(b) 谁阻塞它渲染(render-blocking CSS/JS、图片发现得太晚、TTFB 慢);
(c) 压到 2.5s 以内的最小改动集。可考虑给 LCP 图加 fetchpriority="high" 和 preload——但每页只给一个。

[粘贴]

3. INP 修复

我的 INP 在第 75 百分位是 [X]ms;"良好"阈值是 200ms。
下面是最慢那次交互的事件处理函数,外加一段 performance 面板 trace。
请把延迟拆成输入延迟、处理时间、呈现延迟三段,然后告诉我:
(a) 哪个 long task 在阻塞主线程;(b) 哪些可以延后、让出(yield)或挪到 web worker;
(c) 这次交互里哪些是没必要的重渲染。

[粘贴]

4. CLS 修复

我的 CLS = [X];"良好"阈值是 0.1。下面是首屏 HTML 与 CSS。
请找出抖动元素,点名原因(图片/iframe 没写 width+height、字体替换、广告/横幅后注入、
在已有内容上方插内容),并给出"提前占位"的修复方案。

[粘贴]

5. 慢查询识别

下面是慢查询日志 + EXPLAIN (ANALYZE) 计划。逐条 top 5:
(a) 为什么慢(顺序扫描、join 顺序差、缺索引、在索引列上套函数);
(b) 具体缺什么索引或怎么重写查询;(c) 预期提升;
(d) 修复风险(写放大、索引膨胀、执行计划不稳定)。

[粘贴]

6. N+1 查询识别

下面是单次请求的 ORM 查询日志。请找 N+1:哪个循环触发多少子查询、应 eager-load 什么、
可批量化什么。用 [Prisma / ActiveRecord / SQLAlchemy / Django ORM] 语法给修复,并给出预期的查询条数减少量。

[粘贴]

7. JS bundle 减重

下面是 [webpack-bundle-analyzer / vite-bundle-visualizer] 的输出。列 top 5 体积大户:
(a) 是否 tree-shakable;(b) 是否有更轻的替代(点名);(c) 是否能用动态 import 懒加载;
(d) 预估省的 kB(gzip 后)。

[粘贴]

8. 阻塞资源修复

我的页面有 [N] 个 render-blocking 资源。下面是 HTML head。请提议:
(a) 哪些 CSS 内联为 critical;(b) 哪些脚本 defer 或 async;(c) 哪些字体/资源 preload;
(d) 哪些删除。说明顺序原因,以及对 LCP/INP 的影响。

[粘贴]

9. 服务端响应时间(TTFB)优化

我的 TTFB = [X]ms,目标低于 [Y]ms。下面是后端 handler。请走一遍:
(a) 首字节前做了什么;(b) 哪些可并行或移出关键路径(后台任务、队列);
(c) 在哪一层缓存什么。

[粘贴 handler]

10. 内存泄漏定位

我的 [Node / 浏览器] 应用内存持续增长。下面是 heap 快照 / profiler。请识别泄漏:
(a) 什么被持有;(b) 为什么持有(闭包、游离 DOM 节点、无上限缓存、没移除的事件监听器);
(c) 该修的具体那一行。

[粘贴]

11. 缓存策略设计

我的 [端点 / 页面] 有 [N] req/s。下面是响应形状 + 可缓存约束。
请跨 edge/CDN、应用、DB 各层设计缓存策略,明确写出失效触发条件和一个现实的命中率目标。
标出绝对不能缓存的数据(按用户、带鉴权、实时)。

[粘贴]

12. 图片优化审计

下面是页面上 10 张图的当前尺寸、格式、渲染显示宽度。每张给:
(a) 目标格式(AVIF 优先,WebP 兜底,JPEG 作 src);(b) 目标宽度与 srcset/sizes;
(c) 加载策略(LCP 图用 eager + fetchpriority="high",首屏以下用 lazy);(d) 预估省的字节。

[粘贴]

13. Web Vitals 前后对比

下面是改动前 Web Vitals([粘贴])与改动后([粘贴]),都取第 75 百分位。请告诉我:
(a) 真正变好的是什么;(b) 反而变差的;(c) 哪些只是 CrUX 正常波动(噪声)、哪些是真信号;
(d) 上线 vs 回滚。

14. 微优化检测

下面是我最近的性能 PR([粘贴 5 个])。逐个问:(a) 有没有改前/改后度量;
(b) 瓶颈是真实存在还是假设的;(c) 用户可见的实际收益;
(d) 哪些应被回滚为"加复杂度没收益"。对那些一个数字都没附的,下手狠一点。

这些题该用哪个模型跑

  • 长 trace、EXPLAIN 计划、多文件 bundle 输出: Claude Opus 4.7 或 GPT-5.5 的 Thinking 模式。两者都带 1M token 上下文(Opus 标配;ChatGPT 应用内完整 1M 是 $200 Pro 档),整份慢查询日志可以直接粘进去不被截断。
  • 在编辑器里、对着真实仓库: 用 Cursor 或 Claude Code(见 Claude Code 执行 Prompt),让模型看到真实的 handler 和配置,而不是转述。
  • 快速判断”这是不是瓶颈”: 快速档(GPT-5.5 Instant、Claude Sonnet 4.6)够用——但别让它凭空造瓶颈,先粘数据。

容易踩的坑

  • 不测量就优化——猜瓶颈最浪费 sprint。
  • 拿 Lighthouse 实验室分数给自己打分,而 Google 算的是 CrUX 字段数据、28 天、第 75 百分位。
  • 因为老习惯只盯 FID 而忽略 INP;截至 2026 年 6 月,INP 是最难达标的 Core Web Vital。
  • 抠 5ms 后端,3 秒 render-blocking 前端没人动。
  • 加缓存不写失效,最后上线的是”数据 stale” bug,不是性能修复。
  • 把首屏的 LCP 图片做成懒加载,LCP 反而变差。
  • 没改前/改后度量,“性能工作”就只能停留在故事层面,没法证明。

常见问题

现在的 Core Web Vitals 阈值是多少? 取真实访问第 75 百分位:LCP ≤ 2.5s、INP ≤ 200ms、CLS ≤ 0.1。三项都落在”良好”区间,这个 URL 才算通过。这是截至 2026 年 6 月 Google 公布的字段阈值。

为什么现在有 INP 题、却没有 FID 题? INP(Interaction to Next Paint)在 2024 年 3 月 12 日取代 First Input Delay 成为 Core Web Vital。INP 衡量的是一次访问里所有交互的延迟,不只是第一次输入,而且它是多数网站至今仍过不了的那一项。

Lighthouse 显示 95,但 Search Console 说我不达标——哪个对? Search Console。Lighthouse 是单台设备上的实验室模拟;Google 的过/不过用的是真实 Chrome 用户的 CrUX 字段数据,第 75 百分位、滚动 28 天。Lighthouse 用来调试,字段数据用来打分。

该往这些 Prompt 里粘代码还是粘数据? 永远先粘数据。性能讲的是真实用户量到的东西,所以让模型推一份 Lighthouse 报告、一段 APM trace 或慢查询日志,才能给出有依据的答案;让它推一段代码描述,那就是在猜。

哪个 AI 模型最适合处理长性能 trace? 带大上下文的推理档:Claude Opus 4.7 或 GPT-5.5(Thinking)。两者都支持 1M token 上下文,整份慢查询日志或 bundle 报告塞进去也不会被截断。

相关阅读

标签: #Prompt #AI 编程 #AI 编程