Hugging Face Blog

ScarfBench: Benchmarking AI Agents for Enterprise Java Framework Migration

6.9内容质量

TL;DR · AI 摘要

ScarfBench: Benchmarking AI Agents for Enterprise Java Framework Migration Back to Articles 0 -1 Enterprise Article Publ...

核心要点

  • 主题聚焦:ScarfBench: Benchmarking AI Agents for Enterpris
  • 来源:Hugging Face Blog,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#编程#后端#云计算#安全
打开原文

ScarfBench:评估AI代理在企业Java框架迁移中的基准测试

返回文章列表

[0

[-1

企业

]

文章

2026年6月30日发布

点赞

9

[

  • +3

Raju Pavuluri

rpavuluri

关注

ibm-research

Rahul Krishna

rkrsn

Srikanth Govindaraj Tamilselvam

stamilse

Bridget M

brmcg

Ashita Saxena

ashitasaxenaIBM

George Safta

george-safta

Advait Pavuluri

apavuluri

Michele Merler

mimerler

⭐ 在 GitHub 上星标 ScarfBench

现代化企业应用程序是组织进行的规模最大、成本最高的软件工程活动之一。团队通过跨框架迁移应用程序来提高可维护性、云就绪性、开发人员生产力以及对现代功能的访问。

编码代理的最新进展引发了人们对AI辅助现代化的极大兴趣。但一个重要问题仍然存在:

AI代理能否可靠地现代化真实世界的企业应用程序?

现有的软件工程基准测试在错误修复和代码生成方面取得了令人印象深刻的进展,但框架迁移提出了根本不同的挑战。成功不仅需要转换代码,还需要保持行为、调整构建系统并处理运行时依赖项。

为了解决这一差距,我们推出了ScarfBench(自包含应用程序重构基准测试),这是一个用于评估AI代理在企业Java跨框架迁移任务中的开放基准测试。

ScarfBench专注于以下三个主要Java生态系统之间的迁移:

  • Spring
  • Jakarta EE
  • Quarkus

与传统基准测试通过将生成的代码与参考实现进行比较不同,ScarfBench评估迁移后的应用程序是否能够实际构建、部署并保持行为。

为什么迁移如此困难

框架迁移远不止是替换注解。

一个简单的仓库迁移可能需要在依赖注入、持久化配置、查询和框架描述符等多个方面进行修改。这些部分中的任何小错误都可能导致部署失败。

图:Spring → Jakarta 迁移示例

框架迁移需要转换框架语义,而不仅仅是源代码。

介绍ScarfBench

ScarfBench提供了一种系统的方法来评估AI代理在企业Java框架迁移任务中的表现。

应用程序需要满足以下条件:

  • 成功构建。
  • 正确部署。
  • 通过行为验证。

这为现代化质量提供了更现实的衡量标准。

基准概览

指标

数值

应用程序

34

框架实现

102

迁移任务

204

代码行数

约151,000行

源代码和测试文件

约2,000个

专家编写的测试用例

1,331个

ScarfBench包含聚焦迁移任务和全应用迁移。

图:ScarfBench构建流程

从基于JSR的企业Java分类法开始,专家迁移在Spring、Jakarta EE和Quarkus中创建了经过验证的实现。

前沿代理表现如何?

我们在ScarfBench上评估了多个最先进的编码代理。

尽管在传统软件工程基准测试中表现出色,但框架迁移仍然具有挑战性。成功率在不同框架对之间差异显著,全应用迁移尤其困难。

图:当前排行榜

来源:

scarfbench.info/leaderboard

即使是最先进的当前代理,其行为成功率也低于10%,这说明了生成可编译代码与保持应用程序行为之间的差距。

图:编译 → 部署 → 测试流程

编译成功率始终高于部署成功率,而部署成功率又高于行为成功率。仅凭构建成功率会显著高估迁移质量。

图:按目标框架划分的迁移结果

迁移难度在很大程度上取决于目标框架,其中Jakarta EE尤其具有挑战性。

关于Java现代化AI代理的发现

除了衡量成功率外,ScarfBench还帮助我们理解代理在现代化过程中的行为方式。

代理能否可靠判断迁移何时完成?

只有当迁移后的应用程序确实能够构建和运行时,它才有实际价值。

因此我们将代理报告的结果与独立构建验证进行了对比。

#### 发现:代理存在过度自信现象

Claude Code在30个完整应用程序中报告了29个构建成功。

但实际上只有22个应用程序真正构建成功。

与此同时,代理标记为失败的单个应用程序最终构建成功。

这表明不应将代理的自我评估视为迁移完成的可靠信号。

独立的构建和测试验证仍然是必不可少的。

代理如何处理应用依赖关系?

框架迁移很少只影响单个文件或层级。

配置、服务、数据库和Web组件的变更通常会跨应用级联传播。

#### 发现:迁移是迭代而非线性过程

访问频率最高的层级包括:

  • 配置
  • Web
  • 数据库
  • 服务

常见的转换包括:

  • 配置 ↔ Web
  • 服务 ↔ 数据库

这表明迁移是一个迭代的依赖关系解决过程,而非简单的源到源转换。

代理主要将精力集中在哪些方面?

我们使用层级重访频率作为迁移工作量的代理指标。需要重复访问的层级通常涉及调试、依赖关系解决或框架适配。

#### 发现:配置主导迁移工作量

代理在解决框架差异和依赖问题时,反复返回到与配置相关的构件,而非按线性顺序推进。

哪些挑战与代码转换无关?

并非所有迁移问题都源于源代码。

#### 发现:环境和工具链至关重要

代理经常遇到环境问题,包括:

  • Docker缓存不一致
  • 端口连接问题
  • Maven包装器和构建工具问题

这些操作问题即使源代码迁移本身基本完成,也常常会延迟验证。

图:故障模式分布

现代化失败涉及构建系统、部署环境、依赖注入、数据库、端点、断言和基础设施等多个方面。

核心结论

框架现代化最大的挑战不是Java代码的转换。

而是管理配置、基础设施和运行时环境之间的依赖网络。

虽然前沿代理可以自动化迁移过程的大部分内容,但可靠的验证和架构推理仍然是实现成功结果的关键。

ScarfBench 帮助揭示这些挑战,并为真正实现自主化应用现代化提供了标准化的进展衡量方式。

探索 ScarfBench

ScarfBench 被设计为研究人员和从业者的开放资源。

资源包括:

  • 基准数据集
  • 评估基础设施
  • 公共排行榜
  • 文档
  • 开源代码

研究人员可以比较智能体架构和相关技术。从业者可以使用 ScarfBench 在生产环境部署前评估现代化解决方案。

官方网站

https://scarfbench.info

数据集

https://huggingface.co/datasets/ibm-research/ScarfBench

空间

https://huggingface.co/spaces/ibm-research/ScarfBench

GitHub 仓库

https://github.com/scarfbench/scarfbench

排行榜

https://scarfbench.info/leaderboard

论文

https://arxiv.org/abs/2605.06754

框架迁移仍然是人工智能辅助软件工程领域最大的未解难题之一。我们希望 ScarfBench 能帮助社区衡量进展,加速下一代人工智能辅助应用现代化的发展。

我们邀请研究人员、从业者和框架社区评估他们的智能体,贡献新的迁移场景,共同推动该领域技术进步。

本文提及的数据集 1

本文提及的空间 1

更多作者文章

使用 CUGA 构建真实智能体应用:基于轻量级框架的二十余个工作示例

36

2026年6月23日

超越大语言模型:为什么可扩展的企业级人工智能采用依赖于智能体逻辑

88

2026年6月1日

社区

编辑

预览

通过拖拽文本输入框、粘贴或

点击此处

上传图片、音频和视频。

轻点或粘贴此处上传图片

评论

· 注册或登录以发表评论