
大家好,我是人月聊IT。
今天仍然从整个建模发展演进史的角度,来分析传统建模存在的不足,并给出为何当前的SBR本体建模规范是最适合AI理解的业务语义模型。
从ER图到本体建模,五十年建模演进史的终极命题,不是「如何生成代码」,而是「如何让AI真正理解业务」。
最近几年,AI在软件开发领域的渗透速度远超预期。写代码、生成API文档、自动测试——这些任务AI已经做得相当不错。但一个深层问题始终没有被解决:
AI能写代码,但它真的理解业务吗?
一家新能源汽车企业,向AI描述它的供应链管理流程。AI能生成一份看起来完整的系统设计文档,也能写出对应的代码框架。但当业务人员仔细核对时,发现AI对「供应商暂停合作」的触发条件理解有偏差,对「让步接收」这个质量领域的特殊概念完全陌生,对「动力电池必须永久全检、不可降级」这条行业规则毫无感知。
问题出在哪里?不在AI的能力,而在我们给AI的「输入」。
我们给AI的,要么是一段自然语言描述(模糊、不完整),要么是直接的代码(太底层、失去业务含义)。缺少的,是一个能够精确表达「业务是什么、如何运转、受什么约束」的中间层模型。
这就是为什么今天要重新谈建模——不是为了画图,而是为了给AI一张它能真正读懂的「业务地图」。

软件危机推动了第一批建模工具的诞生。数据流图(DFD) 描述数据怎么在系统里流动,实体关系图(ER图) 描述数据长什么样。这两个工具解决了最基本的问题:用图形语言把系统说清楚。
但这个阶段有一个根本性的缺陷:数据和过程是分开的。ER图管数据结构,DFD管处理流程,两张图之间没有自然的连接。业务人员说「客户下单」,建模者需要拆成一张ER图(订单表有哪些字段)和一张DFD图(下单流程怎么走),而这两张图里的业务规则——比如「信用额度不足不能下单」——往往写在需求文档里,既不在ER图里,也不在DFD里,游离于模型之外。
这个时代的建模,本质上是为数据库设计和程序结构服务的,离业务语义还很远。
这个阶段出现了几个真正有影响力的突破:
UML(1997) 终结了面向对象圈子里的「符号战争」。它第一次把结构(类图)、行为(状态图、活动图)、交互(序列图)统一在一套建模语言里。一个订单的完整面貌,既可以用类图描述它有哪些属性,又可以用状态图描述它从「草稿」到「已完成」的完整生命周期,还可以用序列图描述下单时各个模块怎么协作。这是建模史上第一次真正意义上的结构+行为融合。
MDA(2001) 更进一步,提出了一个大胆的想法:把模型分成「平台无关模型(PIM)」和「平台相关模型(PSM)」,通过自动化工具从模型直接生成代码。MDA的贡献在于把建模从「沟通工具」提升为「开发制品」,模型不只是给人看的图,而是可以驱动实现的制品。这个思想直接影响了二十年后的低代码平台。
DDD(2003) 则从另一个方向提出了关键洞见:模型必须反映业务领域的深层知识,而不是技术实现。Eric Evans说,好的模型里的每一个词,业务专家和技术人员应该理解同一个意思。「订单」就是业务世界里的订单,不是数据库里的order表,也不是程序里的Order类。DDD的「限界上下文」「聚合根」「领域事件」,第一次把建模的焦点从技术实现拉回到了业务语义。
BPMN(2004) 和 SysML(2006) 则走向了专业化:BPMN专注于可执行的业务流程,SysML专注于复杂工程系统的软硬件协同建模。这个时代的特点是「专业化爆发」——每个领域都有了自己的建模语言,但多种模型之间如何集成,成了新的难题。
DMN(2015) 把决策逻辑从流程中独立出来,允许业务规则用近乎自然语言的决策表来描述,并直接可执行。这解决了一个长期存在的痛点:高频变化的业务规则(信贷审批条件、定价规则、风控阈值)被硬编码在代码里,业务人员看不懂,改起来风险高。
本体建模(OWL/RDF) 则专注于语义层面的知识表示。在物联网、智能制造、医疗健康等领域,本体为数据提供了统一的语义框架,使机器能够进行推理和查询。这是建模第一次真正面向「机器理解」而不仅仅是「人类沟通」。
站在今天AI时代的视角回看,这五十年的建模演进留下了三个尚未被彻底解决的断层:
传统建模方法,无论是UML类图还是DDD的领域模型,最终都无法摆脱技术实现的「引力」。类图里会出现数据库字段的痕迹,状态图里会出现系统事件的命名,行为描述里会掺入API接口的概念。
这带来一个根本问题:模型成了给技术人员看的文档,业务人员读不懂,业务知识在翻译过程中不断衰减。更重要的是,当你把这个混杂了技术实现的模型输入给AI时,AI并不能清晰区分哪些是业务语义,哪些是技术约束,推理的准确性大打折扣。
这是建模史上最顽固的问题。ER图管对象(数据)、BPMN管行为(流程)、DMN管规则(决策)——三套工具,三张图,三个视角,彼此之间缺乏显式的语义连接。
在实际业务中,这三者从来都不是独立的:「提交采购订单」这个行为,作用于「采购订单」这个对象,必须满足「采购金额不超过审批人权限」这条规则,执行成功后产生「订单已下达」这个事件。这四者是一个不可分割的整体,但在传统建模工具里,它们分散在不同的图表中,靠人工阅读才能理解它们之间的关联。
AI要推理业务,需要的不是三张独立的图,而是这四者之间的完整语义关系网络。
UML的状态图可以描述实体的状态机,但状态转换的触发条件(前置条件)、转换成功后的业务结果(后置变更),以及触发的后续事件链,往往表达得很粗糙。一个状态转换箭头上写着「审批通过」,但审批需要满足什么条件?审批后哪些数据发生了变化?会触发下一步哪些动作?这些动态语义在传统建模里是模糊的、不完整的。
纵观五十年的建模史,有三条清晰的演进主线:
抽象层次不断上升。 从1970年代的代码级图形辅助,到1990年代的设计级类图,到2000年代的架构级PIM,到2010年代的战略级价值流和能力地图。每次跃迁,建模者都能站在更高处思考系统,而不必陷入下一层的实现细节。
从「描述」走向「执行」再走向「推理」。 早期的ER图和UML类图主要是沟通和文档工具;BPMN 2.0和DMN实现了「模型可执行」,一份BPMN流程图可以直接由工作流引擎跑起来;而本体建模(OWL)则追求「模型可推理」,机器能基于模型回答问题、发现隐含关系。
视角从单一走向融合。 ER图只管数据,DFD只管流程,到了UML和ArchiMate开始融合多个视角,再到MBSE和数字孪生追求「同一个系统在不同抽象层次和不同视角之间无缝切换,保持内在一致性」。
这三条主线,共同指向一个终点:一套能够完整、精确、一体化表达业务语义,并且可以被机器理解和推理的建模方法。
传统方法在这条路上已经走了很远,但还没有走到终点。

在深度研究和实践了UML、MDA、DDD、MBSE、Ontology(本体建模)等多种建模方法之后,我们逐渐形成了一套针对AI时代业务建模需求的方法论——SBR建模法(Structure · Behavior · Relation),并在此基础上发展出了一套完整的业务语义本体建模规范。
这套方法不是对某种传统方法的改良,而是以「构建适合AI理解和推理的业务语义模型」为核心目标,对传统建模智慧的重新整合。
第一原则:业务语义与技术实现彻底分离。
这套规范的定位非常明确:纯业务语义层建模,与技术实现无关。
模型里描述的是「供应商」「采购订单」「质检单」这些业务世界真实存在的对象,而不是数据库表。行为描述的是「提交采购需求」「供应商确认接单」这些业务动词,而不是API接口。规则描述的是「采购金额超过200万元需要总裁审批」这样的业务法则,而不是代码逻辑。
不在范围内的内容被明确列出:数据库表结构设计、技术框架与实现架构、代码层接口定义、部署与基础设施——全部不在这套模型的覆盖范围内。
这样的切割,让AI在推理业务时,接触到的是纯净的业务语义,而不是夹杂着技术噪声的混合物。
第二原则:四维一体,显式闭环。
传统建模里被分散在不同图表中的四个要素,在这套规范里作为平等的一等公民,通过明确的引用关系形成闭环:
四者之间的连接是显式的、双向可追溯的。一个行为知道它作用于哪个对象、引用了哪些规则、产生了哪些事件;一个规则知道它被哪些行为引用;一个事件知道它的生产者和所有订阅者。这种完整的语义关系网络,正是AI进行业务推理所需要的基础。
第三原则:动态行为的完整表达。
每一个原子行为,都包含完整的动态语义描述:
- id:"Supplier_Suspend"
name:"暂停供应商合作"
owner_entity:"Supplier"
behavior_type:COMMAND
trigger_type:USER_ACTION
actor_ref:"采购总监"
preconditions:
-"供应商状态 = 合格供应商"
-"存在以下任一触发条件:累计质量评分 < 60 / 发生重大交付违约 / 出现A级质量问题"
applied_rules:[RUL-003,RUL-013]
postconditions:
-"供应商状态变为「暂停合作」"
-"该供应商所有待发询价单自动关闭"
-"该供应商在途订单标记为风险订单,启动备份供应商"
produced_events:["Supplier.Suspended"]
前置条件是谓词表达式,精确描述行为可执行的业务前提;后置状态变更完整描述了行为成功后的全部业务结果;产生的事件链接到后续的业务反应。这是真正完整的动态语义,而不是一个模糊的「暂停供应商」标注。
这套规范将业务世界分解为六个核心建模层次,每个层次回答一个清晰的业务问题:
层次 | 核心问题 | 类比 |
|---|---|---|
实体层(Entity) | 业务中存在哪些核心对象? | 业务世界的名词 |
行为层(Behavior) | 对象能做什么、什么条件下做? | 业务世界的动词 |
规则层(Rule) | 约束是什么、计算怎么算? | 业务世界的法则 |
事件层(Event) | 状态变化后通知谁、传递什么? | 业务世界的信号 |
关系层(Relation) | 对象之间如何关联? | 业务世界的结构 |
场景层(Scenario) | 完整的业务用例是什么样的? | 业务世界的故事 |
实体建模最重要的不是属性,而是生命周期。一个「供应商」在业务世界里,从「准入申请中」到「资质审核中」到「现场审核中」到「合格供应商」,再到可能的「暂停合作」或「淘汰退出」——这条完整的状态路径,才是这个业务实体的核心语义。
lifecycle:
states:
-name:"准入申请中"
alias:"APPLYING"
is_initial:true
description:"供应商已提交准入申请,等待资质审核"
-name:"合格供应商"
alias:"QUALIFIED"
description:"通过审核,进入合格供应商名录,可参与采购"
-name:"暂停合作"
alias:"SUSPENDED"
description:"因质量或交付问题临时暂停,需整改后恢复"
-name:"淘汰退出"
alias:"ELIMINATED"
is_terminal:true
description:"永久退出合格供应商名录,不可再参与采购"
transitions:
-from:"QUALIFIED"
to:"SUSPENDED"
trigger_behavior:"Supplier_Suspend"
guard_condition:"累计质量问题评分 >= 阈值 OR 出现重大交付违约"
每个状态转换都有明确的触发行为和守护条件。AI读到这个模型,对「什么情况下一个合格供应商会被暂停」有精确的理解,而不只是知道「可以暂停供应商」这个模糊的功能点。
规则是传统建模里最容易被忽视、最容易散落在各处的元素。在这套规范里,规则被单独提取出来,按类型分类,用近乎自然语言的谓词逻辑表达:
rules:
-id:"RUL-004"
name:"采购审批权限规则"
rule_type:DECISION
expression:>
采购需求和采购订单的审批权限按金额分层:
- 单次采购金额 <= 10万元:采购专员自行审批;
- 10万元 < 金额 <= 50万元:采购主管审批;
- 50万元 < 金额 <= 200万元:采购总监审批;
- 金额 > 200万元:副总裁或总裁审批;
- 战略供应商合同续签:无论金额,均需副总裁审批。
violation_message:"当前操作人权限不足,请提交上级审批"
-id:"RUL-012"
name:"来料检验级别决策规则"
rule_type:DECISION
expression:>
来料检验级别根据供应商历史质量表现动态调整:
- 新供应商(首批次):全检;
- 连续3批次合格率 >= 99%:抽检-放宽;
- 动力电池、安全件:永久全检,不可降级。
violation_message:"检验级别设定与供应商历史表现不符,请核实"
规则独立建模有三个好处:第一,可被多个行为复用,避免重复定义;第二,规则变更时只需修改一处,不影响行为定义;第三,AI可以独立理解和引用每条规则,在推理时能正确应用约束条件。
事件是被严重低估的建模要素。在传统建模里,事件要么隐藏在流程节点里,要么用一个简单的「通知」描述带过。在这套规范里,事件作为独立的一等公民,明确定义生产者、订阅者和携带的业务数据:
events:
-id:"IncomingQCReport.Rejected"
name:"来料检验已拒收"
producer_behavior:"IncomingQCReport_Reject"
payload:
-field:"supplierCode"
desc:"供应商编码"
-field:"defectRate"
desc:"缺陷率"
-field:"criticalDefects"
desc:"关键缺陷项"
subscriber_behaviors:
-"GoodsReceipt_ReturnToSupplier"
-"Supplier_Suspend"
business_significance: >
触发退货和供应商质量整改,A级问题同步评估暂停供应商
这个事件的定义告诉AI:当来料被拒收时,有两个独立的后续动作被触发——退货处理和供应商暂停评估。这两个动作是并行的、相互独立的,这正是业务事实,也是AI正确推理后续流程的基础。
场景层将前面的原子要素编排成完整的业务故事,包括主成功路径、替代路径和异常路径:
scenarios:
-id:"UC-003"
name:"来料不合格品处置与质量闭环"
primary_actor:"质量工程师"
business_value:>
当来料质检发现不合格时,快速完成物料隔离、退货处理和供应商整改,
防止不合格物料流入生产线。
main_flow:
-step:1
actor:"质检员"
behavior_ref:"IncomingQCReport_StartInspection"
description:"质检员按检验规程对到货物料进行抽检或全检"
-step:3
actor:"质量工程师"
behavior_ref:"IncomingQCReport_Reject"
description:"质量工程师判定拒收,签发拒收决定,物料移至隔离区"
exception_flows:
-condition:"发现A级安全缺陷(如电池热失控风险)"
handling: >
立即上报质量总监,同步通知生产停止使用该批次物料,
评估是否需要对已装车整车进行排查
场景层回答的不是「有哪些功能」,而是「这个业务场景的完整逻辑是什么」。AI基于场景层的定义,能够理解一个完整业务流程的上下文,而不是孤立地理解每一个原子行为。
站在这套规范的视角,可以更清晰地看到它与传统方法的关键差异:
继承了什么:
从UML继承了结构+行为融合建模的思路,以及状态机对实体生命周期的表达方式;从DDD继承了「通用语言」的理念,模型里的每个词必须有业务含义;从Ontology本体建模继承了语义精确性和机器可推理的追求;从MBSE继承了多层次视图、关注点分离的建模架构;从DMN继承了规则独立建模、可复用、可版本化的设计思路。
扬弃了什么:
去掉了MBSE里的需求层和物理实现层——这套规范只关心业务语义层,技术实现是另一个问题域;去掉了Ontology里的形式逻辑(OWL公理、描述逻辑)——这些对AI推理有价值,但对业务建模来说门槛过高、成本过重;去掉了UML类图里对技术实现的迁就(继承关系、接口、设计模式等)——业务世界没有这些概念。
原创了什么:
将行为的前置条件、应用规则、后置变更、产生事件四个要素整合在同一个原子行为定义里,形成完整的动态语义闭环;将规则独立为一等公民,并按验证/计算/决策/推导/约束五种类型分类;将事件作为独立的建模层,显式描述生产者-订阅者关系,形成完整的业务事件图谱。

业务语义模型不只是给AI看的,也需要给人看。这套规范配套了一套SVG可视化绘图标准,核心设计理念是「形状即语义,颜色即分类」。
五种图表类型,对应五个建模视角:
颜色语义系统(浅色学术风格):
元素类型 | 颜色 | 视觉形状 |
|---|---|---|
业务实体 | 极浅靛蓝 #EEF2FF | 分区矩形(头部+属性区) |
业务行为 | 极浅绿 #F0FDF4 | 圆角矩形+左侧竖条 |
业务规则 | 极浅琥珀 #FFFBEB | 虚线矩形框 |
业务事件 | 极浅橙 #FFF7ED | 胶囊形(完全圆头) |
业务主体 | 极浅紫 #F5F3FF | 圆圈+名称(人员角色) |
整体风格参考国际咨询公司(McKinsey、Gartner)和IT架构图(AWS、Azure)的视觉规范:浅色填充、深色线条、克制装饰、信息密度适中。视觉服务于语义,而不是装饰目的。
把一个新能源汽车企业的供应链管理业务,用这套规范完整建模之后,得到的不是一份UML设计文档,也不是一份BPMN流程图集合。得到的是一份业务语义地图——包含12个核心业务实体、14条业务规则、30多个原子行为、20多个业务事件、4个完整业务场景。
把这份业务语义地图交给AI,AI能做什么?
精确回答业务问题。 「动力电池来料质检不合格,会触发哪些业务动作?」AI能从事件订阅关系中找到:退货处理 + 供应商暂停评估 + 质量问题单创建,三者并行触发,而不是给一个模糊的「需要处理」。
发现业务规则冲突。 「让步接收」的条件规则(RUL-014)规定「动力电池不可让步接收」,而「紧急采购」场景里对到货质量有特殊处理路径。AI能识别两者在特定条件下的潜在冲突。
推演业务影响链。 「如果战略供应商突然被暂停,会影响哪些正在执行的采购订单?」AI能沿着事件链和关系网络,完整推演出影响范围。
辅助业务决策。 基于历史绩效评估规则(RUL-002、RUL-003),AI能对供应商层级调整给出有据可查的建议,而不是依赖经验判断。
这些能力,不是来自AI变得更聪明,而是来自「输入的业务语义模型变得更完整、更精确」。
回望五十年建模演进史,每一次重大突破都在回应同一个问题:如何在人的意图和机器的执行之间,建立更精确的桥梁。
ER图让数据库能理解数据结构,BPMN让工作流引擎能执行流程,DMN让规则引擎能执行决策——这是机器执行层面的建模演进。
而现在,随着大语言模型的出现,我们面临一个全新的命题:如何让AI理解业务语义,而不只是执行预定义的规则。
这要求建模在「执行性」之上,再增加一个维度:可推理性。模型不只是告诉机器「怎么做」,还要让机器理解「为什么这么做」「在什么条件下做」「做了之后会发生什么」。
这正是我们这套业务语义本体建模规范所追求的方向:
建模不是画图,而是思考。一套好的建模规范,不只是工具,更是一种思维方式——先把业务世界想清楚,再去考虑技术实现。
在AI时代,这个顺序比以往任何时候都更加重要。因为AI可以帮你实现,但它无法替你思考业务。
你给它一张精确的业务语义地图,它能带你走到任何地方。
作者注:本文涉及的SBR建模规范(
sbr-business-modeling.yaml)和SVG可视化绘图标准(sbr-svg-drawing-standard.yaml),以及基于该规范对新能源汽车供应链管理业务的完整建模实例(nev-scm-business-model.yaml),均已形成完整的规范文件,可在实际业务场景中直接参考使用。