AgentScope 是阿里云推出的一款以开发者为核心,专注于智能体开发的开源框架。它的核心目标是解决智能体在构建、运行和管理中的难题,提供一套覆盖'开发、部署、调优'全生命周期的生产级解决方案,让智能体应用的开发更简单、运行更稳定、效果持续优化。
前言
AgentScope Java 1.0 版本于去年 12 月正式发布,面向 Java 开发者提供企业级 Agentic 应用构建的能力。在过去的一个多月,社区快速迭代到了 1.0.7 版本,在这 7 个小版本中,更新了很多实用的能力,比如:
- 添加全面的 Ollama 集成,支持聊天和 embedding 功能
- 新增了对 Agent Skill 的支持
- 内置的文件操作工具和多模态工具
- 工具调用 HITL
- 上下文自动压缩
- HTTP 请求和响应内容压缩
- MySQL 会话存储
- 集成 Nacos 的 A2A 架构
- 集成 Higress 的工具搜索
- ……
至此 AgentScope Java 以 ReActAgent 为核心,配合众多强大的能力,已经能够胜任大多数场景的任务。面对如此多的能力,很多同学在社区反馈光看文档和单一功能的 Example 还是不够效率,不能快速地用好这些能力。为此我们构建了一个 AI 奶茶店示例,为大家演示如何更好地使用 AgentScope Java。
这家店能干啥?
首先我们先一起看看这家店能干啥:
![图片:奶茶店功能示意图]
- 奶茶推荐:基于 RAG 知识库检索并结合用户偏好分析,回答有理有据,猜你喜欢。
- 智能下单:不需要繁琐的表单,自然语言直接下单,Agent 自动识别产品、甜度、冰量。
- 订单查询 & 用户反馈:查单、投诉、建议,一站式搞定。
- 记住你的喜好:集成 Mem0 长期记忆服务,熟客无须多言,做更懂你的奶茶店。
这家店怎么做的?
架构解析
首先在总体结构上我们采用了 Supervisor-Worker 架构,同时集成了一些生态组件来达到最终的效果。
其中 AgentScope 多智能体服务层是由一个 Supervisor Agent 和两个 Sub Agent 构成的智能体系统,负责处理店内大大小小的事项;MCP Server 负责处理具体的业务逻辑,可以直接基于传统的业务系统改造;Nacos 负责 Agent 和 MCP 的动态注册和发现;数据持久层负责数据的持久化,包括知识库、会话、记忆、业务数据等。
![图片:系统架构图]
接下来我们一点一点地来拆解这家店,特别是多智能体服务层。
- Supervisor Agent:相当于门店经理,负责接待客户,判断客户意图(点单?咨询?投诉?),然后把活派给对应的子 Agent。
- Business Sub Agent:勤劳的店员,专门处理订单创建、查询、修改以及投诉等业务事项。
- Consult Sub Agent:贴心的客服,接入了 RAG 知识库,能够进行产品推荐,问啥答啥。
能力解析
在这一部分我们来介绍为了实现上述的效果,我们要用到哪些能力,以及要如何进行开发。当然这边我们只能展示一些关键部分的代码片段,完整实现可参考 agentscope-java/agentscope-examples/boba-tea-shop。
ReActAgent:能思考会行动
为了能处理店内大大小小的事项,我们就需要一个能思考会行动的 Agent,而一个符合 Reasoning and Acting 范式的 Agent 能很好地完成这个任务。为了构建这个 Agent 如果不借助框架的话我们需要至少完成以下事项:
- 对接适配各个模型厂商的 API
- 构建 Reasoning 和 Acting 调用的循环
- 支持工具的注册和调用
而在 AgentScope Java 中我们只需要进行一些配置便可以组装出一个 ReActAgent,由 AgentScope 完成上述的事项,同时我们原生支持了多家厂商的协议,包括 DashScope、Anthropic、Gemini、OpenAI。
DashScopeChatModel.Builder
DashScopeChatModel.builder()
.apiKey(dashscopeApiKey)
.modelName(dashscopeModelName)
.formatter( ());
builder.build();
ReActAgent.builder()
.name()
.sysPrompt(sysPrompt)
.toolkit(toolkit)
.model(model)
.memory(memory)
.longTermMemory(longTermMemory)
.build();

