本教程将完整展示如何利用 JManus 框架,在 Serverless 运行时上构建并部署企业级高可用的多智能体应用。我们将深入阐述其核心特性与性能优势,并通过一个完整的实战示例,带您从零开始部署智能体应用、集成 MCP 服务,最终实现诸如查询天气等智能任务。
一、JManus:面向 Java 的企业级通用智能体框架
JManus 是一个以 Java 为核心、完全开源的 OpenManus 实现,隶属于 Spring AI Alibaba 项目。它旨在让 Java 开发者更便捷地运用 AI 技术,支持多智能体框架、网页配置 Agent、MCP 协议以及 PLAN-ACT 模式。该项目在 GitHub 上已获得近 3k star,并可集成多个大模型,如 Claude 3.5 和 Qwen3。
JManus 的核心特性
- 完美实现 OpenManus 多智能体框架
借助 Spring AI 与 Java 的深度整合,开发者能够轻松构建和管理多个智能体,使复杂任务的分工与协作变得高效且可控。 - 无缝支持 MCP(Model Context Protocol)协议
智能体不仅可以调用本地或云端的大语言模型,还能与各类外部服务、API、数据库等进行深度交互,极大拓展了应用场景与能力边界。 - 原生支持 PLAN-ACT 模式
该模式赋予智能体复杂推理、分步执行和动态调整的能力,适用于多轮对话、复杂决策、自动化流程等高阶 AI 应用场景。
随着多智能体业务场景的逐渐成熟,企业迫切需要像 JManus 这样的框架来构建通用的业务逻辑。Spring AI Alibaba 也在不断探索多智能体支持,以满足更多用户的实际需求。
二、卓越的运行时性能:基于 Spring AI Alibaba 的优势
基于 Spring AI Alibaba 构建的智能体应用,相较于 Dify 等低代码平台构建的智能体,在性能和可用性方面具有显著优势。从 Dify 可视化界面可以一键导出 Spring AI Alibaba 工程。下图展示了从 Dify 导出为 SAA 工程后,运行模式性能的对比变化:
对比示例:
- Dify 智能体压测:(此处应有图片)
- 基于 Dify 导出的 Spring AI Alibaba 智能体应用压测:(此处应有图片)
综上所述:Dify 适合在测试环境中快速验证想法,而生产环境则推荐使用性能更优的 SAA Java 运行时。
小提示: 如果您希望快速测试智能体原型或进行低代码可视化编排,Dify 是不错的选择。但当需要投入生产环境、追求极致性能和稳定性时,请果断选择基于 Spring AI Alibaba 的 Java 运行时。
三、弹性高可用的智能体运行环境:SAE 与 FC
在智能体应用的构建与运行过程中,传统的低代码平台架构存在明显瓶颈:所有智能体共享单一 Pod 资源,在高流量场景下容易导致性能干扰与资源争用。而基于 JManus 与 阿里云 SAE 的智能体应用,通过全栈 Serverless 能力,在高可用性、弹性扩展、性能优化与成本控制等方面展现出显著优势。
1. 高可用性
- 隔离的网络与资源环境:每个智能体应用运行在隔离的 VPC 网络和资源隔离的安全容器中,不同智能体应用享有独占的弹性资源,不会产生性能挤占问题。
- 多可用区部署:智能体应用默认部署于多可用区,可有效避免单点故障,保障数据链路的持续可用。
- 金丝雀发布与灰度流量验证:
- 分批灰度发布:通过 SAE 内置的灰度发布策略,逐步将流量切换至新版本,降低发布风险。
- 全链路灰度:集成 MSE 微服务治理,支持从网关到应用的全链路灰度流量控制,确保验证过程无损。
- 无损上下线:利用微服务治理能力,实现应用的平滑启停,避免因版本切换导致的服务中断。
2. 秒级弹性伸缩
- 多维度弹性策略:根据 CPU、内存、QPS、RT 等指标自动触发扩缩容,确保高并发场景下的服务稳定性。
- 毫秒级资源拉起:SAE 支持 秒级 Pod 启动,能够快速响应突发流量,避免传统架构因冷启动导致的响应延迟。同时,针对 Pod 启动阶段进行了深入优化,减少了调度和网卡挂载的延迟。
3. 极致性能
- 加速镜像:利用阿里云 DADI 技术,加速镜像拉取与启动,缩短应用初始化时间。
- Java Runtime 启动加速:特别针对 Java 应用,SAE 提供 JVM 快照、类预加载、JIT 优化 等特性,显著降低 JVM 启动耗时。
- 长连接支持:集成 CLB/NLB 网关,支持 keep-alive 模式,保障 SSE(Server-Sent Events)等长连接场景的稳定性,避免请求中断。
四、工具执行的安全沙箱:函数计算 FC
在智能体的工具调用或任务执行过程中,安全性与资源效率是两大核心挑战。为应对这一需求,函数计算(FC)通过其独特的毫秒级冷启动能力和弹性资源调度机制,为工具执行提供了理想的安全沙箱环境。同时,结合 MCP 工具市场的生态支持,进一步提升了系统的可靠性和开发效率。
1. 安全沙箱的实现:隔离与防护
- 容器化隔离:每个工具调用任务在 FC 中被封装为独立的容器实例,运行于轻量级虚拟机(VM)中,确保任务之间的资源隔离,避免因代码缺陷或恶意行为导致系统崩溃或数据泄露。
- 权限控制:FC 支持细粒度的权限管理(如 IAM 角色绑定),限制容器对主机系统、网络及存储的访问权限,防止越权操作。
- 运行时安全加固:通过默认禁用高危操作(如文件系统写入、进程创建)和强制使用只读文件系统,进一步降低安全风险。
2. 极致弹性与按需付费
- 毫秒级冷启动:函数计算 FC 能在 毫秒级 启动容器实例,快速响应瞬时高并发请求,避免传统服务器因预热延迟导致的性能瓶颈。
- 弹性伸缩:根据实时流量自动扩缩容,确保在空闲时段仅保留最小资源占用,而在流量高峰时动态分配更多计算资源,实现成本与性能的平衡。
- 按需计费:仅对实际执行时间(按毫秒计)和资源消耗收费,避免闲置资源浪费,尤其适合智能体工具调用的间歇性高并发特性。
此外,函数计算支持 MCP 市场,可以一键部署多种 MCP 工具,极大简化开发流程。
五、实战示例:从零部署 JManus 智能体应用
本部分将通过一个完整的示例,带您一步步部署 JManus 应用到 Serverless 平台,并配置 MCP 服务,实现智能体查询实时天气的功能。
示例架构图
(此处应有图片,展示 JManus、SAE、FC 之间的调用关系)
步骤一:部署 JManus 应用到 SAE
- 申请百炼的 OPENAI_API_KEY:这是调用大模型的关键凭证。
- 访问 SAE 控制台应用中心:打开链接 https://saenext.console.aliyun.com/cn-hangzhou/scene-market,选择 JManus 模版 并点击部署。
- 填写配置:
- 在部署界面,选择对应的 VPC 网络配置。
- 填入步骤1获取的 OPENAI_API_KEY。
- 弹性公网 IP 可以选择“新建弹性公网”,确保您的应用可以访问外部网络。
- 配置完成后,点击 立即创建,即可开始部署流程。
小提示: 请确保您的 OPENAI_API_KEY 拥有充足的额度,并且网络环境能够正常访问 OpenAI API(或您选择的百炼模型端点)。若部署失败,请检查 VPC 和安全组配置是否正确。
步骤二:部署完成后获取访问地址
- 部署完成后,在 计算巢服务实例 的“立即使用”页面可以找到可直接访问的地址。
- 您也可以在 SAE 控制台 的“微服务应用”中查看 JManus 应用的 公网访问地址。
步骤三:开发 MCP 服务并部署到函数计算
- 进入 Function AI 控制台 MCP 市场:访问链接 https://functionai.console.aliyun.com/plugins?tab=plugins_platform&subtab=mcp。
- 选择 实时天气 MCP 服务,点击 一键部署。
- 部署完成后,您将获得一个可远端访问的 SSE 地址(例如:
https://defauxxx-xxxxxx.cn-shanghai-vpc.fcapp.run/sse),该地址将用于后续的 MCP 配置。
步骤四:JManus 自定义智能体与 MCP 配置
- 回到对话界面,点击“设置”选项。
- 配置 MCP 服务:在 JManus 的 MCP 配置中,添加函数计算部署的 MCP 服务地址。
配置内容示例如下:
{
"mcpServers": {
"openwether": {
"type": "sse",
"url": "https://defauxxx-xxxxxx.cn-shanghai-vpc.fcapp.run/sse",
"timeout": 45000
}
}
}
- 创建智能体并为智能体配置工具:创建新的智能体,并在其工具配置中关联刚才创建的 MCP 服务(如“openwether”)。
- 验证效果:配置完成后,回到对话框,询问“今天天气怎么样?” 或 “查询一下北京的天气”。您将看到智能体调用外部工具并返回实时的天气信息。
常见问题(FAQ)
- 问:部署完一整套流程后,智能体提示“MCP 服务不可用”怎么办?
答: 首先,请检查函数计算(FC)的控制台,确认 MCP 服务(如天气服务)是否已成功部署并处于运行中。其次,核对 JManus 应用的网络配置,确保其能够通过公网或内网访问到 FC 的 SSE 端点。如果使用了内网地址,请确保 SAE 和 FC 在同一个 VPC 下。 - 问:SAE 的冷启动时间长,导致请求卡顿,如何优化?
答: 可以尝试以下优化策略:1)在 SAE 设置中开启“最小实例数”,保留至少一个实例常驻,避免第一次请求的冷启动。2)启用 SAE 提供的 Java Runtime 启动加速 特性(如 JVM 快照、类预加载)。3)如果业务负载有规律,可以设置“定时弹性策略”,提前扩容。 - 问:函数计算的按需付费成本会不会很高?
答: 函数计算 FC 的计费模式非常灵活,它仅对实际执行时间和资源消耗收费。对于智能体工具调用这类间歇性、有波峰波谷的业务,FC 可以做到“无调用不收费”,在空闲时段无任何费用,比传统的预留机器更节省成本。建议设置合理的 预留实例 和 并发上限,以更好地控制成本。
总结与展望
本文展示了基于 Serverless 平台 SAE(Serverless 应用引擎)和 FC(函数计算),作为 JManus 框架的运行时,能够实现强强联合的效果。这既满足了通用智能体开发的业务场景需求,也满足了企业生产级高可用的运行时环境要求。
基于 Serverless 安全容器,还能满足 browser use 等工具和代码执行的安全隔离环境需求,是用户基于云原生构建智能体应用的不二选择。
未来,SAE 将与 Spring AI Alibaba 进行更深入的集成,为 Java 开发者提供最佳的智能体应用运行时体验。
