
写一个带工具的 AI Agent,Java 开发者过去要自己对接大语言模型(LLM)API、管理对话上下文、写重试逻辑 - 每换个模型就得重来一遍。现在 Spring AI Alibaba 把这个过程简化为几个 Maven 依赖和一个@Tool 注解。
▎TL;DR
缺框架:Java 生态长期以来没有像 LangChain 那样成熟的 Agent 框架,Spring AI Alibaba 基于 Spring Boot 提供了企业级 Agent 开发能力。
组件体系:从 ChatClient 到 Graph 工作流,再到多 Agent 钩子,框架覆盖了 Agent 开发全阶段,且通过 Maven 依赖一键集成。
三步上手:先加 Maven 依赖,再用@Tool 声明工具,最后调用 Agent.run(),五分钟内跑通第一个 Java Agent。
生态拐点:Spring AI Alibaba 让 Java 成为 Agent 开发的第一公民,开发者不必再先学 Python 搭原型。
▎01 Java 开发者的 Agent 困境:缺一套 Agent 框架
Java 后端工程师想给业务加一个 AI Agent,比如自动查天气、调用内部 API。你会发现,语言不是问题,问题是没有一套像 Spring Boot 一样简单的东西来封装这些能力。过去你只能自己写 HTTP 调用、维护对话上下文、实现工具函数调用和重试逻辑,每换一家 LLM 提供商就得改一遍接入代码。
Spring AI Alibaba 的出现填补了这个空白。它本身就是 Spring Boot 项目,利用 Spring 的依赖注入和自动配置,把 LLM 调用、工具注册、工作流编排都变成了配置驱动、声明式的开发体验。官方博客称该版本“旨在提供开箱即用的企业级方案,包括多 Agent 架构编排和低代码集成”(https://www.alibabacloud.com/blog/spring-ai-alibaba-1-0-ga-officially-released-marking-the-advent-of-a-new-era-in-java-agent-development_602299),涵盖单 Agent、Graph 工作流和多 Agent 架构。
▎02 框架全景:从 ChatModel 到多 Agent 工作流
框架的基础是 ChatClient,它封装了与大模型通信的细节,通过切换 Starter 就能换 AI 提供商 - DashScope、OpenAI、通义千问等。如果你需要智能体行为,ChatAgent 在 ChatClient 之上集成了工具注册和系统提示,并且可以指定输出 Schema 为 JSON 格式,方便下游解析。
更复杂的场景需要多步骤流程。Spring AI Alibaba Graph 提供了工作流引擎,内置了 LlmNode、ToolNode 等预设节点,你可以像搭积木一样编排多个步骤。对于需要人工审批的流程,框架还提供了 HumanInTheLoopHook 等钩子,允许在流程中暂停、注入工具或人工决策。这些能力全部可以通过Maven 依赖一行引入,不需要额外部署中间件。
▎03 上手三步:加依赖、写 Agent、跑起来
前提很简单:JDK 17+、Maven 3.8+,以及一个 LLM API key(用阿里云 DashScope 最省事)。第一步,在 pom.xml 里添加 Agent 框架和对应 LLM 的 Starter 依赖(以下代码为示意,具体版本号请参考官方 BOM 管理):
<dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-agent-framework</artifactId><version>1.1.2.2</version></dependency>
第二步,创建一个 ChatModel Bean 和一个工具类,用@Tool 注解声明方法(以下为示意代码,完整示例请参考官方 Quick Start:https://java2ai.com/docs/quick-start/):
@Configurationpublic class AgentConfig {@Beanpublic ChatModel chatModel() {return new DashScopeChatModel(apiKey);}@Componentpublic static class WeatherTools {@Tool("查询指定城市的天气")public String getWeather(String city) {return city + "的天气:晴,20℃";}}}
第三步,创建 Agent 并运行对话:
String systemPrompt = "你是一个天气助手,可以查询天气。";ReactAgent agent = new ReactAgent(chatModel, systemPrompt, tools);String result = agent.run("北京今天天气怎么样?");System.out.println(result); // "北京今天天气:晴,20℃"
就这样,一个能调用工具的 Agent 就跑起来了。之后你可以加更多工具、指定 OutputSchema 为 JSON,或者把它嵌入到工作流里。以上代码为基础示意,更完整的 Quick Start 示例请参考官方文档。
▎04 不只是框架:Java 生态 Agent 化的信号
Java 在企业后台、中间件、大型系统中拥有压倒性的市场份额,但过去几年 Agent 开发几乎被 Python 垄断。LangChain、CrewAI、AutoGPT,全是 Python 生态。Java 工程师要么等别人封装好 SDK,要么自己啃 HTTP+WebSocket。
Spring AI Alibaba 改变了这一点。它是Apache 2.0 许可、开源、与 Spring Boot 深度集成的 Agentic AI 框架。Java 开发者不需要切换语言,就能享受完整的 Agent 开发体验。对比 LangChain,Spring AI Alibaba 更符合 Java 工程师的心智模型 - 配置驱动、声明式、强类型,而不是 Python 的动态脚本风格。GitHub 上近万星(9,814 stars)说明社区已经给出了反馈。
所以,下次开会讨论 Agent 需求时,这意味着 Java 开发者可以直接在自己的技术栈里构建 Agent,不必先转 Python。Java 生态自己的 Agent 框架已经就位。
▎参考链接
01 Spring AI Alibaba GitHub 仓库
https://github.com/alibaba/spring-ai-alibaba
02 官方博客 1.0 GA 发布公告
https://www.alibabacloud.com/blog/spring-ai-alibaba-1-0-ga-officially-released-marking-the-advent-of-a-new-era-in-java-agent-development_602299
03 官方 Quick Start 文档
https://java2ai.com/docs/quick-start/
04 Maven Central(Spring AI Alibaba)
https://central.sonatype.com/artifact/com.alibaba.cloud.ai/spring-ai-alibaba/1.1.2.2
夜雨聆风