如果你过去几年一直在做 Java 微服务,大概率经历过这条路线:Spring Boot 做应用骨架,Spring Cloud 做服务治理,Nacos / Eureka 做注册配置,Dubbo / OpenFeign 做服务调用,Redis / MQ / MySQL 做基础设施,Prometheus / SkyWalking / OpenTelemetry 做可观测。

这套体系解决的是“业务系统如何拆分、部署、治理和观测”。

但从 2025 到 2026,企业软件的关注点开始变化:AI 不再只是一个旁路能力,不再只是“调一下大模型接口”。越来越多系统开始要求:

  • 业务方法能被 LLM 作为工具调用;
  • 微服务能暴露给 Agent 操作;
  • 知识库、向量检索、RAG 和业务 API 能组合;
  • 工具调用、模型调用、Token 成本、Agent 步骤都能观测;
  • 不同 Agent、不同系统之间能通过协议协作;
  • AI 能进入审批、运维、客服、销售、研发等真实流程。

所以 Java 微服务向 AI 方向探索,不是把 ChatGPT 接到后台页面里,而是把原来的微服务体系升级成 AI 原生应用平台

在这里插入图片描述

一、最新趋势:AI 正在从“模型调用”变成“工程体系”

1. Spring AI 正在把 AI 能力纳入 Spring 生态

Spring AI 的方向很明确:给 Java / Spring 开发者提供统一抽象,把模型调用、工具调用、RAG、向量库、Advisor、观测能力纳入 Spring Boot 应用模型。

Spring AI 官方文档中,Tool Calling 已经是核心能力:框架提供 API 来定义工具、解析模型发起的工具调用请求,并执行工具调用。最新的 Spring AI 2.0 工具调用文章也强调了可组合的 agentic architecture,MCP 工具可以双向集成:应用既能消费远程 MCP server 暴露的工具,也能把 Spring 管理的工具暴露给 MCP client。

这对 Java 微服务非常关键。因为微服务里本来就有大量稳定的业务方法:查询订单、查库存、查客户、生成报表、创建工单、审批流程。过去它们只服务于 REST / RPC 调用,现在可以进一步成为 LLM 可调用的工具。

参考:

  • Spring AI Tool Calling 文档:https://docs.spring.io/spring-ai/reference/api/tools.html
  • Spring AI 2.0 Tool Calling 博文:https://spring.io/blog/2026/06/15/spring-ai-composable-tool-calling
  • Spring AI MCP 文档:https://docs.spring.io/spring-ai/reference/api/mcp/mcp-overview.html

2. MCP 成为 Agent 连接工具和数据的事实标准之一

MCP(Model Context Protocol)的价值在于:它把“模型如何访问工具、资源和上下文”标准化。

对 Java 微服务来说,MCP 很像 AI 时代的“工具总线”。过去系统之间通过 REST、RPC、MQ、SDK 集成;现在 Agent 需要动态发现工具、调用工具、读取资源、操作外部系统。MCP 给这件事提供了统一协议。

Spring AI 文档把 MCP 描述为模型和外部工具 / 资源之间的结构化桥梁,支持多种传输机制。LangChain4j、Quarkus LangChain4j 等 Java 生态也在围绕工具调用、RAG、MCP 做集成。

这意味着 Java 微服务可以有两种演进方式:

  • 作为 MCP client:消费第三方工具,例如 GitHub、Slack、文件系统、数据库、搜索服务;
  • 作为 MCP server:把自己的业务能力暴露给 Agent,例如订单查询、库存校验、审批流、告警分析、代码生成。

3. A2A 把视角从“调用工具”推进到“Agent 协作”

Google 在 2025 年发布 Agent2Agent(A2A)协议,目标是让不同 Agent 能安全通信、交换信息并协调动作。Linux Foundation 也启动了 A2A protocol project,强调多 Agent 动态环境中的发现、协作和跨系统协调。

MCP 更像“Agent 调工具”,A2A 更像“Agent 找 Agent 协作”。

这对微服务架构有一个重要启发:未来的系统不一定只有服务调用服务,还会出现 Agent 调工具、Agent 委派 Agent、Agent 触发工作流。原来的服务治理要扩展到 Agent 治理。

参考:

  • Google A2A 公告:https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/
  • Linux Foundation A2A 项目:https://www.linuxfoundation.org/press/linux-foundation-launches-the-agent2agent-protocol-project-to-enable-secure-intelligent-communication-between-ai-agents

4. AI 可观测正在标准化

传统微服务观测关注 HTTP 请求、RPC 调用、数据库耗时、错误率、链路追踪。

AI 应用还要额外关注:

  • 模型名称;
  • prompt / completion token;
  • 流式响应首 token 时间;
  • 工具调用参数与结果;
  • RAG 检索文档;
  • 向量库查询;
  • Agent 步骤;
  • 成本;
  • 失败原因;
  • 安全拦截和人工审批。

Spring AI 已经基于 Spring 生态提供 ChatClient、Advisor、ChatModel、EmbeddingModel、ImageModel、VectorStore 等核心组件的 metrics 和 tracing 能力。OpenTelemetry 也在推进 GenAI semantic conventions,用 gen_ai.* 这类属性描述 LLM、工具调用、会话、Agent、检索等遥测数据。

参考:

  • Spring AI Observability:https://docs.spring.io/spring-ai/reference/observability/index.html
  • OpenTelemetry GenAI conventions:https://github.com/open-telemetry/semantic-conventions-genai

二、Java 微服务为什么适合向 AI 原生演进

很多人一提 AI 工程就先想到 Python。但企业系统里,Java 仍然占据大量核心业务场景:

  • 订单、库存、支付、结算;
  • CRM、ERP、OA、工单;
  • 风控、审批、权限、审计;
  • 多租户 SaaS;
  • 分布式事务;
  • 高并发网关;
  • 稳定的后台管理系统。

这些系统的价值不在“模型推理”,而在“业务事实”和“可执行动作”。

LLM 本身不知道你公司的订单状态、客户等级、审批规则、库存锁定策略。它需要通过工具访问这些能力。而 Java 微服务正好已经沉淀了这些能力。

所以 Java 向 AI 探索,不应该从“我要重新训练模型”开始,而应该从三件事开始:

  1. 把业务能力工具化;
  2. 把知识和数据上下文化;
  3. 把 Agent 运行纳入治理和观测。

三、从 Java 微服务到 AI 原生平台的五层架构

我建议把演进路线拆成五层。

在这里插入图片描述

第一层:模型接入层

先把模型调用标准化,不要在业务代码里到处写某个厂商的 SDK。

这一层需要解决:

  • 多模型 provider;
  • OpenAI compatible 接入;
  • 本地模型 / 云模型切换;
  • 文本、Embedding、多模态模型区分;
  • 超时、重试、限流;
  • Token 用量统计;
  • 模型降级和 fallback。

在 Spring 生态里,可以用 Spring AI 的 ChatModel、EmbeddingModel、ChatClient 等抽象。更偏轻量应用时,也可以使用 LangChain4j。

关键原则:业务代码不要直接绑定某个模型厂商。

第二层:工具层

工具层是 Java 微服务向 AI 演进的核心。

工具不是随便写几个函数,而是要从服务边界中挑选可控、可审计、可复用的动作:

  • 查询类工具:查订单、查用户、查库存、查合同;
  • 计算类工具:报价、评分、风险评级;
  • 写入类工具:创建工单、发通知、提交审批;
  • 运维类工具:查服务状态、查日志、查配置;
  • 生成类工具:生成代码、生成 SQL、生成报表。

Spring AI 的 @Tool 可以把 Spring Bean 方法暴露成工具。MCP 可以进一步把工具开放给外部 Agent。

但工具层必须加边界:

  • 只读工具默认允许;
  • 写入工具需要权限;
  • 高风险工具需要审批;
  • 参数要校验;
  • 结果要脱敏;
  • 每次调用要进审计日志。

否则 Agent 一旦接入真实业务系统,风险会比普通 API 更高。

第三层:知识与上下文层

RAG 不是把文档扔进向量库就结束。

Java 微服务里的知识来源很多:

  • 数据库结构;
  • API 文档;
  • 业务规则;
  • 操作手册;
  • 工单历史;
  • 合同和制度;
  • 日志和告警;
  • 代码仓库;
  • 配置中心。

这一层需要解决:

  • 文档切分;
  • 向量化;
  • 权限过滤;
  • 元数据管理;
  • 引用溯源;
  • 热点知识缓存;
  • 结构化知识抽取;
  • 知识更新和失效。

对企业系统来说,RAG 的关键不是“能搜到”,而是“搜到的东西有没有权限、是不是最新、能不能追溯来源”。

第四层:Agent / Workflow 层

当工具和知识都有了,下一步就是 Agent 编排。

典型能力包括:

  • 单 Agent 多轮推理;
  • Plan-and-Execute;
  • ReAct 工具调用循环;
  • 多 Agent 委派;
  • 工作流触发;
  • 人工审批;
  • 长任务恢复;
  • 任务进度和目标清单;
  • 失败重试和回滚。

这一层要避免两个极端:

  • 只做聊天框:所有事情都靠 prompt,缺少状态和流程;
  • 过度低代码:画布复杂但执行语义不清楚。

更稳妥的做法是:短任务用 Agent,确定性流程用 Workflow,高风险动作加审批。

第五层:治理与观测层

AI 原生系统进入生产,最容易被低估的是治理。

至少要有:

  • 模型调用日志;
  • Token 和成本统计;
  • 工具调用审计;
  • prompt / response 脱敏;
  • RAG 来源记录;
  • Agent 步骤追踪;
  • 用户权限和租户隔离;
  • 安全策略;
  • 人工审批;
  • 限流和预算;
  • 指标、trace、告警。

传统微服务只看 QPS、延迟和错误率不够了。AI 系统还要看“这个回答用了哪个模型、调用了哪些工具、花了多少 token、引用了哪些文档、有没有越权风险”。

四、微服务改造成 AI 原生系统的推荐路径

不要一开始就做复杂 Agent 平台。更稳的路线是分阶段演进。

阶段 1:先做 AI 网关和模型抽象

把模型调用统一收口:

  • 支持多个 provider;
  • 统一鉴权;
  • 统一日志;
  • 统一 token 统计;
  • 统一错误处理。

这一步的目标是让团队不要在各个服务里散落模型 SDK。

阶段 2:把高价值业务方法工具化

先挑只读工具:

  • 查询订单;
  • 查询客户;
  • 查询库存;
  • 查询工单;
  • 查询字典;
  • 查询系统配置。

只读工具风险低,能快速验证 LLM + 业务系统的组合价值。

然后再逐步开放写入工具:

  • 创建工单;
  • 发通知;
  • 提交审批;
  • 生成报告;
  • 修改配置。

写入工具必须加权限和审计。

阶段 3:接入知识库和 RAG

把业务文档、操作手册、API 文档、错误码、FAQ、历史工单接入知识库。

注意两件事:

  1. 所有回答最好带引用来源;
  2. 检索必须遵守用户权限和租户边界。

阶段 4:引入 MCP

当内部工具稳定后,可以把工具暴露为 MCP server。

这样 IDE、Claude Code、桌面 Agent、内部运维 Agent 都能以统一协议调用企业内部能力。

但 MCP 入口一定要加认证、授权、限流、审计,不要裸露在内网里。

阶段 5:做 Agent 工作流和治理

最后再做复杂的 Agent / Workflow:

  • 工单自动分类;
  • 告警自动诊断;
  • 代码生成和评审;
  • 数据报表生成;
  • 客服自动处理;
  • 合同审查;
  • 运维巡检。

到这一步,AI 已经不是“聊天功能”,而是微服务平台的一种新运行时。

五、典型落地场景

1. 运维诊断 Agent

输入:“为什么订单服务今天错误率升高?”

Agent 可以:

  1. 查 Prometheus 指标;
  2. 查网关错误日志;
  3. 查最近发布记录;
  4. 查 Nacos 配置变更;
  5. 汇总异常接口;
  6. 给出可能原因;
  7. 生成回滚或限流建议。

2. 研发辅助 Agent

输入:“给订单模块新增退款申请聚合。”

Agent 可以:

  1. 读取项目 DDD 规范;
  2. 生成 aggregate / command / event / repository;
  3. 生成 Flyway 迁移;
  4. 生成单元测试;
  5. 调用 Maven 测试;
  6. 输出变更摘要。

3. 客服 / 工单 Agent

输入:“用户说付款成功但订单没更新。”

Agent 可以:

  1. 查询订单状态;
  2. 查询支付流水;
  3. 查询消息队列消费状态;
  4. 判断是否需要补偿;
  5. 创建工单或触发补偿流程;
  6. 给客服生成解释话术。

4. 管理后台 Copilot

在后台页面中,用户不用找菜单,直接输入:

“给这个角色开通订单导出权限。”

Agent 可以理解意图,调用 RBAC 工具,生成变更预览,等待管理员确认后执行。

六、Java 团队要注意的坑

1. 不要把所有 API 都暴露给 LLM

工具越多,模型越容易误选。应该按场景提供工具集,而不是把整个服务 API 全塞进去。

2. 不要让 LLM 直接写数据库

写入动作要走业务服务,不要让模型生成 SQL 直接执行生产库。

3. 不要忽略租户和权限

RAG 检索、工具调用、记忆召回都必须带租户和用户上下文。

4. 不要只记录最终回答

Agent 的中间步骤同样重要。工具调用、检索来源、模型选择、token 成本都要记录。

5. 不要把 prompt 当配置中心

Prompt 是运行逻辑的一部分,应版本化、可回滚、可评审,而不是散落在代码字符串里。

七、一个推荐的 Java AI 微服务技术栈

如果从零开始,我会建议这样选型:

层次 推荐技术
应用框架 Spring Boot 4 / Spring Boot 3.5 LTS 线
微服务治理 Spring Cloud / Dubbo / Nacos
AI 抽象 Spring AI 或 LangChain4j
工具协议 MCP
Agent 协作 A2A 可关注,但先从内部协议 / 工作流做起
向量库 PostgreSQL pgvector / Milvus / Elasticsearch / Redis Vector
观测 Micrometer + OpenTelemetry + Prometheus / Grafana
安全 Sa-Token / Spring Security + 工具审批 + 审计
工作流 Flowable / Camunda / 自研轻量 DSL
文档知识 RAG + 引用溯源 + 权限过滤

这里的关键不是追新,而是保持一个原则:AI 能力必须纳入现有工程治理,而不是绕开它。

八、MateCloud:把这条路线做成一个 Java 工程底座

如果把上面的技术路线落到一个具体工程里,MateCloud 是一个很好的参考方向。

MateCloud 5.0.8 的定位不是“后台管理模板”,而是 AI 原生、云原生的 DDD 微服务脚手架。它基于 Spring Boot 4.0.7、Spring Cloud 2025.1.2、Dubbo 3.3.6、Spring AI 2.0 和 Java 21 构建,试图把传统 Java 微服务体系和 AI Agent 工程体系放在同一套底座里。

在这里插入图片描述

它对应了本文前面提到的几层能力:

演进方向 MateCloud 中的对应能力
模型接入 mate-ai-starter,基于 Spring AI 2.0,支持多模型提供商
工具层 @Tool 自动发现,业务 Spring Bean 方法可暴露为 AI 工具
MCP 协议 mate-cli --mcp,让 Claude Code / Claude Desktop 调用集群工具
微服务治理 Spring Cloud 2025 + Dubbo 3 + Nacos + Gateway
单体到微服务演进 mate-monolith 支持 local / dubbo 双形态
领域建模 DDD 四层 + CQRS 读写分离
横切能力 27 个 Starter:缓存、MQ、租户、安全、可观测、AI、测试等
企业治理 多租户、数据权限、审计日志、接口签名、限流、幂等

MateCloud 里比较有代表性的设计,是它没有把 AI 做成一个孤立模块,而是把 AI 放进原有微服务工程体系:

  • 业务方法通过 @Tool 成为 Agent 可调用动作;
  • CLI 不只做脚手架,也能作为 MCP Server;
  • AI 对话、工具调用、服务发现、代码生成、配置初始化可以进入同一条工程链路;
  • 单体模式可以降低开发启动成本,微服务模式又能接回 Nacos、Dubbo、网关、灰度和限流体系。

这正是 Java 微服务向 AI 原生演进时更现实的方式:不是推翻现有架构,而是把模型、工具、知识、治理逐层接到现有工程能力上。

MateCloud 当前版本也提供了真实后台界面,下面是工作台和微服务灰度治理相关截图:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

项目地址:

  • GitHub:https://github.com/mateaix/matecloud
  • Gitee:https://gitee.com/matevip/matecloud
  • 官网:https://mate.vip

九、结论:Java 微服务的下一步是 Agentic Backend

Java 微服务过去解决的是“服务如何拆、如何调、如何管”。

AI 原生阶段要解决的是:

  • 模型如何安全访问业务能力;
  • Agent 如何使用工具和知识;
  • 多 Agent 如何协作;
  • AI 调用如何审计和观测;
  • 业务系统如何从 API-first 走向 Agent-ready。

对 Java 团队来说,优势不是训练模型,而是把多年沉淀的业务服务、权限体系、审计体系、数据模型和运维体系,变成 Agent 可理解、可调用、可治理的能力。

未来几年,优秀的 Java 微服务平台不会只是 Spring Cloud + CRUD + 网关,而会变成:

Spring Cloud + Spring AI + MCP + RAG + Workflow + Observability + Governance

也就是一个真正的 Agentic Backend

参考资料

  • Spring AI Tool Calling:https://docs.spring.io/spring-ai/reference/api/tools.html
  • Spring AI 2.0 Tool Calling:https://spring.io/blog/2026/06/15/spring-ai-composable-tool-calling
  • Spring AI MCP:https://docs.spring.io/spring-ai/reference/api/mcp/mcp-overview.html
  • Spring AI Observability:https://docs.spring.io/spring-ai/reference/observability/index.html
  • LangChain4j:https://github.com/langchain4j/langchain4j
  • Google A2A:https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/
  • Linux Foundation A2A:https://www.linuxfoundation.org/press/linux-foundation-launches-the-agent2agent-protocol-project-to-enable-secure-intelligent-communication-between-ai-agents
  • OpenTelemetry GenAI:https://github.com/open-telemetry/semantic-conventions-genai
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐