← 最新论文
🤖 AI

LibEvoBench: Probing Temporal Knowledge Stratification in Code Generation Models

本文介绍了 LibEvoBench,这是一个多任务基准测试,以及用于评估大语言模型处理演进中库 API 能力的软件演进理解分数(SEUS)指标,揭示了当前的模型在很大程度上是版本无关的,并且尽管有明确的版本说明,仍容易出现时代错置的错误。

原作者: Daniele Cipollone, Sergey Titov, Maliheh Izadi, Egor Bogomolov, Arie van Deursen

发布于 2026-06-25
📖 1 分钟阅读☕ 轻松阅读

原作者: Daniele Cipollone, Sergey Titov, Maliheh Izadi, Egor Bogomolov, Arie van Deursen

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

想象一下,你正在聘用一位才华横溢的新软件工程师,他读过关于“PyTorch”这一流行工具的所有书籍、手册和代码片段。他极其聪明,写代码的速度比任何人都快。

然而,这里有一个陷阱:他没有时间观念。

这正是 Daniele Cipollone 及其团队在论文 “LibEvoBench” 中研究的核心问题。他们发现,即使是当今最智能的 AI 编程助手,也像那位“对时间盲视”的工程师一样:它们难以知道应该使用哪个版本的软件库,经常把旧规则与新规则搞混。

以下是他们研究结果的详细拆解,使用了简单的类比。

1. 问题所在:“对时间盲视”的大厨

想象一下,一个库(比如 PyTorch 或 NumPy)就像一本厚重的食谱。每隔几个月,出版商就会发布一个新版本。

  • 旧版本: 说“加入盐调味即可。”
  • 新版本: 说“加入盐和胡椒,但仅在菜肴辛辣时才这样做。”

现实世界的软件项目就像是那些坚持使用旧版食谱的餐厅,因为更换整套菜单既昂贵又存在风险。

研究人员发现,目前的 AI 模型是在所有这些食谱混合而成的“奶昔”上进行训练的。它们缺乏一种机制来表达:“等等,这家特定的餐厅使用的是 2021 年的版本,所以我必须遵循 2021 年的规则。”相反,它们会根据最常见或最新的规则进行猜测,从而导致时代错乱的错误(anachronistic errors)——即使用了在旧版本中尚不存在的命令,或者忽略了已被移除的规则。

2. 解决方案:LibEvoBench(“时空旅行测试”)

为了证明这一点,团队构建了一个名为 LibEvoBench 的新测试。你可以把它看作是对 AI 大厨的一次严格考试。

  • 设置: 他们基于使用特定版本流行库(PyTorch、NumPy、SciPy)的真实项目,创建了数千个测试题。
  • 三项任务:
    1. API 调用: “这是一个写了一半的食谱。请填补缺失的配料。”(AI 能否针对这个特定版本选择正确的工具?)
    2. API 识别: “这是一个工具的描述。它的名字是什么?”(AI 能否在不看到代码的情况下识别出正确的工具?)
    3. 签名召回(Signature Recall): “这个工具的具体配料和用量是多少?”(AI 能否记住在不同版本之间发生变化的具体细节?)

3. 结果:AI 是“版本盲视”的

结果令人惊讶且具有一致性,涵盖了最智能的模型(如 GPT-4/5、Claude 和 Gemini):

  • “稳定型”与“演进型”的差距: 当 AI 被问及从未改变过的工具(稳定 API)时,表现出色。但当被问及在版本之间发生变化的工具(演进型 API)时,其表现显著下降。这就像 AI 很擅长用刀具烹饪,但很不擅长使用去年才推出的某种特定新奇小工具。
  • “版本标签”的幻觉: 研究人员尝试通过明确告知 AI“使用 2.0 版本”来提供帮助。但这完全没有效果。这就像告诉一个对时间盲视的人“现在是 1990 年”,但他仍然试图使用一部当时并不存在的智能手机。AI 看到了“版本 2.0”这个词,但它并不真正理解这个版本包含什么。
  • “手册”带来的提升: 然而,当研究人员将实际的文档(食谱)直接放在问题旁边时,AI 的表现提升了 10–20 个百分点。这证明 AI 可以 学习这些规则,前提是你把书递给它,但它并没有在自己的大脑中记住这些规则。

4. 新的评分标准:SEUS

团队创建了一个新的评分指标 SEUS(软件演进理解分数)。该评分不仅仅询问“答对了多少题?”,而是询问:

  • “模型是否对旧版本和新版本都得到了正确的回答?”
  • “它是否产生了混淆并弄混了不同的时代?”

使用这个评分标准,他们发现即使是最优秀的模型在很大程度上仍然是“版本盲视”的。它们很聪明,但缺乏导航随时间变化的软件所需的特定“时间意识”。

总结

论文结论指出,目前的 AI 编程模型就像是读过所有教科书却忘了记录出版日期的优秀学生。它们能写代码,但经常会在“过去”的项目中使用“未来”的功能,或者在“未来”的项目中使用“过去”的功能。

研究人员认为,要解决这个问题,我们不能仅仅让模型变得更大或更聪明;我们需要教会它们如何按时间来组织知识,这样它们才能准确知道哪些规则适用于哪个版本的软件。

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

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

试用 Digest →