AI News HubLIVE
站内改写3 分钟阅读

ScarfBench:面向企业Java框架迁移的AI智能体基准测试

IBM Research推出ScarfBench,这是一个用于评估AI智能体在企业Java中跨框架迁移任务的开源基准。该基准包含34个应用程序、102个框架实现和204个迁移任务。目前顶尖智能体的行为成功率低于10%,突显了在迁移过程中保持行为的难度。

企业应用现代化是组织面临的最大、最昂贵的软件工程活动之一。团队通过跨框架迁移应用来提高可维护性、云就绪性、开发人员生产力以及对现代功能的访问。近年来,编码智能体的进步激发了人们对AI辅助现代化的兴趣,但一个重要问题依然存在:AI智能体能否可靠地现代化真实世界的企业应用?

现有的软件工程基准在错误修复和代码生成方面取得了令人瞩目的进展,但框架迁移提出了根本不同的挑战。成功不仅需要翻译代码,还需要保持行为、调整构建系统以及处理运行时依赖。为了填补这一空白,IBM Research推出了ScarfBench(自包含应用重构基准),这是一个用于评估AI智能体在企业Java中跨框架迁移任务的开源基准。

ScarfBench专注于三大Java生态系统的迁移:Spring、Jakarta EE和Quarkus。与传统基准不同,ScarfBench不将生成的代码与参考实现进行比较,而是评估迁移后的应用是否真正构建、部署并保持行为。

框架迁移远不止替换注解那么简单。简单的仓库迁移可能需要更改依赖注入、持久化配置、查询和框架描述符。这些部分的任何小错误都可能导致部署失败。ScarfBench提供了系统性的评估方法。应用必须成功构建、正确部署并通过行为验证,这提供了更现实的现代化质量衡量标准。

基准概览:34个应用,102个框架实现,204个迁移任务,约15.1万行代码,约2000个源文件和测试文件,1331个专家编写的测试。ScarfBench包括聚焦的迁移任务和全应用迁移。

我们评估了多个最先进的编码智能体。尽管在传统软件工程基准上表现强劲,但框架迁移仍然困难。成功率在不同框架对之间差异很大,全应用迁移尤其具有挑战性。即使最强的当前智能体,行为成功率也低于10%,这说明了生成可编译代码与保持应用行为之间的差距。编译成功始终高于部署成功,而部署成功又高于行为成功。仅凭构建成功会大大高估迁移质量。迁移难度很大程度上取决于目标框架,Jakarta EE尤其具有挑战性。

除了测量成功率,ScarfBench还帮助我们理解智能体在现代化过程中的行为。我们发现智能体过度自信:Claude Code报告了30个全应用中有29个构建成功,但实际上只有22个成功。而智能体分类为失败的一个应用最终构建正确。这表明智能体的自我评估不应被视为迁移完成的可靠信号。独立的构建和测试验证仍然必不可少。

框架迁移很少影响单个文件或层。配置、服务、数据库和Web组件的更改通常会级联到整个应用中。我们发现迁移是迭代的而非线性的。最常访问的层是配置、Web、数据库和服务。常见的转换包括配置↔Web和服务↔数据库。这表明迁移是一个迭代的依赖解析过程,而不是简单的源到源转换。

我们使用层重访频率作为迁移工作量的代理。需要重复访问的层通常涉及调试、依赖解析或框架适配。配置占据了迁移的主要工作量。智能体在解析框架差异和依赖问题时反复回到与配置相关的工件。

并非每个迁移问题都源于源代码。环境和工具问题同样重要。智能体经常遇到Docker缓存不一致、端口连接问题、Maven包装器和构建工具问题等环境问题。这些操作性问题常常延迟验证,即使源代码迁移本身基本完成。现代化失败涵盖构建系统、部署环境、依赖注入、数据库、端点、断言和基础设施等多个方面。

关键结论:框架现代化最大的挑战不是翻译Java代码,而是管理配置、基础设施和运行时环境之间的依赖网络。虽然前沿智能体可以自动化大部分迁移过程,但可靠的验证和架构推理对于实现成功结果仍然至关重要。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

框架迁移仍然是AI辅助软件工程中最大的未解决问题之一。我们希望ScarfBench能帮助社区衡量进展,并加速下一代AI辅助应用现代化。我们邀请研究人员、实践者和框架社区评估他们的智能体,贡献新的迁移场景,并推动技术发展。