ARTICLE · 1104028
软件架构 30 年:从单体到 AI 智能体
前言 | 三十年,五站路
WHY ARCHITECTURE EVOLVES
把软件系统比作建筑是个老掉牙的说法,但确实贴切:架构是承重结构,平时看不见,出事时最要命。这三十年,这栋楼从一栋大楼(单体)拆成了一个小区(微服务),学会了自动开关灯(云原生),最近住进了一位会思考的管家(AI 智能体)。
每次拆楼的原因各不相同,动机只有一个:业务变化越来越快,流量波动越来越猛,人越来越贵。每一代新架构,都是对上一代痛点的回应。
图1
架构演进时间线
1990s — 2026
单体
1990s
一个进程打天下
SOA
2005–11
总线串起万法
微服务
2012–17
拆分而自治
云原生
2018–22
弹性而自愈
智能体
2023–今
意图即指令
表 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 治理。云时代的教训会原样重演:不算账,账单月底教你做人。
表 2 | 4A 对比:不是换工具,是换假设
第⑦章 | 择器而动:怎么选,怎么迁
CHOOSE & MIGRATE
兵器谱排完了,回到最实际的问题:我该用哪个?什么时候换?怎么换?先看信号,再看家底,最后看路线。架构选型没有最好,只有最合身——练什么武功,先看什么底子。
表 3 | 跃迁信号:技术信号和组织信号各占一半,缺一不可
| 优势 | |||
| 优势 | |||
| 优势 | |||
| 优势 | |||
| 优势 |
表 4 | 五大架构选型总览:上下两行不冲突,智能体长在前四站任意一站之上
信号到了,也别一夜切换。到了智能体这一站,迁移的正确姿势是三段路,每一段都留了回头路,如图 9。
图9
渐进迁移三阶段:每段都有回头路
MIGRATION PATH
阶段一 | 试点验证
0–6 个月
挑一个高频低风险场景,人工终审兜底;建最小评估集,每周回归;跑通"意图 → 工具 → 审核"闭环。
↺ 回头路:试点不达标,退回人工流程,沉淀评估集,三个月后重试——退出不是失败,是采集情报。
阶段二 | 能力工具化
6–18 个月
存量 API 分批包 MCP 防腐层;知识库向量化;接观测平台,Token 成本可见;复制到相邻场景。
阶段三 | 规模化
18 个月以上
多智能体协作与 A2A 试点;模型路由与成本治理常态化;岗位与考核随 BA 重构调整,能力平台成为部门公共品。
同样的路线,不同体量的团队走法完全不同,别抄作业,先对号入座——
按团队规模对号入座
▸ 十几人的小团队:别急着自建 MCP、A2A 整套设施。直接用成熟的 Agent 平台或编排框架,挑一个小场景试点,人工终审兜底,把精力花在业务上。
▸ 中大型企业:值得把存量服务做 MCP 封装、建能力池、尝试多智能体协作——你有存量要盘活,也养得起平台团队。但先建评估体系和观测,再谈规模。
很多场景,一个编排好的工作流加一个 LLM 节点,比全套自主智能体更稳、更省。智能体的"自主"是按需购买的能力,不是默认配置——先问"这个决策真的需要临场规划吗",再决定上不上。三段路,请慢走。
第⑧章 | 归宗:分久必合,合久必分
THE GRAND CYCLE
把五站路连起来看,会发现一个轮回:单体是合,SOA 与微服务是分,云原生靠统一调度做到了分而不乱,智能体看似重新走向合——一个对话入口包打天下——底下却是更彻底的分:能力被拆成原子化的工具,随取随用。每一轮分合,都在抬高一层抽象:从代码到服务,从服务到能力,从能力到意图。三十年架构史,就是一部抽象升级史。
下一站在哪,没人说得准。有一种可能:当智能体足够可靠,"架构"本身会成为它的决策——系统由智能体临场编排,架构师退化为立法者。但万变不离其宗:分而治之、幂等设计、防腐隔离、可观测性——这些老功夫,无论哪一站都用得上,一点不过时。
"架构的分合像潮汐:合是为了简单,分是为了自由;每一代人的答案,都是下一代人的考题。"
表 5 | 里程碑年表:聊架构时的弹药库
理性选择合适的架构
你的系统现在停在哪一站?正在为什么痛点失眠?