乐于分享
好东西不私藏

Java 写的 AI Agent 平台:Spring Boot + Next.js,能否挑战 Python 的统治地位?

Java 写的 AI Agent 平台:Spring Boot + Next.js,能否挑战 Python 的统治地位?

导读

在 AI Agent 开发领域,Python 几乎占据了绝对主导地位。但 GitHub 上的 RAG-Agent-Platform 项目选择了截然不同的技术路线——后端用 Java 17 + Spring Boot 3.2,前端用 Next.js 15,采用 DDD 分层架构,参照 Dify 的产品设计思路,构建了一个企业级多租户智能体 SaaS 平台。本文深入分析这个项目的架构设计,以及 Java 在 AI 时代的独特优势。

https://github.com/NEDONION/RAG-Agent-Platform

🎯 Python 之外,还有 Java

当你搜索"AI Agent 框架"时,搜索结果几乎被 Python 生态垄断:LangChain、LlamaIndex、CrewAI、AutoGen……但 RAG-Agent-Platform 选择了一条少有人走的路:用 Java 构建 AI 智能体平台

这不是为了标新立异,而是有着非常务实的考量:

企业 Java 生态成熟:Spring Boot 的依赖注入、事务管理、安全框架,经过二十年的打磨,在微服务、多租户、高可用方面的能力远超 Python 生态。

工程化程度更高:类型系统、编译期检查、成熟的 CI/CD 工具链、完善的监控体系——这些正是从"实验性 AI 项目"走向"生产级 SaaS 平台"所需要的。

LangChain4j 的崛起:作为 LangChain 的 Java 移植版本,LangChain4j 已经支持了 Agent 编排、Function Calling、多模态等核心能力,让 Java 开发者也能用上标准化的 AI 开发框架。

🏗️ DDD 分层架构:不只是"分层"那么简单

这个项目的架构设计参照了 Dify,但采用了更严格的 DDD(领域驱动设计) 分层:

接口层 → 应用层 → 领域层 → 基础设施层

每一层有明确的职责边界:

接口层:REST Controller 和 WebSocket Handler,只负责接收请求和返回响应。

应用层:AgentAppService、RagAppService 等,定义事务边界,协调多个领域服务完成业务操作。

领域层:核心业务逻辑所在,包含 Agent 领域、RAG 领域、LLM 领域、工具领域、用户领域。领域服务不依赖任何基础设施。

基础设施层:Repository 实现(MyBatis-Plus)、LLM 工厂、Docker 客户端、OSS 客户端。

这种架构的关键优势在于:领域层是纯业务逻辑,不耦合任何技术框架。这意味着你可以替换数据库、替换 LLM 提供商、替换对象存储,而核心业务逻辑不需要改动。

🔧 多租户 SaaS 平台的核心能力

这个项目的定位不是"一个 AI 应用",而是"一个平台,让每个人都能创建自己的 AI Agent"。它提供了以下核心能力:

智能知识库

用户上传 PDF、Word、TXT、Markdown 文档,系统自动通过 Vision LLM 进行 OCR 识别——不仅能提取文字,还能识别数学公式、表格、代码块。这在处理技术文档时特别有用。

处理完成后自动向量化存入 PGVector,用户可以实时看到 OCR 和向量化的处理进度(0-100%)。

Agent 编排

基于 LangChain4j,用户可以:

  • 创建智能体并配置 System Prompt
  • 集成 MCP 工具(容器化管理,支持 Docker/GitHub/NPM 部署)
  • 关联知识库进行 RAG 增强
  • 支持多模态输入(文本+图像)

完整的版本管理流程:草稿编辑 → 审核 → 发布 → 回滚

MCP 工具生态

MCP(Model Context Protocol)是当前 AI 工具调用的标准协议。这个项目实现了完整的 MCP 工具管理:

  • 工具定义(Function Schema)
  • 容器化部署(通过 Docker Engine 自动拉起工具服务)
  • 工具调用(Function Calling)
  • 预设参数加密存储

多租户隔离

这是企业级 SaaS 的核心要求:

  • 数据库层面隔离:通过 MyBatis-Plus 插件实现租户数据自动过滤
  • JWT 无状态认证:7 天有效期,减少服务端状态维护
  • API Key 加密存储:AES 加密,防止密钥泄露
  • 限流保护:Guava RateLimiter 防止 API 滥用

📊 技术栈对比:为什么是这些选择?

组件
选择
理由
后端框架
Spring Boot 3.2
企业级微服务最佳实践
AI 框架
LangChain4j
Java 生态最成熟的 AI 编排框架
ORM
MyBatis-Plus
国内使用率高,社区活跃
数据库
PostgreSQL + PGVector
关系型+向量一体化,降低运维复杂度
消息队列
RabbitMQ
支持复杂路由,适合 RAG 异步处理流程
对象存储
七牛云 KODO
国内访问速度快,成本低
LLM 服务商
SiliconFlow
国产模型聚合平台,性价比高
前端
Next.js 15
SSR 性能优势,适合 SaaS 平台

🆚 与 Python 方案的对比

VS Dify(Python):Dify 的零代码编排对非开发者更友好,但 RAG-Agent-Platform 的 DDD 架构在代码可维护性和扩展性上更有优势,适合有 Java 开发能力的团队深度定制。

VS LangChain(Python):LangChain 是框架级方案,需要自己搭建前后端和部署;RAG-Agent-Platform 是平台级方案,开箱即用。

VS 纯 Python 方案:Python 在 AI 原型开发上有优势,但在高并发、多租户、类型安全、编译检查等方面,Java 的企业级能力更加成熟。

💡 适合谁用?

有 Java 技术栈的企业:如果你团队的主力语言是 Java,想在现有技术体系内引入 AI 能力,这个项目是最自然的选择。

想做 SaaS 化 AI 平台的创业者:多租户、版本管理、计费追踪、工具市场——这些功能已经内置,你可以直接在此基础上构建自己的产品。

学习 DDD + AI 架构的开发者:这个项目展示了如何将领域驱动设计的思想应用到 AI 系统中,是非常有价值的学习素材。

结语

AI 开发的未来不会只属于某一种语言。Python 在算法和原型方面有天然优势,但当 AI 应用走向企业级、平台级、SaaS 级时,Java 在工程化、类型安全、微服务架构等方面的积累,同样不可替代。

RAG-Agent-Platform 证明了:Java 不仅能写 AI Agent,而且能写出架构严谨、扩展灵活、适合生产部署的企业级平台。

在 AI 技术快速迭代的同时,工程质量的门槛也在提高。用对的工具做对的事,或许才是 AI 开发最务实的态度。


🦞 龙虾之心 | OpenClaw Heart | AI 智能体成长伙伴