
大家好,我是人月聊IT。今天继续本体平台架构设计的细化。即如何通过场景分析,动态编排上面谈到的能力引擎。让本体平台能够满足不同的场景需求。
企业软件建设里常遇到两类麻烦。
第一类是"什么都堆在一起"。一个模块既要查数据、做权限校验、发消息,还要出报告,代码越写越臃肿,改一处牵连七八处,久了没人敢动。
第二类是"什么都想要齐了才开始"。业务提需求,技术先确认数据在哪、格式对不对、权限够不够、性能扛不扛得住,等理清业务方已不耐烦。
两类问题根源相同:能力堆在一起,却没按场景做合理拆分和组装。
本体平台先把平台拆成职责单一的引擎,比如需求引擎只把用户想法变成文档,本体模型引擎只管业务模型文件,数据连接引擎只管连库取数,边界清楚。但光拆开不够,真正的问题是不同场景下引擎要以不同顺序、不同组合协作——零件固定,组装方式取决于要造什么。
例如"做一个供应商管理模块"需要需求、本体、应用生成引擎串起来;"分析供应商付款逾期"需要本体、数据连接、数据分析、报表引擎协同,两者用到的引擎完全不同。若每次请求都启动全部引擎,既浪费资源,流程也跑不通。
平台要做到:按用户实际场景,自动判断需要哪些引擎、按什么顺序、哪些能并行、哪些必须串行。这就是"基于场景驱动的动态组合和编排"要解决的问题。下面先说平台要解决的问题,再依次讲模型规范、引擎清单、依赖关系、场景编排、内部机制和两个横切问题。
企业数字化到一定阶段,问题通常不再是缺系统,而是系统太多、语义不一致、数据难复用。业务人员说客户、合同、订单、回款,系统里存的是表、字段、接口、状态码;管理层看经营指标,BI 维护口径,IT 做集成。每一层都在翻译,翻译多了偏差就大。具体三件事长期没解决:
第一,需求和系统之间缺稳定中间层。业务提需求、分析写文档、架构师设计、开发写代码,每次交接都损失语义,几年后没人说得清某条规则来自哪条需求,也没人敢改字段改流程。
第二,业务系统和分析系统长期分离。同一"客户""订单"在不同系统里字段名、粒度、状态、时间口径可能都不一样。一个指标跨多系统取数,报表口径变了源头不知道,分析拿到数据也不懂字段含义。
第三,做分析时缺可控上下文。把宽表、查询结果或文档直接交给大模型,结果看着完整,实际可能混淆概念、误用口径、引用不存在的规则。
平台的核心思路是建一套统一的业务语义层:既能承接需求、指导建应用,又能连数据库和指标体系,为分析提供结构化业务上下文。平台不替代所有系统,而是建一套可复用的语义基础——新应用围绕它生成,老系统通过映射接入,分析基于它获得上下文,指标通过它追溯源头。

平台前置基础有两个:需求探索方法和本体建模规范。需求探索把一句话需求变成完整需求,按结构化方式推进——先确认业务范围,再识别对象,接着梳理功能、规则、流程、角色、权限和报表;通用知识平台先补,企业特有规则必须用户确认。
本体建模规范把业务系统拆成八类相互引用但职责清楚的模型:
这里要说明:上一版写"M1 到 M7",漏了 ME 事件模型。事件引擎工作所需的事件定义和订阅关系正来自 ME,所以统一为"M1 到 M7 加 ME 共八类",事件引擎加载 ME、规则引擎加载 M3。这套模型的价值是把文字需求变成可被程序读取执行的结构化模型,而非画图好看;后续扩展 UI 模型、对象到表映射、接口模型都在此基础上加。

前两版引擎数量不一致:一版十个、一版十一个,且一版的"存储引擎""AI 分析推理引擎"在另一版消失,导致"可追溯"和"结果校验"无人负责。下面给出统一清单,共十三类,各写明输入、输出和关键依赖。
前面两版这里自相矛盾:一处写"执行引擎彼此无横向依赖,只接受编排引擎调用",另一处又写"数据分析引擎过滤时调规则引擎、出结果后调事件引擎发布事件"。两者冲突,必须明确规则。我们把依赖和调用分四类:
第一,刚性依赖(必须有上游产出):需求引擎→本体模型引擎(正向);本体模型引擎→应用生成引擎;本体模型引擎→数据分析引擎(语义);本体模型引擎→AI 分析推理引擎(上下文);本体模型引擎→规则引擎(加载 M3)、本体模型引擎→事件引擎(加载 ME);数据连接引擎→数据分析引擎(数据);数据分析引擎→报表引擎。
第二,调度依赖(编排按需触发):编排→数据分析、编排→报表、编排→事件、编排→规则、编排→应用生成、编排→AI 分析推理。
第三,阶段内直调(紧耦合引擎直接调用):高频低延迟的内部步骤允许直调,明确登记两种——数据分析引擎→规则引擎(行过滤),数据分析引擎→事件引擎(发布结果事件)。这类直调也须在能力注册表登记并记录调用链,保证可观测。
第四,事件订阅(异步触发):事件引擎把事件推给订阅方,订阅方可能是编排引擎、应用生成引擎或其他模块。
六条关键约束:
前四个来自上一版,后两个补缺口。
用户:"做一个供应商风险管理模块,管供应商信息、资质、评估记录。"
参与引擎:需求引擎→本体模型引擎→应用生成引擎→本体能力网关。
顺序:需求引擎确认属性、资质格式、评估触发方式、审批级数,产出 SRS;本体模型引擎读 SRS 生成八类模型;应用生成引擎按模板生成各层代码;经网关发布为 Web 包或 MCP Server。
编排方式:严格串行,每步依赖上一步,编排引擎依次触发。
用户:"一套跑了五年的 ERP,两百张表,想基于这些表生成本体模型。"
参与引擎:数据连接引擎→本体模型引擎→大模型网关(辅助补全)。
顺序:数据连接引擎读表名、字段、类型、主外键;本体模型引擎推导聚合根草稿(订单主表对应"订单"聚合根,明细表对应子实体,外键对应关联);因表结构常缺业务语义(字段名可能是 col_01),调大模型网关补全;草稿交人工确认后存入模型库。
编排方式:数据连接与本体串行,大模型网关辅助增强,不经需求引擎。
用户:"分析去年第四季度华东区域销售下滑原因,写份报告。"
参与引擎:需求引擎+本体模型引擎+数据连接引擎→场景编排引擎→规则引擎→数据分析引擎→AI 分析推理引擎→报表引擎。
顺序:意图触发两个准备动作——需求引擎确认口径("销售"指订单金额还是发货金额,"华东"含哪些省份),本体模型引擎加载"销售订单"语义,数据连接引擎拉取明细。注意:数据连接把逻辑查询翻成物理 SQL 依赖对象到表映射,映射源自本体模型,所以"数据连接并行拉数"仅在映射已注册时成立;首次建模后映射才可用,此时数据连接实际隐含依赖本体模型加载完成。准备完成汇总到编排引擎,拆成清洗、异常标记、多维分析、归因推理、报告生成五个子任务。编排引擎调规则引擎排除退货单、测试单等异常值;调数据分析引擎按区域、产品线、客户类型聚合找出下滑最明显维度;交 AI 分析推理引擎生成归因文本并校验;最后交报表引擎生成含文字图表的 PDF。
编排方式:映射已存在时准备阶段可并行,后续串行,每步依赖上一步,是典型工作方式。
无主动请求,由事件触发。数据连接引擎定时扫描发现"某供应商累计逾期超 50 万"。
参与引擎:数据连接引擎→规则引擎→事件引擎→场景编排引擎→应用生成引擎→本体能力网关。
顺序:数据连接定时查询发现逾期超阈值;规则引擎判"逾期超 50 万且近 30 天无还款"是否成立,成立返触发信号;事件引擎发布"供应商高风险预警事件";编排引擎订阅后启动风险处置,拉取该供应商全部合同和付款记录;调应用生成引擎动态生成"催收处理"临时 Skills(含发通知、建工单、升级审批);技能包经网关下发执行并反馈。
编排方式:事件触发链式反应,事件驱动编排再组装其他能力;事件引擎靠防抖与最大跳数防回路扩散。
用户:"把销售合同、回款、报表的指标口径统一管起来,业务系统改了能知道影响哪些报表。"
参与引擎:本体模型引擎+数据连接引擎→AI 分析推理引擎(影响分析)→存储引擎(血缘)→报表引擎。
顺序:本体模型引擎把业务对象、交易表、分析宽表、指标公式、报表字段统一登记到模型和映射;数据连接引擎提供各源系统实际字段和口径;业务系统变更(如删合同金额字段)或口径调整时,AI 分析推理引擎基于模型索引做影响分析,列出受影响的规则、报表、接口、分析场景;存储引擎记录口径从何时起变更、关联哪些对象和字段;报表引擎按最新口径出数。
编排方式:常驻治理流程,由模型变更事件触发影响分析,补齐上一版"OLTP/OLAP 语义对齐"无对应场景的问题,也让 AI 回答时不仅知字段值,还知字段来自哪个对象、怎么算、适用什么口径。
外部 Agent:"查 A 客户本月逾期未回款合同,生成跟进建议。"
参与引擎:本体能力网关(入站)→场景编排引擎→本体模型引擎+数据连接引擎→规则引擎→AI 分析推理引擎→报表引擎。
顺序:外部 Agent 经 MCP 或 REST 调网关;网关做鉴权和边界检查后转编排引擎;编排按场景模板拆解,加载客户语义、拉回款数据、用规则引擎筛逾期、交 AI 分析推理引擎生成建议并校验、经报表引擎返回结构化结果给调用方。
编排方式:网关"向南暴露能力"的入站用法,与场景四"应用生成后经网关下发"互补,说明平台既能推能力出去,也能让外部 Agent 调进来。
此外,模型变更与影响分析可贯穿各场景:需求变更→改模型→AI 分析推理引擎做影响分析→应用生成引擎增量生成代码,不必每次推倒重来,支撑"系统可逐步演进"。
意图解析器:把用户的话翻成结构化任务列表,背后调大模型网关做语义理解。如"分析销售下滑原因"解析为数据采集、异常过滤、维度聚合、归因推理、报告生成。
能力注册表:记录每个引擎的能力描述、输入输出格式、调用方式;编排查表判断任务由谁执行("数据采集"对应数据连接引擎),阶段内直调也登记于此。
场景配方库:上一版缺失的一环。仅有能力注册表时,每请求都靠大模型从零推导计划,又慢又不稳定,也难以解释为何选这几个引擎。场景配方库把"销售下滑归因""合同履约分析"等沉淀为可复用模板,固定引擎序列和可变参数,大模型只做"意图匹配模板+填参数",提升稳定性也利于积累经验。
计划生成器:根据任务、能力注册表、场景配方库生成执行计划,含顺序、并行策略、超时、重试;如"本体加载"与"数据拉取"无依赖可并行,但前提映射已存在。
执行器:按计划逐条执行并监控状态,任务失败触发补偿(重试、跳过或人工介入)。
状态管理器:记录执行状态和链路标识(traceId),便于追溯调试,也是存储引擎做全链路血缘的输入。
核心是方程动态生成不硬编码:新增场景不改引擎代码,只加场景配方;新增引擎只注册到能力表,现有场景即可复用。
数据权限。M5 主体模型定义角色权限边界,但运行时"谁能看哪些数据行"必须有人执行。明确:数据连接引擎在逻辑查询翻物理 SQL 时,按 M5 主体模型和调用者身份注入行级过滤条件,权限在取数那一刻生效,而非等到分析或展示才补。网关负责"能力调用"层面权限,数据行级权限由数据连接引擎负责,分工清楚。
可追溯。上一版删存储引擎后追溯无归属,这里恢复其为资产与版本中心,保存模型版本、映射、快照、代码、报告,并记录每份报告来源:用了哪个本体版本、哪些数据源、哪次拉取、哪个提示词模板、哪个模型输出。结合编排状态管理器的 traceId,做到一次分析从入口到报表的完整血缘可查,避免平台自身成新黑盒。
平台不宜一开始做满十三类引擎,宜分阶段:
第一阶段做"本体建模到智能分析"最小闭环,核心含本体模型引擎、数据连接引擎、AI 分析推理引擎、存储引擎。选对象清楚、数据源可连、问题明确的场景(如合同履约或销售回款风险分析),验证带本体的分析是否比直接问数更可靠。
第二阶段补"需求到应用生成"闭环,加需求引擎和应用生成引擎,支持一句话需求到 SRS、到模型、到可运行应用;生成范围先控在单体应用、标准增删改查、主从表单、简单状态机、固定报表。
第三阶段建场景编排和开放能力,引入编排引擎、本体能力网关、大模型网关,支持跨系统事件、自动化流程、外部 Agent 调用、模型路由和成本管控。
第四阶段做治理和规模化,重点在模型版本、影响分析、指标血缘、权限体系、审计报表和团队协作。
落地边界:
第一,模型不能只停留在图文档,必须能被程序读取、校验、执行,否则支撑不了生成和分析。
第二,不让平台绕过业务确认。通用字段流程可补,审批规则、权限范围、金额口径、父子对象处理必须由业务确认;平台越自动越要留住关键确认点。
第三,不一上来追求全自动生成复杂系统,先生成稳定模型、表结构、接口、表单、查询,再扩工作流、事件、权限、部署。
第四,数据连接不是一次性项目。系统、字段、口径、权限都会变,映射关系本身是资产,需版本管理、测试和影响分析。
第五,分析结果不当最终事实。输出带依据、来源、口径说明,区分事实、推断、建议,经营决策保留人工复核。
第六,编排引擎意图解析准确率仍是最大挑战,重点应放积累场景配方库和优化意图匹配,而非每次从零让大模型推导计划。
本体驱动平台的做法,是把软件建设和数据分析里反复出现的"语义翻译"问题,收敛到一套模型体系:需求经结构化探索进模型,应用经模型生成,数据经模型映射,分析经模型获上下文,OLTP 与 OLAP 经模型统口径。
它不是单点工具,而是一组职责单一的引擎加一套编排机制:先把业务说清,再建成模型,再让模型驱动系统和分析。可从合同履约、销售回款、库存分析等小场景起步,打通"需求—本体—数据—分析"或"需求—本体—应用"流程,逐步验证价值,再按需补编排、网关和治理能力。