ScarfBench: 面向企业级Java框架迁移的AI智能体基准测试
摘要
IBM Research 推出 ScarfBench,这是一个用于评估AI智能体在跨框架Java迁移任务中表现的开放基准测试,重点关注 Spring、Jakarta EE 和 Quarkus。与传统的代码生成基准不同,该基准主要评估迁移后的应用程序是否能够构建、部署并保持原有行为。
查看缓存全文
缓存时间: 2026/06/30 23:28
ScarfBench:评估AI Agent的企业Java框架迁移基准
来源:https://huggingface.co/blog/ibm-research/scarfbench 返回文章列表 (https://huggingface.co/blog)
在GitHub上为ScarfBench加星 (https://github.com/scarfbench/benchmark)
企业应用现代化是组织面临的最大、最昂贵的软件工程活动之一。团队在框架间迁移应用,以提高可维护性、云就绪性、开发者生产力,并获取现代能力。
近期编码Agent的进展引发了人们对AI辅助现代化的热情。但一个重要问题依然存在:
AI Agent能否可靠地现代化真实世界中的企业应用?
现有的软件工程基准在Bug修复和代码生成方面展示了令人印象深刻的进步,但框架迁移提出了根本不同的挑战。成功不仅需要翻译代码,还需要保持行为、适配构建系统、处理运行时依赖。
为了弥补这一空白,我们推出了ScarfBench(自包含应用重构基准),一个用于评估AI Agent在跨框架迁移任务(企业Java环境)中的开放基准。
ScarfBench聚焦于三大Java生态的迁移:
- Spring
- Jakarta EE
- Quarkus
与传统基准(将生成代码与参考实现对比)不同,ScarfBench评估迁移后的应用是否真正能够构建、部署并保持行为。
为什么迁移困难
框架迁移远不止替换注解。
一个简单的仓库迁移可能需要改动依赖注入、持久化配置、查询和框架描述符。这些环节中的任何小错误都可能阻碍成功部署。
scarf-intro-anatomy (https://cdn-uploads.huggingface.co/production/uploads/649c1276a83f996b4191a8f1/3LDxVMx4nf_WEqEN2AQ7W.png)
图:Spring → Jakarta 迁移示例
框架迁移需要转换框架语义,而不仅仅是源代码。
ScarfBench介绍
ScarfBench (https://huggingface.co/spaces/ibm-research/ScarfBench) 提供了一种系统性的方法来评估AI Agent在企业Java框架迁移任务上的表现。
应用必须满足以下要求:
- 成功构建。
- 正确部署。
- 通过行为验证。
这提供了对现代化质量更加现实的衡量。
基准概览
| 指标 | 数值 |
|---|---|
| 应用 | 34 |
| 框架实现 | 102 |
| 迁移任务 | 204 |
| 代码行数 | ~151K |
| 源文件和测试文件 | ~2,000 |
| 专家编写的测试 | 1,331 |
ScarfBench既包含聚焦的迁移任务,也包含完整应用的迁移。
scarf-intro-fig (https://cdn-uploads.huggingface.co/production/uploads/649c1276a83f996b4191a8f1/5njqb4qTj7sfutgRJ7QrF.png)
图:ScarfBench构建流程
从基于JSR的企业Java分类开始,专家迁移创建了跨Spring、Jakarta EE和Quarkus的已验证实现。
前沿Agent表现如何?
我们在ScarfBench上评估了几种最先进的编码Agent。
尽管在传统软件工程基准上表现强劲,但框架迁移仍然困难。成功率在不同框架对之间差异显著,完整应用迁移尤其具有挑战性。
leaderboard (https://cdn-uploads.huggingface.co/production/uploads/649c1276a83f996b4191a8f1/MrcQ5trSi8oKtfD2UEhm9.png)
图:当前排行榜
即使最强的Agent也仅有不到10%的行为成功率,这显示了生成可编译代码与保持应用行为之间的差距。
scarf_aggregate_progression (https://cdn-uploads.huggingface.co/production/uploads/649c1276a83f996b4191a8f1/j7rihRrFe-Eo9oSxNFQS1.png)
图:编译→部署→测试递进
编译成功率始终高于部署成功率,部署成功率又高于行为成功率。仅凭构建成功会显著高估迁移质量。
sankey (https://cdn-uploads.huggingface.co/production/uploads/649c1276a83f996b4191a8f1/mQhC1EtAb5dx2Q8d5nqmL.png)
图:按目标框架的迁移结果
迁移难度与目标框架高度相关,Jakarta EE尤其具有挑战性。
我们关于AI Agent用于Java现代化的发现
除了衡量成功率,ScarfBench还帮助我们理解Agent在现代化过程中的行为。
Agent能否可靠判断迁移是否完成?
迁移后的应用只有真正能够构建并运行才有用。
因此,我们将Agent报告的结果与独立的构建验证进行了比较。
发现:Agent过于自信
Claude Code报告了30个完整应用中的29个成功构建。
但实际上只有22个应用成功构建。
与此同时,Agent判定为失败的唯一个应用最终却构建正确。
这表明不应将Agent的自我评估视为迁移完成的可靠信号。
独立的构建和测试验证仍然至关重要。
Agent如何处理应用依赖?
框架迁移很少只影响单个文件或层。
配置、服务、数据库和Web组件的更改经常会级联影响整个应用。
发现:迁移是迭代而非线性的
最常被访问的层级是:
- 配置
- Web
- 数据库
- 服务
常见的转换包括:
- 配置 ↔ Web
- 服务 ↔ 数据库
这表明迁移是一个迭代的依赖解析过程,而非简单的源代码到源代码转换。
Agent主要精力花在哪里?
我们将层级重新访问频率作为迁移工作量的代理指标。需要反复访问的层级通常涉及调试、依赖解析或框架适配。
发现:配置主导迁移工作量
Agent并没有线性推进,而是在解决框架差异和依赖问题时反复回到与配置相关的工件。
哪些挑战并非代码转换问题?
并非每个迁移问题都源于源代码。
发现:环境和工具很重要
Agent经常在处理环境问题时遇到困难,包括:
- Docker缓存不一致
- 端口连接问题
- Maven包装器和构建工具问题
这些运维问题常常在源代码迁移本身基本完成时仍会延迟验证。
failure-distribution (https://cdn-uploads.huggingface.co/production/uploads/649c1276a83f996b4191a8f1/BtWLPGsif0O4VoQfVppIC.png)
图:失败模式分布
现代化失败涉及构建系统、部署环境、依赖注入、数据库、端点、断言和基础设施等多个方面。
关键要点
框架现代化最大的挑战并非翻译Java代码。
而是管理跨配置、基础设施和运行时环境的依赖网络。
虽然前沿Agent能够自动化迁移过程的大部分,但可靠的验证和架构推理仍然是实现成功结果的关键。
ScarfBench帮助揭示这些挑战,并提供了一种标准化的方法来衡量迈向真正自主应用现代化的进展。
探索ScarfBench
ScarfBench被设计为面向研究人员和实践者的开放资源。
资源包括:
- 基准数据集
- 评估基础设施
- 公开排行榜
- 文档
- 开源代码
研究人员可以比较Agent架构和技术。实践者可以在生产环境中部署现代化解决方案之前,使用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辅助应用现代化的到来。
我们邀请研究人员、实践者和框架社区评估他们的Agent,贡献新的迁移场景,并共同推动技术前沿。
相似文章
EnterpriseClawBench:基于真实工作会话的智能体基准测试
EnterpriseClawBench 提出了一个基于真实工作场景的企业智能体基准,包含 852 个可复现任务以及超越单一性能分数的综合评估指标。
SWE-WebDevBench:评估编码智能体应用平台作为虚拟软件代理商的能力
本文介绍了 SWE-WebDevBench,这是一个包含 68 项指标的综合框架,用于评估 AI 驱动的应用开发平台作为虚拟软件代理商的表现。研究强调了当前平台在规范理解、后端可靠性、生产就绪性和安全性方面存在的关键差距。
SaaSBench:探索编码智能体在长周期企业SaaS工程中的边界
SaaSBench是一个用于评估AI智能体在企业SaaS开发中的新基准,涉及多组件系统集成,包含30个任务、6个领域和5370个验证节点。实验表明,智能体的主要瓶颈在于系统配置与集成,而非孤立的代码生成。
WeaveBench:混合界面计算机使用代理的长时域真实世界基准测试
WeaveBench是一个用于在长时域真实世界任务中跨多种界面(GUI、CLI、代码)评估计算机使用代理的新基准测试。它揭示了当前模型仅达到41.2%的通过率,且仅基于结果的评分高估了性能,凸显了评估中的重大差距。
ProgramBench(5分钟阅读)
ProgramBench 是一项全新的基准测试,用于评估 AI 智能体在无法获取源代码或反编译工具的情况下,仅凭编译后的二进制文件和文档重建完整软件项目的能力。