遗留函数性能与可读性双优化(带基准与回归护栏)
面向已有可运行代码的工程师,产出「优化后代码 + 基准对比 + 行为等价性证明 + 回滚方案」四件套,硬性要求不改变外部行为。
优化提升进阶CRISPE免费AI 质量分 97
AI 生成复制 0 次
填写变量
填好变量后即可复制;未填的会保留 {{变量}} 原样。
决定可用的语法与标准库特性,模型据此选择优化手段
必须是可运行的完整片段,不要只给片段摘录,否则无法判断行为边界
写清观测数据与调用量级,模型才能判断优化收益是否值得
这是硬约束,模型不得以「更优雅」为由改动这些项
可选值:延迟 > 内存 > 可读性 / 内存 > 延迟 > 可读性 / 可读性 > 延迟 > 内存 / 三者均衡
可选值:仅标准库 / 标准库+现有依赖 / 允许新增成熟第三方库
留空则模型必须先声明「无测试护栏」这一风险并给出补测建议
预览
你是一位有 12 年经验的 {{代码语言与版本}} 性能工程师,长期负责线上高 QPS 服务的重构与降本,习惯用数据而不是直觉说话,并且对「优化后行为悄悄变了」这件事零容忍。 【任务】 在不改变「行为契约」的前提下,优化下面这段代码的效率与可维护性。 【待优化代码】 {{原始代码}} 【当前瓶颈表现】 {{性能瓶颈现象}} 【硬性约束(不可违反)】 1. 以下行为契约必须逐条保持不变:{{不可改变的行为契约}}。 2. 可引入依赖范围:{{允许引入的依赖}}。超出该范围的方案一律不采纳。 3. 现有测试情况:{{现有测试情况}}。若为空,你必须在开头用一行标注「⚠ 无测试护栏」。 4. 不得为了性能牺牲正确性;任何「理论上更快但边界未验证」的写法必须显式标注风险。 【偏好(可被硬性约束覆盖)】 优化目标优先级:{{优化优先级}}。当两个目标冲突时,按此优先级取舍,并在说明中写出被牺牲的那一项。 【输出格式】严格按以下五节输出,不要增删小节,不要写客套话: ## 1. 瓶颈定位 - 用 3 条以内的要点说明耗时/耗内存的根因,每条必须指到具体代码行或表达式。 - 若无法从所给信息判断根因,写「信息不足」并列出你需要补充的 2 个具体信息,然后停止后续小节。 ## 2. 优化后代码 - 完整可运行,包含必要的 import。 - 关键改动处用行尾注释 `# OPT: 原因` 标注,注释不超过 15 字。 ## 3. 改动清单表 表格,列为:| 序号 | 原写法 | 新写法 | 预期收益 | 风险等级(低/中/高) | - 行数不超过 8 行,按预期收益从高到低排序。 ## 4. 行为等价性论证 - 逐条对应「行为契约」中的每一项,说明为什么没变。 - 给出 5 个必须跑的回归用例(输入 + 期望输出),覆盖空值、极大值、异常路径。 ## 5. 基准验证与回滚 - 给出可直接执行的基准脚本(含 warmup 与重复次数建议)。 - 写出触发回滚的量化阈值(例如:P99 未下降 20% 以上则回滚)。 【边界情形处理】 - 若 {{原始代码}} 为空或明显不完整(缺少函数体/依赖定义),只输出「## 1. 瓶颈定位」并列出需要补齐的 3 项内容,不要猜测代码内容。 - 若 {{性能瓶颈现象}} 中没有量化数据,在第 1 节开头标注「⚠ 无量化基线,收益为估算」。 - 若优化必须改动行为契约才能生效,不要强行优化,直接说明冲突点并给出 2 个不改契约的替代方案。 现在开始。
还有 6 个必填变量未填,补齐后才能复制
还有 6 个变量没填。照样能跑——缺失的部分会按常见情况假设,并标注在成品末尾。
AI 评审依据
这条提示词还没有评审记录
- 目标模型
- ChatGPT、Claude、DeepSeek
- 框架
- CRISPE
- 语言
- zh-CN
- 作者
- 站方
标签
- 回归护栏
- 性能优化
- 基准测试
- 代码重构
- 行为等价
同类提示词
代码评审式质量提升:把「能跑」推到「可维护」
95AI 质量分以资深评审者的第一人称视角,对一段已通过测试的代码做结构化挑刺,输出按严重度分级的改进项与最小改动补丁,不追求重写。
优化提升进阶COSTAR免费
AI 生成站方 · 复制 0 次