夜雨聆风学习资料网

ARTICLE · 1104028

软件架构 30 年:从单体到 AI 智能体

软件架构 30 年:从单体到 AI 智能体

前言 | 三十年,五站路

WHY ARCHITECTURE EVOLVES

把软件系统比作建筑是个老掉牙的说法,但确实贴切:架构是承重结构,平时看不见,出事时最要命。这三十年,这栋楼从一栋大楼(单体)拆成了一个小区(微服务),学会了自动开关灯(云原生),最近住进了一位会思考的管家(AI 智能体)。

每次拆楼的原因各不相同,动机只有一个:业务变化越来越快,流量波动越来越猛,人越来越贵。每一代新架构,都是对上一代痛点的回应。

图1

架构演进时间线

1990s — 2026

单体

1990s

一个进程打天下

SOA

2005–11

总线串起万法

微服务

2012–17

拆分而自治

云原生

2018–22

弹性而自愈

智能体

2023–今

意图即指令

站点
关键技术
解决了什么
留下了什么
单体
Spring MVC · MyBatis
用最简单的方式把业务跑起来
改一行,重启全部
SOA
ESB · SOAP · BPEL
打通异构系统的数据孤岛
总线一堵,全企业瘫痪
微服务
Spring Cloud · Dubbo · Docker
按模块独立扩展、独立发布
分布式复杂度、运维账单
云原生
K8s · Serverless · GitOps
让弹性、自愈、快速交付成为习惯
厂商锁定、成本失控
智能体
LLM · MCP · A2A · RAG
从执行指令升级为理解意图
幻觉、Token 成本、评估难

表 1 | 五站速览

第①章 | 单体架构:铁布衫

MONOLITHIC · 1990s — 2004

铁布衫一体成型、刀枪不入——破不了防就什么都好,一旦破防就是内伤。单体架构就是这样:所有功能——页面、订单、库存、支付、报表——全部塞进一个进程、打成一个 WAR 包,跑在一台 Tomcat 上。那个年代的主流配置,就是 SSH/SSM 三件套加一个 Oracle。

它的好处到今天依然成立:所有代码在一个工程里,IDE 里点一下就能跳转;所有数据在一个库里,ACID 事务保证转账不会转丢钱;部署就是把包扔上服务器。人少、业务简单的阶段,这是性价比最高的架构,没有之一。

图2

单体分层架构:一栋大楼的剖面

ALL IN ONE

浏

PC 浏览器

运

运营后台

脚

定时脚本

▼ HTTP 请求

表现层

JSP / FreeMarker / HTML

▼

控制层

Struts2 / Spring MVC

▼

业务层

Spring Service · 事务边界

▼

持久层

MyBatis / Hibernate

▼ JDBC

库

数据库(唯一)

Oracle / MySQL · ACID

一个 WAR 包 · 一个进程 · 一个库 · 一次部署

大楼越盖越高,问题就来了。第一,牵一发动全身:改一行运费逻辑,全量回归测试跑一遍,谁也不敢说不测。第二,技术栈绑死:报表模块想用 Python 生态?没门,整个工程是 Java 的。第三,单点故障:月底跑报表把 CPU 打满,正在下单的用户一起陪葬。第四,团队协作撞墙:三十个人改同一个工程,分支合并是日常打仗。

案例实录 | 口径:某电商项目的脱敏复述

2013 年XX参与过一个电商单体,30 万行代码一个工程。上线一次要凌晨两点开始,全量回归跑六个小时,谁改的代码谁守到天亮。最深的恐惧不是改不动,是"不敢改"——三年下来,没有人敢碰那块没人看得懂的库存扣减逻辑,所有人都绕着走。

第②章 | SOA:太极剑

SERVICE-ORIENTED · 2005 — 2011

企业信息化跑过十年,长出了一片烟囱:ERP、CRM、OA、财务、人力,几十个系统各自为政,数据老死不相往来。银行客户经理想看一个客户的全景,得开五个系统挨个查。这时候 SOA(面向服务架构)登场,思路很太极——不硬拆系统,以柔克刚:把存量系统的能力包装成"服务",再用一根企业级总线(ESB)串起来,让能力流动。

这套体系有一整套规范:SOAP 协议传 XML 报文,WSDL 描述接口长什么样,UDDI 做服务注册与发现,BPEL 把服务编排成流程。那个年代的 IT 大词叫"服务化改造",咨询公司和中间件厂商的最爱。

图3

SOA 总线架构:万物过总线

ESB CENTERED

门户系统

消费方

CRM

消费方

合作伙伴

消费方

▼ SOAP / XML 报文

总

企业服务总线 ESB

中枢神经 · 必经之路

路由

协议转换

流程编排

监控计费

▼ 服务寻址(UDDI 注册中心)

订单服务

包装自 ERP

客户服务

包装自 CRM

库存服务

包装自 WMS

支付服务

包装自财务

SOA 的历史功劳是真实存在的:老系统的接口包一层服务,新系统就能复用;跨系统的流程第一次可以被编排。但它自己也长出了新的病根——中枢太重。所有流量都过 ESB,总线一堵,全企业瘫痪;SOAP 报文又长又难调试,抓包看一眼 XML 能看瞎眼;整套治理规范太贵,中小团队根本玩不起。太极剑再柔,也架不住剑鞘是金子做的。

不过 SOA 没有白走。它留下的思想被微服务全盘继承:WSDL 进化成 OpenAPI(Swagger),ESB 简化成轻量 API 网关,服务注册从 UDDI 换成 Nacos、Consul。壳换了一代,魂是一脉相承。

踩坑记 | 口径:行业公开案例的常见情节

一家制造企业上 ESB,厂商报价七位数。上线第一年,总线上真正跑起来的业务只有三个;第二年,一次总线升级把 ERP 接口全弄断,财务停账半天。CIO 事后总结得很精辟:我们买回了一个中枢神经,但企业还没进化出匹配的大脑。

第③章 | 微服务:独孤九剑

MICROSERVICES · 2012 — 2017

互联网大流量把单体逼到了墙角,SOA 又太重。微服务的答案是独孤九剑的核心思路——拆,料敌机先。按业务边界把系统拆成一组小服务:独立进程、独立数据库、独立部署、独立扩容。订单服务大促加机器,报表服务常年躺着,互不牵连。2014 年 Martin Fowler 给这套打法正式定名,Spring Cloud 与 Dubbo 两大门派几乎同时立山头,从此"拆服务"成了架构师的本能反应。

图4

微服务全家桶:拆开容易,养起来贵

MICROSERVICE STACK

API 网关

统一入口 · 鉴权 · 限流 · 路由

▼ 路由到各服务

订

订单

独立库

商

商品

独立库

库

库存

独立库

支

支付

独立库

用

用户

独立库

服务间调用:Dubbo RPC · Feign REST

注册发现

Nacos

配置中心

Apollo

链路追踪

SkyWalking

熔断限流

Sentinel

底座:Docker 容器化 · 每个服务独立构建与发布

拆的好处立竿见影:发布互不干扰,扩容按需分配,故障被隔离在单个服务里。但独孤九剑的剑谱后半本,写满了代价——

拆分的四笔账

▸ 分布式事务:下一个单要动三个库,一致性从数据库的份内事变成架构师的头等难题(Saga、TCC、最终一致)。

▸ 排查变难:一个请求穿五个服务,没有链路追踪等于盲人摸象。

▸ 运维爆炸:三个服务靠人肉,三十个服务逼出了 SRE 这个新工种和一整套平台工程。

▸ 组织挑战:康威定律显灵——系统结构映射组织沟通结构。只拆系统不拆团队,得到的是"分布式单体":部署是分布式的,耦合还是铁板一块。

所以微服务从来不是免费的午餐,它是用运维复杂度换研发效率、用最终一致换扩展能力的交易。团队不到一定规模、没有平台工程兜底,这笔账大概率是亏的。

踩坑记 | 口径:某项目的脱敏复述

大促前一晚,下单链路偶发 502。排查要串起网关、订单、库存、优惠券四个服务的二十来份日志,全组熬了一宿,最后发现是某服务的超时配置差了三秒。单体时代一个断点就能解决的事,微服务时代需要一支小队。拆之前,先掂量你的排查工具箱。

第④章 | 云原生:凌波微步

CLOUD NATIVE · 2018 — 2022

微服务拆出了几百个服务,谁来调度、谁来扩容、谁来保证发布不翻车?云原生的答案像凌波微步——不求力大,只求身法:一切资源可编程、可弹性、可自愈。三个里程碑定了调:2013 年 Docker 把应用打包成标准容器,"在我机器上能跑"从此失效;2014 年 Kubernetes 赢下容器编排大战,调度变成声明式;同年 AWS Lambda 开启 Serverless,代码连服务器都不用管了,按调用量毫秒级计费。

图5

云原生交付流水线:从提交到自愈

CI / CD PIPELINE

1

代码提交

Git · GitOps 声明式

▼

2

CI 构建镜像

自动化测试 · 打包镜像

▼

3

CD 滚动发布

灰度 · 蓝绿 · 一键回滚

▼ 部署到集群

Kubernetes 集群

调度 · 自愈 · 声明式

Pod × 2

平时

▸▸▸

Pod × 8

大促

▸▸▸

Pod × 2

回落

HPA 按流量自动伸缩 · 实例挂了自动拉起

服务网格

Istio 治理下沉

Serverless

Lambda 计费

IaC

Terraform

同一时期,大数据栈也完成了自己的进化:2006 年 Hadoop 用廉价机器扛住离线批处理,Spark 把计算搬进内存快了一个量级,Flink 让实时流处理成为标配,最终走向湖仓一体。它们的调度思想和 K8s 同源——把资源当池子,把任务当可调度的单元。到这一步,计算和存储的弹性问题基本解决,架构的重心开始从"怎么跑起来"转向"怎么跑得省、看得清"。代价当然也有:多云厂商锁定、K8s 本身的学习曲线,还有月底吓人的云账单——成本治理成了新的必修课。

现场实录 | 口径:行业常见量级

一家中型电商全面容器化之后:资源利用率从长期不足两成提到六成上下,发布从每周两三次提速到每天十余次,大促扩容从提前两天手工准备变成半小时自动完成。最大的意外收获是故障恢复——凌晨实例挂掉,K8s 自动拉起,值班同学是第二天早上看报表才知道的。

第⑤章 | AI 智能体:无招胜有招

AI AGENT · 2023 — 至今

前四站再怎么演进,有个前提没变过:系统只执行指令,人负责想。AI 智能体把这个前提掀了——你给意图,它来规划、拆解、调用工具、检查结果,做错了还会换个思路重试。独孤九剑练到最后是无招胜有招:招式(流程)不再预先写死,临场见招拆招。

这不是又一个框架,而是一种新的系统形态。把它拆开看,一共四层,如图 6。

图6

AI 智能体四层架构

AGENT STACK

交互层

人机对话 · 意图输入

对话窗口

API 接入

语音

人工卡点

▼ 意图与结果上下行

决策层

大脑所在 · 规划与反思

LLM 大脑

推理 · 规划

Agent 框架

LangChain

Skill 技能包

按需加载

记忆

短期 · 长期

▼ Function Calling 工具调用

能力层

工具接入 · 协议统一

MCP 协议

查订单

发邮件

调 API

跑脚本

▼ 检索增强 RAG 取知识

知识层

事实与经验的底座

向量库

Milvus 等

知识图谱

实体关系

企业文档

规章 · 手册

四层各司其职:交互层管人和智能体怎么说话,决策层管怎么想,能力层管怎么动手,知识层管凭什么相信。真正的新东西都在决策层——过去十五年我们写的 if-else 流程代码,一大半正在从"业务逻辑"变成"可被替换的执行细节"。而撑起这套形态的,是七件兵器。

器

七件兵器:每件都对得上图 6 的层

AGENT ARSENAL

一

LLM 大脑

决策层

Transformer 架构 2017 年埋下种子,2022 年 ChatGPT 引爆。理解、推理、规划、生成全靠它。选型看三件事:智力够不够、成本扛不扛得住、时延用户等不等得起——通常三个不能全要。

二

Agent 框架

决策层

LangChain(2022)之于智能体,约等于 Spring 之于后端:编排流程、管理状态、串接工具的脚手架。要多个智能体分工协作,用 AutoGen 这类多智能体框架搭班子。

三

Function Calling

能力层

2023 年开放的能力:LLM 不再只会说,还能输出结构化的"我要调哪个工具、传什么参数",执行仍由你的代码完成。从"会说"到"会做"的第一步。

四

MCP 协议

能力层

Anthropic 2024 年发布。此前每个工具接 LLM 都要写一遍胶水代码;MCP 把工具接入统一成标准协议,写一次、处处可用,生态位相当于工具世界的 USB-C。仍在快速迭代,协议细节以官方为准。

五

Agent Skill 技能包

决策层

2025 年 Claude 提出的机制:SKILL.md 加脚本按需加载,平时只带目录,用到哪套技能才把哪本"说明书"装进上下文。一句话区分:RAG 给资料,Skill 给操作手册。

六

RAG

知识层

检索增强生成:先从向量库捞相关片段,再让模型带着上下文回答。治幻觉的特效药,企业知识库落地的主流方案——模型可以换,知识库永远是自己的。

七

记忆机制

知识层

短期记忆在上下文窗口里,长期记忆靠外部存储加检索,用记忆图谱记实体关系。从"检索到"进化到"记住",上下文工程随之成了新显学。

码

五分钟上手:把内部 API 包装成 MCP 工具

PSEUDO CODE

@mcp.tool(description="按订单号查询订单状态")

defget_order(order_id: str) -> dict:

return api.get(f"/orders/{order_id}")

# 原接口原封不动,注册、发现、鉴权协议包办

# Agent 自己会找过来调,不用为它改一行代码

七件兵器凑齐,落地时真正伤筋动骨的是三个范式转变,如图 7。

图7

三大范式转变:伤筋动骨的部分

PARADIGM SHIFTS

转变一 | 交互方式

界面点击 · 表单填写

→

自然语言说意图

转变二 | 流程编排

代码写死每一步

→

LLM 动态规划路径

转变三 | 系统集成

API 对 API 点对点

→

MCP / A2A 语义对齐

5.1 | 从 MCP 到 A2A:智能体的 TCP/IP 时刻

AGENT TO AGENT PROTOCOL

MCP 解决的是智能体与工具之间怎么说话,A2A(Agent2Agent)解决的是智能体之间怎么协作:你的行程智能体直接找航空公司的订票智能体砍价,不用任何人在中间写集成代码。Google 2025 年 4 月牵头发布 A2A,每个智能体持有一张 Agent Card——本质是机器可读的名片,写明"我是谁、我会什么、怎么找到我";配套的 AP2 协议让智能体之间能直接谈钱。行业里称这为智能体的 TCP/IP 时刻:协议一旦统一,协作网络就会自己长出来。

但别只看热闹。智能体联网带来了新攻击面——Lateral AIjacking(横向智能体劫持):一个被入侵的智能体混进协作网络,冒充"同事"骗取上下文和权限。防御思路和零信任一脉相承:身份双向验证、最小权限、敏感操作留痕。分布式系统的老安全课,智能体网络要重修一遍。

适用边界 | 先对号入座,再谈上车

适合上:高频低风险的重复脑力劳动(客服问答、报表解读、代码补全);知识密集但边界清晰(内部规章问答);多步骤但可回滚(数据搬运、定时巡检)。

先别上:高危终审决策(放贷审批最后一道关);毫秒级响应(交易撮合);零容错对账(支付核算)。一句话:让智能体当实习生,别让它当出纳。

第⑥章 | 华山论剑:智能体重构 4A

ENTERPRISE 4A RESHAPED

企业架构有个经典的 4A 框架:业务架构 BA、应用架构 AA、数据架构 DA、技术架构 TA。华山论剑论的就是这个——智能体杀进来之后,四张剑谱都得改写。它不是在系统里"加个 AI 模块",而是从业务到技术的四层联动重构,如图 8。

图8

4A 架构:四张剑谱同时改写

4A RESHAPED

B

业务架构 BA

流程固化

↓

意图驱动 · 动态编排

D

数据架构 DA

结构化查询

↓

语义检索 · 知识服务

A

应用架构 AA

API 点对点编排

↓

能力注册 · MCP 化

T

技术架构 TA

资源调度

↓

算力编排 · Token 治理

BA 业务架构:流程固化 → 意图驱动。过去业务架构的载体是流程图,BPMN 画到三级、每一步谁审批都写死。智能体时代,用户只表达意图,路径由智能体临场规划。业务架构师的工作从"画流程"变成"定边界":哪些意图可以自动满足、哪些必须留人工卡点、失控了怎么熔断。相应地,一线岗位从执行流程转为监督智能体——考核指标也要跟着换,否则就会复刻上面发券的翻车。

AA 应用架构:API 编排 → 能力注册。不必推翻重来。成熟套路是三步:给存量 API 包一层 MCP 防腐层,老系统一行不改;新能力直接按 MCP 标准建;用绞杀者模式让智能体入口逐步替换旧入口,最终老页面自然退役。应用清单从"有哪些系统"变成"注册了哪些能力"。

DA 数据架构:结构化查询 → 语义检索。数据服务的对象从报表和接口,变成张嘴提问的智能体。落地是三层分工:原始数据层照旧管好事实;语义索引层做向量化与知识图谱,把"数据"翻译成"模型够得着的知识";权限层从表级权限升级为语义级权限——检索命中之前,先判断这句话该不该被这个角色看到。最后这关,多数团队还没意识到。

TA 技术架构:资源调度 → 算力编排。K8s 调度的是容器,现在要调度的是智能体和模型:GPU 池化、按智力分级做模型路由(贵模型想难题、便宜模型干杂活)、推理网关管流量、Langfuse/LangSmith 管调用链观测,外加一门新功课——Token 治理。云时代的教训会原样重演:不算账,账单月底教你做人。

架构域
过去的假设
智能体时代
核心动作
BA 业务
流程预先画死
意图驱动,路径动态生成,人工只守关键卡点
定边界、设熔断
AA 应用
API 点对点集成
能力 MCP 化注册,智能体按需调用
防腐层 · 绞杀者
DA 数据
结构化表 + 报表
语义检索与知识服务,语义级权限
建语义索引层
TA 技术
容器与资源调度
算力编排:模型路由、推理网关、观测
Token 治理

表 2 | 4A 对比:不是换工具,是换假设

第⑦章 | 择器而动:怎么选,怎么迁

CHOOSE & MIGRATE

兵器谱排完了,回到最实际的问题:我该用哪个?什么时候换?怎么换?先看信号,再看家底,最后看路线。架构选型没有最好,只有最合身——练什么武功,先看什么底子。

跃迁方向
技术信号
组织信号
单体 →微服务
发布互相踩、一个模块拖垮全站、构建超过半小时
多人改同一个工程,合并代码靠谈判
微服务 →云原生
服务多到人工管不动、流量波峰谷差十倍
有专职运维,或决心建平台
任何 →智能体
大量高频低风险脑力劳动、知识问答需求密集
业务方先配人工审核,容忍灰度试错

表 3 | 跃迁信号:技术信号和组织信号各占一半,缺一不可

架构
代表技术
优势 / 代价
适用场景
单体
SSM · ACID
优势
简单直接、事务强一致代价
牵一发动全身、单点故障
10 人以下团队、业务早期
SOA
ESB · SOAP · BPEL
优势
存量系统快速打通代价
总线单点、协议重、治理贵
异构遗留系统整合
微服务
Spring Cloud · Dubbo · Docker
优势
独立演进、按需扩容代价
分布式事务、运维爆炸
多团队并行、复杂业务域
云原生
K8s · Serverless · GitOps
优势
 弹性自愈、交付提速代价
学习曲线、云账单失控
流量波动大、快速迭代
智能体
LLM · MCP · RAG · A2A
优势
 意图驱动、边际成本近零代价
幻觉、Token 成本、评估难
高频低风险脑力劳动

表 4 | 五大架构选型总览:上下两行不冲突,智能体长在前四站任意一站之上

信号到了,也别一夜切换。到了智能体这一站,迁移的正确姿势是三段路,每一段都留了回头路,如图 9。

图9

渐进迁移三阶段:每段都有回头路

MIGRATION PATH

阶段一 | 试点验证

0–6 个月

挑一个高频低风险场景,人工终审兜底;建最小评估集,每周回归;跑通"意图 → 工具 → 审核"闭环。

↺ 回头路:试点不达标,退回人工流程,沉淀评估集,三个月后重试——退出不是失败,是采集情报。

阶段二 | 能力工具化

6–18 个月

存量 API 分批包 MCP 防腐层;知识库向量化;接观测平台,Token 成本可见;复制到相邻场景。

阶段三 | 规模化

18 个月以上

多智能体协作与 A2A 试点;模型路由与成本治理常态化;岗位与考核随 BA 重构调整,能力平台成为部门公共品。

同样的路线,不同体量的团队走法完全不同,别抄作业,先对号入座——

按团队规模对号入座

▸ 十几人的小团队:别急着自建 MCP、A2A 整套设施。直接用成熟的 Agent 平台或编排框架,挑一个小场景试点,人工终审兜底,把精力花在业务上。

▸ 中大型企业:值得把存量服务做 MCP 封装、建能力池、尝试多智能体协作——你有存量要盘活,也养得起平台团队。但先建评估体系和观测,再谈规模。

很多场景,一个编排好的工作流加一个 LLM 节点,比全套自主智能体更稳、更省。智能体的"自主"是按需购买的能力,不是默认配置——先问"这个决策真的需要临场规划吗",再决定上不上。三段路,请慢走。

第⑧章 | 归宗:分久必合,合久必分

THE GRAND CYCLE

把五站路连起来看,会发现一个轮回:单体是合,SOA 与微服务是分,云原生靠统一调度做到了分而不乱,智能体看似重新走向合——一个对话入口包打天下——底下却是更彻底的分:能力被拆成原子化的工具,随取随用。每一轮分合,都在抬高一层抽象:从代码到服务,从服务到能力,从能力到意图。三十年架构史,就是一部抽象升级史。

下一站在哪,没人说得准。有一种可能:当智能体足够可靠,"架构"本身会成为它的决策——系统由智能体临场编排,架构师退化为立法者。但万变不离其宗:分而治之、幂等设计、防腐隔离、可观测性——这些老功夫,无论哪一站都用得上,一点不过时。

"架构的分合像潮汐:合是为了简单,分是为了自由;每一代人的答案,都是下一代人的考题。"

年份
里程碑
一句话意义
2006
Hadoop 发布
大数据时代开闸
2011
Dubbo 开源
国产 RPC 服务化先行
2013
Docker 发布
交付单位变成容器
2014
Kubernetes 开源 · AWS Lambda
编排与 Serverless 元年
2015
Spring Cloud 1.0
微服务全家桶普及
2017
Istio 发布 · Transformer 论文
治理下沉 + 新地基埋下
2022
ChatGPT · LangChain
LLM 应用元年
2023
Function Calling 开放
模型学会"动手"
2024
MCP 发布(Anthropic)
工具接入统一协议
2025
Agent Skill · A2A 发布
技能化与智能体互联
2026
A2A v1.0 治理落地 · 规模化试点(进行中)
含行业推演,以官方为准

表 5 | 里程碑年表:聊架构时的弹药库

理性选择合适的架构

你的系统现在停在哪一站?正在为什么痛点失眠?

相关学习资料