前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8655
  • VS Code × OpenAI:两周内优化系统prompt减少token消耗
  • Agent 系统设计入门:理解与构建循环机制
  • Agent 时代职业选择:专注无标准答案的工作
  • git-lrc:开源AI代码审查bot集成在git commit
  • Claude设计系统Prompt开源分享
  • Dan Luu谈AI Agent编程实践经验
  • LLM Tool Calling错误处理架构完全指南
  • 如何评估AI应用质量:指标与评估协议
  • 开源项目:通用LLM视频理解适配器
  • Manufact MCP Cloud:云端协议平台新品
  • 代码质量争议:依赖中能否包含 LLM 生成代码
  • Snowflake的AI编码五阶段工作流框架
  • Agent自主权六级模型与任务适配
  • Claude Fable 5 模型推出与访问权开放
  • ZCode:GLM 创作者推出的 AI 编程工具
  • Agent AI 生产级设计模式与最佳实践指南
  • AI Engineer 会议热议:Harness 工程与评估框架
  • Gemma 4开源模型支持实时语音AI
  • 美国放宽AI模型出口管制限制
  • AI 自动构建代码如何改变工程师思维
  • ScarfBench:Java框架迁移的Agent基准
  • Claude Sonnet 5发布
  • Loop Engineering 真的适合前端开发吗
  • Claude Science功能发布
  • 让 Agent 技能可训练的新方法
  • 选择合适的模型比盲目追新更关键
  • Google发布Gemini轻量级和高性能模型
  • Claude Code请求被发现暗中标记 引发隐私担忧
  • 重新定义 Agent:核心是日志而非模型
  • AI 发展的本地化与开源化趋势
  • AI模型走向专业化分工的趋势分析
  • Copilot 原生集成 JetBrains IDE,开箱即用
  • 预测人类意图:为何需要超越Next Token预测
  • Sourcegraph 智能批量代码迁移 Agent 公测上线
  • 从 Core Dump 分析发现 18 年遗留的基础设施 Bug
  • HuggingFace模型卡整合全量评估基准结果
  • Cursor 团队市场升级:支持 MCP 和组织管理
  • GeneBench-Pro:生物信息学领域的 AI 基准测试
  • Memora:分层记忆设计让 AI Agent 上下文不丢失
  • DiScoFormer:跨分布的密度和评分一体化Transformer
  • Ornith-1.0:自我改进的 Agent 编码开源模型
  • 解读AI全栈:从硬件到应用的完整理解
  • JetBrains Air IDE 正式支持 Windows 平台
  • API 限制困扰开发者,本地 LLM 生成 Git 提交信息
  • LLM 不需要记忆,设计情境才是关键
  • LLM API 调用全链路解析:从请求到流式响应
  • AI 行业走向的反思:从实践看未来
  • Cursor iOS 版上线:随处管理 AI Agent 编程
  • Semgrep基准测试:GLM 5.2超越Claude的场景启示
  • Codex 无法排除敏感文件:AI 编程工具的安全隐患
  • Wayfinder Router:本地/远程 LLM 智能路由
  • 已加载 51 / 8655
6.0
关注
AI SCORE
工具产品2026-07-01 02:32

ScarfBench:Java框架迁移的Agent基准

Hugging Face Blog#Agent#Java#迁移
Editor brief · 编辑速览

发布评估AI Agent在企业Java框架迁移中表现的基准测试,帮助衡量Agent自动化重构的有效性。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

⭐ 在 GitHub 上为 ScarfBench 点 Star

编码 Agent 的最新进展,让人们对 AI 辅助的现代化改造充满期待。但一个重要问题仍然存在:

AI Agent 能否可靠地对现实世界中的企业应用进行现代化改造?

现有的软件工程 Benchmark 已经展现出在修复 Bug 和生成代码方面的显著进步,但框架迁移是一项本质上不同的挑战。要成功完成迁移,不仅需要转换代码,还需要保留原有行为、调整构建系统,并处理复杂的运行时依赖关系。

为填补这一空白,我们推出了 ScarfBench(Self-Contained Application Refactoring Benchmark,自包含应用重构 Benchmark)。这是一个开放 Benchmark,用于评估 AI Agent 执行 Enterprise Java 跨框架迁移任务的能力。

ScarfBench 聚焦于三个主要 Java 生态系统之间的迁移:

与通过参考实现来比较生成代码的传统 Benchmark 不同,ScarfBench 评估的是迁移后的应用能否真正完成构建、部署,并保留原有行为。

为什么迁移如此困难

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

即便是一个简单的代码仓库迁移,也可能需要修改依赖注入、持久化配置、查询以及框架描述文件。任何一个环节中的细小错误,都可能导致部署失败。

图:Spring → Jakarta 迁移示例

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

ScarfBench 简介

ScarfBench 提供了一套系统化的方法,用于评估 AI Agent 执行 Enterprise Java 框架迁移任务的能力。

应用必须:

通过行为验证。

这为衡量现代化改造的质量提供了一种更贴近现实的方式。

Benchmark 概览

ScarfBench 同时包含聚焦于局部的迁移任务和完整应用迁移任务。

图:ScarfBench 构建流程

ScarfBench 从基于 JSR 的 Enterprise Java 分类体系出发,由专家执行迁移,在 Spring、Jakarta EE 和 Quarkus 之间创建经过验证的实现。

前沿 Agent 表现如何

我们使用 ScarfBench 评估了多个最先进的编码 Agent。

尽管这些 Agent 在传统软件工程 Benchmark 上表现出色,但框架迁移仍然十分困难。不同框架组合之间的成功率差异显著,而完整应用迁移尤其具有挑战性。

图:当前排行榜

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

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

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

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

关于 AI Agent 进行 Java 现代化改造,我们学到了什么

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

Agent 能否可靠地判断迁移已经完成

迁移后的应用只有真正能够构建和运行,才具有实际价值。

因此,我们将 Agent 报告的结果与独立构建验证进行了比较。

Claude Code 报告称,30 个完整应用中有 29 个构建成功。

但其中只有 22 个应用实际构建成功。

与此同时,唯一一个被 Agent 判定为失败的应用,最终却能够正确构建。

这表明,不应将 Agent 的自我评估视为判断迁移是否完成的可靠信号。

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

Agent 如何处理应用依赖关系

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

配置、服务、数据库和 Web 组件中的变更,往往会在整个应用中产生连锁反应。

Agent 最频繁访问的层级包括:

常见的层级转换包括:

这表明,迁移是一个迭代式的依赖解析过程,而不是简单的源代码到源代码转换。

Agent 将大部分精力花在了哪里

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

Agent 并不是线性推进迁移,而是在解决框架差异和依赖问题的过程中,反复返回与配置相关的产物。

哪些挑战与代码转换无关

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

Agent 经常难以处理环境问题,包括:

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

即使源代码迁移本身已经基本完成,这些运维问题也经常拖慢验证进度。

图:失败模式分布

现代化改造的失败原因横跨构建系统、部署环境、依赖注入、数据库、端点、断言以及基础设施。

框架现代化改造中最大的挑战,并不是转换 Java 代码。

真正的挑战,是管理配置、基础设施和运行时环境之间相互交织的依赖关系。

尽管前沿 Agent 已经能够自动完成迁移流程中的很大一部分工作,但要成功完成迁移,可靠的验证和架构层面的推理仍然至关重要。

ScarfBench 揭示了这些挑战,并提供了一种标准化方法,用于衡量我们距离真正自主的应用现代化改造还有多远。

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

评估基础设施

研究人员可以比较不同的 Agent 架构和技术。从业者可以在将现代化改造方案部署到生产环境之前,使用 ScarfBench 对其进行评估。

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

我们邀请研究人员、从业者以及各个框架社区评估自己的 Agent,贡献新的迁移场景,并共同推动技术前沿的发展。

本文提及的数据集:1 个

本文提及的 Space:1 个

该作者的更多文章

模型路由很简单,直到它不再简单。

使用 CUGA 构建真正的 Agentic 应用:基于轻量级 Harness 的二十多个可运行示例

· 注册或登录后发表评论

本文提及的数据集:1 个

本文提及的 Space:1 个

Original source

本文由 AI 翻译整理自 Hugging Face Blog,原文版权归原作者所有。

阅读英文原文
上一篇
AI 自动构建代码如何改变工程师思维
下一篇
Claude Sonnet 5发布