企业的数字孪生

第 1 课 · 共 6 课 约 9 分钟

表只知道格子里是什么;对象还知道它是什么、和谁相连、能对它做什么。名词加动词,才够。

本课目标

读完这一课,你将能够

  • 说出数据集和业务对象的差别
  • 用「表、行、列、连接」对应「对象类型、对象、属性、关系」,把一张表翻译成对象类型
  • 说明为什么只有名词不够,还要有动词

表不等于业务

示例工厂的 MES 里有一张工单表。表里没有一个字告诉你,状态列里的 2 是「已下达」还是「在生产」,L1 是产线还是仓位,200 是计划数还是合格数。懂行的人靠经验,看板靠各自写死的换算,智能体只能猜。

ROW

表里的一行

WO-1001 | 2 | L1 | 200:四个值,没有一个字说明它们的含义。

OBJECT

一个对象

工单 WO-1001,状态 running,排在产线 L1 上,属于某张销售订单,计划产出 200 台;可以对它执行「暂停」。

同一张工单,用 SDK 读出来是这样:对象带着类型名和主键,属性用业务名字,不再是第几列。

const client = semantic.ontology();
const wo = await client.objects("WorkOrder").fetchOne("WO-1001");
// wo.__apiName   -> "WorkOrder"
// wo.__primaryKey -> "WO-1001"
// wo.status       -> "running"

数据集回答「这张表里有什么」。业务对象回答三件事:它是什么,和谁相连,能对它做什么。把每一行变成这样的对象,公司的数据就和真实世界对上了号,这就是数字孪生。本体(Ontology)就是这个孪生:设备、产品、订单是它的对象,检验、发运这样的事件也是。

数据集与对象类型的对照

两边一一对得上。入门最快的办法,就是拿一张你熟悉的表,逐个翻译。

数据集本体(Ontology)
一整张表MES 里的工单表对象类型 WorkOrder
一行表里的一行一个对象:一张具体的工单
一列列 PLAN_QTY属性 plannedQty,有类型、有说明
一个格子格子里的值属性值:这张工单的计划数
连接每次查询临时写的 join关系 orderWorkOrders:定义一次,两端各有名字

每个对象类型有一个主键,用来认出「是哪一张工单」,还有一个标题属性,用来在列表里显示它。

有两处差别最要紧。第一,连接从「每次查询临时写」变成「定义一次、处处可用」。第二,属性带类型和约束,写进去的值会被检查:WorkOrder 的状态只能是 planned、released、running、paused、done 五个取值之一。

一张表也不一定只对应一个对象类型。一张把订单、订单行和客户名都塞在一起的宽表,通常要拆成几个对象类型,再用关系连起来。怎么拆,第 3 门课专门讲。

常见的误区是以为对象类型只能是「东西」。它也可以是事件:Machine 是一台设备,Inspection 是一次检验,两者都是对象类型。

只有名词不够

光有对象,孪生只是一张好看的地图。企业里真正的工作是决策:看到情况,做出判断,动手,留下记录。一个决策由四样东西组成:

DATA

数据

工单、订单、设备读数,来自 ERP、MES,也来自人和智能体做决定时留下的数据。

LOGIC

逻辑

怎样判断:一条规则、一个计算,或者智能体的一次分析。

ACTION

动作

把决定执行下去:暂停一张工单,起草一张采购订单。

SECURITY

安全

谁能看、谁能做,做过的事都查得到。

数据是名词,动作是动词,逻辑决定怎样把它们拼成句子,安全决定谁有资格说这句话。少了动词,看板只能看,改还得回到 ERP 里手工做。

决策留下的痕迹也是数据。打开了动作记录的 Action,每次执行都会记下谁在什么时候、用什么参数、改了哪些对象,下一次判断就可以拿它当依据。

名词说有什么,动词说能做什么,逻辑决定说哪一句,安全决定谁能说。

在 Semantic 里,Action 带参数、规则和提交条件。它在一个事务里执行,一次最多改 10,000 个对象。成员和智能体通过 Action 改数据。开发者也可直接编辑明确开放直接编辑的 Object Type。

整张地图:四层

整门课按四层来讲,从下往上走一遍。每行的数字是讲它的那一课。

  1. 05应用与智能体人、应用、智能体和自动化读写同一份对象
  2. 04工具链API、SDK、CLI、MCP 把能力开放出来
  3. 03引擎存对象、回答查询、执行 Action
  4. 02语言对象类型、属性、关系、Action 等构件的定义

下一节从最下面一层开始:把语言层的全部构件放到一张图上,名词有哪些,动词有哪些,名字怎么写。

要点

  • 表只记录格子里是什么;对象类型还说明它是什么、和谁相连、能对它做什么。
  • 数据集、行、列、连接,对应对象类型、对象、属性、关系。
  • 对象类型既可以是东西(设备),也可以是事件(检验)。
  • 一个决策由数据、逻辑、动作、安全四样组成,名词加动词才够。

练一练

翻译一张你们的表

选一张你们每天都要看的表:订单、工单、库存都行。

写出它对应的对象类型:主键、标题、五个属性,每个属性写上类型。

小测

选一个答案,马上看解析。

Q1为什么要把工单表的一行变成对象?

Q2检验(Inspection)可以做成对象类型吗?

Q3「把这张工单暂停」在 Semantic 里应该怎么做?

延伸阅读