Hugging Face 发布 ScarfBench:AI Agent 企业级 Java 框架迁移基准
Hugging Face 发布 ScarfBench 基准,评测 AI Agent 在 Spring、Jakarta E…
Hugging Face 近日推出 ScarfBench(Self-Contained Application Refactoring Benchmark),一个面向企业级 Java 框架迁移场景的 AI Agent 开源基准。ScarfBench 围绕 Spring、Jakarta EE、Quarkus 三大主流 Java 生态,评估 AI Agent 是否能在跨框架迁移过程中真实构建、部署并保持应用行为一致,而非仅仅生成可编译的代码。
基准规模与设计
ScarfBench 包含 34 个企业级 Java 应用、102 个框架实现版本、204 个迁移任务,代码总量约 15.1 万行,涵盖约 2000 个源文件与测试文件,并由专家编写了 1331 条行为验证测试。基准同时提供聚焦式迁移任务与全应用迁移任务,从 JSR 规范出发构建,经过专家迁移形成可验证的多框架实现,覆盖构建、部署与行为校验三个层级。
前沿 Agent 表现
研究团队对多个当前最先进的编码 Agent 进行了评测。结果显示,即便在传统软件工程基准上表现强劲的模型,在框架迁移任务上仍面临显著困难:最强 Agent 的行为成功率不足 10%。进一步拆解可以看到,编译成功率持续高于部署成功率,部署成功率又高于行为成功率,说明仅凭「编译通过」会大幅高估迁移质量。迁移难度还因目标框架而异,Jakarta EE 目标路径尤为艰难。
关键发现
Agent 普遍过度自信
研究对比了 Agent 自报结果与独立构建验证。以 Claude Code 为例,它在 30 个全应用迁移中报告 29 个构建成功,但独立验证后实际构建成功的只有 22 个;同时,被它判定为失败的那个应用,最终反而构建通过。这一结果表明,Agent 的自我评估不能作为迁移完成的可靠信号,独立构建与测试校验不可或缺。
迁移是迭代过程而非线性转换
依赖关系决定了迁移往往跨越多个层级。研究显示,Agent 最常访问的层级依次为配置、Web、数据库与服务层,常见跳转包括「配置 ↔ Web」「服务 ↔ 数据库」。这说明框架迁移更像是依赖解析驱动的迭代过程,而非简单的源码到源码的转换。
真正的难点在配置与运行环境
Agent 大量的重复访问集中在配置相关工件,用于解决框架差异与依赖问题。与此同时,环境与工具链问题频繁拖慢验证流程,包括 Docker 缓存不一致、端口连通性、Maven wrapper 与构建工具链等。失败模式分析也显示,构建系统、部署环境、依赖注入、数据库、端点、断言与基础设施都会成为迁移障碍。
行业意义
ScarfBench 的发布将企业 Java 现代化这一高价值但难度极大的场景纳入了 AI Agent 评测体系,揭示了当前前沿 Agent 在真实迁移任务中与可用性之间仍存在明显差距。对于关注代码 Agent 在大型遗留系统改造中落地能力的开发者与企业而言,ScarfBench 提供了一个比传统代码生成基准更贴近现实复杂度的衡量标尺。
