
导读
在 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 滥用
📊 技术栈对比:为什么是这些选择?
🆚 与 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 智能体成长伙伴
夜雨聆风