← 最新论文
💻 computer science

Do AI Models Dream of Faster Code? An Empirical Study on LLM-Proposed Performance Improvements in Real-World Software

该研究通过基于真实 Java 项目的 65 个性能关键任务及开发者编写的基准测试,发现尽管大语言模型在解决复杂工程问题上展现出潜力,但其生成的代码性能波动大且平均不及人类开发者,揭示了现有算法基准评估过于乐观,并指出模型在自主定位热点和优化算法方面存在局限,未来需转向具备运行时分析能力的智能体系统。

原作者: Lirong Yi, Gregory Gay, Philipp Leitner

发布于 2026-04-10
📖 1 分钟阅读☕ 轻松阅读

原作者: Lirong Yi, Gregory Gay, Philipp Leitner

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文就像是在给 AI 程序员做了一次“压力测试”,看看它们到底能不能像人类专家一样,把软件运行得更快。

我们可以把这项研究想象成招聘了一位超级聪明的“实习生”(AI 大模型),让他去优化一家大公司的“核心生产线”(真实的软件系统),看看他能不能比原来的“老工程师”(人类开发者)干得更好。

以下是这篇论文的通俗解读:

1. 背景:AI 会写代码,但会写“快”代码吗?

现在的 AI(比如 ChatGPT 等)写代码很厉害,以前大家觉得它们只要把功能实现就行。但现实是,软件不仅要“能用”,还要“跑得快”(比如处理数据更快、更省电)。
以前的测试就像让 AI 做“数学题”或“解谜游戏”(比如 LeetCode),AI 在这些题上表现很好。但这篇论文问了一个更现实的问题:如果给 AI 一个真正复杂的、正在运行的工业级软件,它能发现哪里慢,并修好吗?

2. 实验设计:真实的“考场”

为了回答这个问题,研究者没有用简单的练习题,而是搞了一个叫 PerfOpt 的“真实考场”:

  • 考题来源:从 4 个著名的开源 Java 项目(像 Kafka、Netty 这种大厂都在用的软件)里,找了 65 个真实的“性能优化案例”。
  • 标准答案:每个案例都有人类专家已经修好的版本,并且有专门的“秒表”(JMH 基准测试)来精确测量修之前和修之后到底快了多少。
  • 考生阵容:让 4 种不同的 AI 模型(包括 OpenAI 的、Google 的、DeepSeek 的)来尝试解决这些问题。

3. 核心发现:AI 的表现像“过山车”

研究结果非常有趣,可以用三个比喻来形容:

🎢 比喻一:AI 是“天才但情绪不稳定的实习生”

  • 有时候惊艳:在某些任务上,AI 确实能提出人类没想到的“骚操作”,甚至比人类修得还快。
  • 有时候搞砸:但在更多时候,AI 的表现非常不稳定。它可能会把原本跑得快的代码改得更慢(性能回退),甚至把系统搞崩。
  • 结论:虽然 AI 能修好大部分问题,但平均来说,它还是比不过人类专家。人类是稳扎稳打的专家,AI 是偶尔灵光一闪但经常翻车的天才。

🔍 比喻二:AI 是“没有听诊器的医生”

这是论文指出的最大痛点。

  • 人类医生:看到病人(软件)不舒服,会先听诊、拍片(性能分析/Profiling),找到病灶(热点),然后精准开刀。
  • AI 医生:它很擅长“开药”(写代码),但它不会自己“听诊”。如果你不告诉它哪里慢(不给提示),它就像个瞎猜的医生,可能给心脏病人开治感冒的药,虽然药是好的,但没治对地方,甚至可能有害。
  • 关键发现:只有当你明确告诉 AI“这里有个瓶颈,请优化它”时,它才能修好。如果只给它代码让它自己找问题,它往往找不到。

🧩 比喻三:AI 喜欢“把简单问题复杂化”

研究发现,AI 写的优化代码,往往比人类写的要更复杂

  • 人类:喜欢做减法,删掉几行废话,或者换个更聪明的算法,代码简洁优雅。
  • AI:喜欢做加法。它倾向于写一堆复杂的 if-else 判断和逻辑嵌套来解决问题。虽然逻辑上可能通了,但代码变得臃肿,反而可能拖慢速度。

4. 为什么以前的测试骗了我们?

以前的测试(比如让 AI 解数学题)就像是在游泳池里教游泳。AI 在游泳池里游得飞快,因为它没有风浪,也没有暗流。
但真实的软件世界是大海,有洋流(并发问题)、有暗礁(内存分配)、有天气变化(系统负载)。
这篇论文告诉我们:在游泳池里拿金牌的 AI,到了大海里可能连救生圈都抓不住。 我们之前对 AI 优化能力的评估太乐观了。

5. 未来怎么办?

既然 AI 还不能完全替代人类做性能优化,那它该干嘛?

  • 当好“副驾驶”:人类专家负责“诊断”(告诉 AI 哪里慢),AI 负责“开药”(写具体的优化代码)。
  • 未来的方向:不能只让 AI 盯着静态的代码看。未来的 AI 应该是一个智能代理(Agent),它能自己运行程序、看“体检报告”(性能分析数据),然后动态地调整代码。

总结

这篇论文就像给 AI 行业泼了一盆冷水,但也指明了方向:
AI 目前还无法独立成为“性能工程师”。它们很聪明,但缺乏对真实世界复杂系统的“直觉”和“诊断能力”。 在可预见的未来,最好的模式是人类负责“指路”,AI 负责“开车”,而不是让 AI 自己瞎开。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →