隆重推出 Spring AI Agents 和 Spring AI Bench

工程 | Mark Pollack | 2025年10月28日 | ...

我谨介绍两个属于 Spring AI 社区 GitHub 组织的新项目:Spring AI AgentsSpring AI Bench。这两个项目专注于使用代理编程工具——您企业中可能已经拥有的工具。

到2025年,AI编码代理已日趋成熟,需要被认真考虑用于企业级Java开发和一般的SDLC任务。领先的大型AI实验室的例子包括Claude Code、Google的Gemini CLI、Amazon Q Developer和OpenAI的助手等CLI工具,此外还有小型初创公司和开源选项。这些代理式编码工具能够进行架构推理,理解大型代码库,并有望帮助开发者更快地交付软件。它们通常以“人在回路中”的方式使用,但也可以被指示自主执行,直到确定目标已完成。

Spring AI Agents定义了一个轻量级但功能强大的可移植抽象:AgentClient。它作为调用自主CLI代理的一致接口。这允许开发者使用他们已有的代理工具,同时提供了灵活性,避免锁定在单一供应商。

然而,AgentClient只是你有效使用代理工具所需的开发工具箱的一部分。Spring AI Agents提供了以下抽象,这些抽象结合起来可以产生最有效的结果:

  • 目标:代理需要完成的目标,例如提高代码覆盖率、标记问题或审查并合并拉取请求。
  • 上下文:代理推理的数据和环境——源文件、日志、结构化数据集和文档。
  • 工具:在需要时可供模型调用的自定义功能,最常通过模型上下文协议(Model Context Protocol)公开。
  • 裁判:根据预定义标准验证结果并评估质量的评估器。它们可以是确定性的,例如代码覆盖率数字,也可以是AI驱动的,使用LLM即裁判模式。
  • 沙盒:代理安全且可重现地执行工作的抽象环境。目前支持本地执行和Docker容器执行。

配套项目Spring AI Bench是一个基准测试套件,用于评估代理在目标导向的企业工作流中的表现。它评估不同代理完成目标的效率,可以被视为通过Spring AI Agents运行任何代理的测试框架。

对该项目的需求源于我对现有代理式基准测试的调查。我发现它们主要关注Python,并且只解决了为GitHub问题提供代码补丁的用例。你在文献中会看到以下模式:SWE-bench在其静态、精选的Python问题集上表现出色,但当引入一组新的精选问题时,数据会急剧下降。在SWE-bench Verified上,代理在静态Python集上的得分是60-75%;在SWE-bench-Live上,相同的运行下降到19%——下降了3倍。在SWE-bench-Java上,Java任务的得分大约在~7-10%,而Python在相同基准测试系列上的得分约为75%,显示出一个数量级的差距。对于工程领导者来说,不稳定的分数意味着不稳定的决策。

这并不意味着代理很弱;这意味着衡量标准过时了SWE-agent有数千行Python代码,但大约100行的mini-SWE-agent(一个简单的代理循环,带有聊天记忆和单一工具——bash)却能取得具有竞争力的SWE-Bench结果。事实证明,目前还没有基准测试来判断当今和未来现代代理式CLI工具的能力。

早期运行的结果令人鼓舞。在一百多个特定领域标签上的多标签问题分类达到或超过了已发布的F1分数。PR-merge代理已处理了Spring AI代码库上的数百个拉取请求,生成了结构化报告——风险评估、架构说明和回溯分析。这显著减少了审查时间,同时提高了连贯性。简单的代码覆盖率基准测试显示,虽然领先的模型都能达到相同的覆盖率数字,但在代码质量和指令遵循程度上,不同领先模型之间存在差异。

接下来:这两个项目都在Spring AI社区组织中孵化。快照构建已在Maven Central中提供。我们还在与开发者生产力AI竞技场(DPAIA)倡议的领导者合作,该倡议旨在解决我在此提出的问题。

Spring AI社区期待您的反馈,我们将从“代理之年”迈向有效使用代理的新时代。


资源

项目

研究参考文献

会议演讲

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有