近期,阿里通义实验室开源了 AgentScope Java 版本,为专注于 Java 技术栈的开发者提供了一个构建生产级多智能体应用的新选择。对于习惯了 Java 生态、但又希望集成先进 AI 能力的开发者来说,这意味着无需强行转向 Python 生态,也能高效地进行智能体开发与协作。
AgentScope 是什么?
简单来说,AgentScope 是一个多智能体开发框架,其核心设计理念是“面向智能体编程”。它旨在将大语言模型(LLM)转化为能够自主执行任务、相互协作的智能单元。
你可以将大模型视为 AI 应用的“大脑”,而 AgentScope 则提供了“中枢神经”和“手脚”。它不仅支持多个智能体之间的协同工作,还内置了推理、工具调用、记忆管理等核心能力。其 Java 版本与 Python 版在核心功能上保持一致,实现了跨语言能力对齐。

AgentScope Java 与 Spring AI Alibaba 如何选择?
面对阿里体系内的两个 Java AI 框架,很多开发者会感到困惑:AgentScope Java 和 Spring AI Alibaba 有何不同?关键在于两者的设计理念与适用场景截然不同。

概括来说:
- 如果你的目标是构建能够自主规划、调用工具、处理复杂决策的智能助手或协作系统,那么 AgentScope Java 更为合适。
- 如果你希望在现有的 Spring 项目中快速、轻量地集成聊天、简单检索等 AI 能力,那么 Spring AI Alibaba 是更直接的选择。
没有所谓“最好”的框架,只有最适合当前项目需求和技术栈的解决方案。
AgentScope Java 的核心亮点
在实际的 AI 应用开发中,智能体的“不可控性”、“协作困难”和“落地复杂”是常见痛点。AgentScope Java 针对这些痛点提供了生产级的功能支持。
1. 自主且可控的决策流程
框架采用 ReAct(推理-行动)范式,使智能体能够自主决定何时使用工具以及使用何种工具,避免了手动编写僵化逻辑。同时,它提供了安全中断和人机协同钩子(Hook),允许在关键步骤进行人工监督,有效防止 AI 的“盲目操作”,增强了生产环境下的可靠性与可控性。
2. 开箱即用的生产级工具
开发者无需重复造轮子:
- PlanNotebook:可将复杂目标自动分解为可执行的步骤序列,引导智能体有序工作。
- 结构化输出:内置自纠错解析器,能直接将模型输出映射到 Java POJO 对象,省去了繁琐的正则表达式解析工作。
- 长期记忆:通过语义搜索实现跨会话的记忆管理,能够记住用户偏好,便于构建个性化的服务。
3. 强大的生态与协议集成
框架原生支持 MCP(模型上下文协议) 和 A2A(智能体到智能体)分布式多智能体协议。
- 这意味着,对接 GitHub、天气查询等服务时,只要目标服务支持 MCP,智能体就能像连接外部设备一样直接调用,极大简化了集成工作。
- 通过集成 Nacos 等服务发现组件,不同服务器上的智能体可以像微服务一样相互发现和调用,轻松实现分布式多智能体协作。
4. 内置 RAG 能力,缓解模型“幻觉”
针对大模型对私有知识不了解或产生“幻觉”的问题,AgentScope 的 Knowledge 模块提供了开箱即用的 RAG(检索增强生成)全流程支持。从 PDF、Word、Markdown 等格式的文档解析,到文本切分、向量化,再到向量数据库存储与检索,一套流程全部涵盖。它支持 Milvus、DashVector 等主流向量数据库,并采用响应式 API 处理海量文档,确保查询公司知识库、行业资料时的准确性与效率。
5. 生产就绪的高性能架构
基于 Project Reactor 的响应式架构设计,提供了高性能的非阻塞 IO 处理能力,能够从容应对高并发场景。无论是构建智能客服、数据分析助手,还是复杂的多智能体协作系统,开发完成后即可直接部署,无需进行大量的架构改造,实现了从 Demo 到生产环境的高效过渡。
快速上手体验
AgentScope Java 的开发体验较为友好,通过引入依赖、创建智能体、实现对话等几个步骤,即可快速入门。
引入依赖
推荐使用 all-in-one 依赖包,以简化配置。Maven 和 Gradle 均支持,与 Spring Boot 集成也有专门的 starter。
<!-- Maven核心依赖 -->
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope</artifactId>
<version>1.0.4</version>
</dependency>
<!-- SpringBoot集成依赖 -->
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope-spring-boot-starter</artifactId>
<version>1.0.4</version>
</dependency>
<!--使用 OpenAI 模型-->
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
</dependency>
实现基础单轮对话
创建一个通义千问模型,并定义一个具有特定角色的智能体,即可实现对话。
// 创建QwenPlus模型
DashScopeChatModel model = DashScopeChatModel.builder()
.apiKey(apiKey)
.modelName("qwen-plus")
.build();
// 创建智能体
ReActAgent agent = ReActAgent.builder()
.name("AI助手")
.sysPrompt("你是友好专业的AI助手,擅长用一句话解答问题")
.model(model)
.build();
// 发送消息并获取响应
Msg response = agent.call(Msg.builder().textContent("一句话介绍人工智能").build()).block();
System.out.println(response.getTextContent());
运行后,你将得到类似 人工智能是让机器模拟人类学习、推理、决策等智能行为的技术 的精准输出。
实现多轮对话与记忆管理
框架自带记忆管理功能,智能体能自动记住上下文,实现连贯的多轮交互,无需开发者手动传递历史记录。
// 多轮对话示例
List<String> questions = new ArrayList<>();
questions.add("我叫张三");
questions.add("我今年25岁");
questions.add("总结一下我的信息");
for (String q : questions) {
Msg res = agent.call(Msg.builder().textContent(q).build()).block();
System.out.println("Q:" + q + "\nA:" + res.getTextContent() + "\n");
}
智能体能够基于之前的对话,准确总结出“姓名张三,年龄25岁”。
初步体验多智能体协作
这是 AgentScope 的核心能力。通过创建不同角色的智能体,让它们分工协作来完成复杂任务。
// 创建多个不同角色的智能体
ReActAgent planner = ReActAgent.builder()
.name("规划专家")
.sysPrompt("你是一个经验丰富的项目规划专家,擅长制定计划和分解任务。")
.model(model)
.build();
ReActAgent executor = ReActAgent.builder()
.name("执行专家")
.sysPrompt("你是一个执行专家,擅长将计划转化为具体的执行步骤。")
.model(model)
.build();
// ... 后续可定义协作流程,让 planner 生成计划,executor 执行步骤
总结与展望
AI 应用开发正逐渐从“提示词工程”转向“智能体工程”。过去我们可能更关注如何优化单次提示,而现在,通过定义智能体的角色、能力与协作规则,我们可以构建出能够自主完成复杂任务的智能系统。
AgentScope Java 为 Java 开发者带来了几个关键价值:
- 生态友好:让 Java 开发者能够在熟悉的技术栈内进行前沿的多智能体应用开发,降低了学习与迁移成本。
- 痛点直击:通过结构化输出、可视化工具、钩子系统等设计,有效解决了 AI 输出不可控、过程不透明等实际落地难题。
- 架构前瞻:其倡导的基于 A2A 协议和微服务发现机制的“AI 微服务架构”,与现代企业级应用开发趋势高度契合。
对于想要探索 多智能体协作 和复杂 AI 应用构建的 Java 团队来说,AgentScope 是一个值得深入研究和尝试的 开源 项目。你可以在 云栈社区 的开发者圈子中交流使用心得,或前往其官方仓库获取更多资料。
项目资源