第二篇:从世界模型到 Physical AI------一套可落地的工业智能体架构
一、Physical AI 不是"给机器人接入大模型"
很多所谓机器人 Agent,本质上只是:
text
用户说话 → 大语言模型生成命令 → 机器人执行
这种架构可以完成简单演示,却不适合真实工业环境。
原因是大语言模型输出的是概率性 Token,而物理控制要求:
- 实时响应;
- 精确状态估计;
- 确定性控制;
- 碰撞约束;
- 权限隔离;
- 故障回退;
- 全过程审计。
因此,不能让大语言模型直接输出电机转速、机械臂力矩或设备开关指令。
可靠的 Physical AI 必须是分层架构。
二、Physical AI 七层架构
text
┌─────────────────────────────────┐
│ 1. 目标与语言理解层:LLM/VLM │
├─────────────────────────────────┤
│ 2. 记忆与知识层:RAG/事件记忆 │
├─────────────────────────────────┤
│ 3. 感知与状态估计层 │
├─────────────────────────────────┤
│ 4. 世界模型与未来预测层 │
├─────────────────────────────────┤
│ 5. 任务规划与动作规划层 │
├─────────────────────────────────┤
│ 6. 实时控制与安全约束层 │
├─────────────────────────────────┤
│ 7. 设备、机器人与物理环境 │
└─────────────────────────────────┘
这七层并不是简单的技术堆叠,而是把"概率智能"与"确定性控制"隔离开来。
三、第一层:目标与语言理解
大语言模型适合将自然语言转换为结构化目标。
例如用户提出:
检查 2 号泵站是否存在异常,并在安全范围内降低能耗。
语言模型不应直接生成"关闭 3 号水泵"这样的控制指令,而应输出结构化任务:
json
{
"target": "inspect_and_optimize",
"object": "pump_station_2",
"constraints": {
"pressure_min": 0.45,
"temperature_max": 75,
"manual_confirmation_required": true
},
"success_criteria": {
"fault_checked": true,
"energy_reduction": ">=3%"
}
}
后续系统围绕该目标进行感知、预测和规划。
大语言模型负责语义,不负责底层控制。
四、第二层:知识与记忆
世界模型擅长预测状态变化,但它未必掌握企业内部规则。
工业智能体还需要访问:
- 设备说明书;
- 操作规程;
- 历史故障记录;
- 检修工单;
- 安全阈值;
- 设备拓扑;
- 用户权限;
- 当前生产计划。
这部分可以由 RAG、知识图谱和事件记忆共同承担。
text
RAG:检索规程、说明书和报告
知识图谱:表达设备关系和依赖
时序数据库:保存运行状态
事件记忆:记录历史动作及其结果
例如:
text
2号水泵 → 属于 → 一次供水系统
2号水泵 → 依赖 → A路供电
2号水泵 → 禁止同时停机 → 1号水泵
如果只有语言模型,没有设备拓扑,系统可能提出违反生产约束的操作。
五、第三层:感知与状态估计
现实环境中的观测通常是不完整的。
智能体接收到的可能包括:
- 摄像头视频;
- 红外图像;
- 声音;
- 振动频谱;
- 温度、压力和流量;
- PLC 状态;
- 操作日志;
- 设备报警。
这些数据需要被融合成统一状态:
z_t=E(o_t^{video},o_t^{audio},o_t^{sensor},o_t^{event})
状态估计不仅要识别"看到了什么",还要推断"设备真实处于什么状态"。
例如摄像头发现设备轻微抖动,振动传感器检测到特定频率峰值,系统可能将其估计为:
json
{
"device": "pump_02",
"operating_state": "degraded",
"suspected_fault": "bearing_wear",
"confidence": 0.87,
"remaining_useful_life": {
"lower_hours": 72,
"upper_hours": 160
}
}
这里最关键的不是单点识别准确率,而是多模态信息能否形成一致状态。
六、第四层:世界模型
世界模型接收当前状态和候选动作,预测未来:
P(z_{t+1:t+H}\\mid z_t,a_{t:t+H},c)
其中 (c) 表示外部条件,例如天气、负荷和生产计划。
在能源场景中,候选动作可能是:
- 调整水泵频率;
- 切换运行组合;
- 改变储能充放电策略;
- 修改空调设定温度;
- 安排机器人前往设备区域;
- 保持当前状态。
世界模型分别模拟这些动作的未来影响:
text
动作 A:降低水泵频率 5%
结果:能耗下降 4.2%,压力保持稳定,风险较低
动作 B:关闭备用水泵
结果:能耗下降 7.8%,高峰期压力不足概率 31%
动作 C:保持不变
结果:运行安全,但轴承温度未来两小时可能继续上升
世界模型为决策系统提供的不是命令,而是"候选未来"。
七、第五层:规划器如何选择动作
规划器需要综合效率、风险和目标。
可以定义代价函数:
J(a)= w_1 C_{\\text{energy}} +w_2 C_{\\text{risk}} +w_3 C_{\\text{deviation}} +w_4 C_{\\text{wear}} +w_5 C_{\\text{operation}}
其中:
- (C_{\text{energy}}):能源成本;
- (C_{\text{risk}}):安全风险;
- (C_{\text{deviation}}):偏离目标状态的程度;
- (C_{\text{wear}}):设备损耗;
- (C_{\text{operation}}):动作切换成本。
安全风险通常不能只是普通权重项,而应作为硬约束:
T\<75\^\\circ C
P\>0.45\\text{MPa}
\\Pr(\\text{failure})\<0.01
满足硬约束后,系统才能在候选动作中优化能耗。
一个简化的规划过程如下:
python
def plan(current_state, candidate_actions, world_model):
feasible_plans = []
for actions in candidate_actions:
trajectory = world_model.predict(current_state, actions)
if violates_hard_constraints(trajectory):
continue
cost = evaluate_energy(trajectory)
cost += evaluate_wear(trajectory)
cost += evaluate_uncertainty(trajectory)
feasible_plans.append((cost, actions, trajectory))
return min(feasible_plans, key=lambda item: item[0])
生产环境还需使用 MPC、CEM、树搜索或强化学习策略进行高效规划。
八、第六层:实时控制与安全边界
上层模型输出的是抽象动作:
text
将 2 号水泵运行频率下调 5%
底层控制器负责将其转换为具体控制序列,并进行安全校验。
建议设置四道防线。
第一层:参数白名单
模型只能操作明确授权的设备和参数。
yaml
pump_02:
frequency:
min: 35
max: 50
max_change_per_minute: 2
第二层:规则引擎
执行前校验生产规则:
text
IF 当前处于消防状态
THEN 禁止修改供水泵频率
第三层:数字孪生预演
高风险操作先在仿真环境中执行,确认不会造成压力、温度或负荷越界。
第四层:人工审批
涉及停机、并网、切换电源等动作,必须由授权人员确认。
因此,真正安全的执行链路应该是:
text
模型建议
→ 规则校验
→ 世界模型预测
→ 数字孪生预演
→ 权限校验
→ 人工确认
→ PLC/控制器执行
九、训练一个工业世界模型需要哪些数据
至少需要四类时间对齐数据。
1. 观测数据
包括视频、红外、声音、传感器和日志。
2. 动作数据
包括 PLC 指令、操作记录、机械臂关节动作和人员操作。
3. 结果数据
记录动作之后温度、能耗、压力和设备状态如何变化。
4. 环境条件
包括天气、生产负荷、时间、设备型号和维护状态。
训练样本可以抽象为:
json
{
"state_before": {},
"action": {},
"context": {},
"state_after": {},
"risk_event": null
}
工业数据最常见的问题不是数量不足,而是时间戳不一致。
如果传感器时间、PLC 时间和视频时间相差数秒,模型就可能学习到错误的动作因果关系。因此,数据治理首先要解决统一时钟和事件对齐。
十、四阶段训练路线
阶段一:通用视频预训练
利用大规模视频学习物体、运动和空间规律。
阶段二:行业数据适配
使用泵站、变电站、生产线等行业视频和传感器数据进行训练。
阶段三:动作条件训练
加入 PLC 指令、机器人动作和操作记录,让模型学习:
状态+动作\\rightarrow未来状态
阶段四:仿真与现实联合训练
在数字孪生环境中生成故障、极端工况和危险场景,再通过少量真实数据校正模型。
text
真实数据 → 校正仿真器
仿真器 → 生成大量训练场景
训练模型 → 在真实环境小范围验证
验证结果 → 继续校正仿真器
这会形成 Sim2Real 数据闭环。
十一、企业落地的技术栈分工
工业 Physical AI 通常不是单一语言、单一框架完成的。
text
GPU模型层:
Python、PyTorch、CUDA、TensorRT
视频与机器人层:
ROS 2、OpenCV、GStreamer
业务控制层:
Spring Boot、工作流引擎、规则引擎
消息与事件层:
Kafka、MQTT
数据层:
时序数据库、ClickHouse、对象存储、向量数据库
设备接入层:
OPC UA、Modbus、IEC 104、PLC协议
Java 更适合承担:
- 权限控制;
- 工作流编排;
- 设备服务;
- 规则校验;
- 审批审计;
- 模型服务治理。
世界模型一般作为独立 GPU 推理服务,通过 HTTP、gRPC 或消息队列接入。
十二、世界模型不能只看预测画面是否逼真
工业场景需要建立专门的评测体系。
状态预测误差
MAE=\\frac{1}{N}\\sum_{i=1}\^{N}\|y_i-\\hat y_i\|
轨迹误差
衡量物体或机器人的预测位置与真实位置之间的偏差。
约束违反率
统计模型预测安全、实际却越界的比例。
不确定性校准
如果模型声称置信度为 90%,那么类似预测应当约有 90% 正确。
长程任务完成率
不能只评估一步动作,还要评估连续执行数十步后能否完成任务。
风险加权错误率
在工业系统中,漏报严重故障的代价远高于一次普通误报,因此不能只看平均准确率。
十三、一个关键原则:模型永远不能拥有无限权限
世界模型可能预测错误,语言模型可能理解错误,传感器也可能失效。
因此,Physical AI 应遵循:
text
能力可以动态扩展
权限必须静态约束
模型可以提出建议
安全系统拥有最终否决权
模型可以自动执行低风险动作
高风险动作必须人工确认
AI 的不确定性必须被确定性的工程系统包围。
十四、未来的工业软件会怎样变化
传统工业软件主要展示数据:
text
采集数据 → 展示报表 → 触发报警 → 人工决策
Physical AI 系统将演化为:
text
持续感知
→ 判断当前状态
→ 预测多个未来
→ 生成候选方案
→ 仿真验证
→ 安全执行
→ 根据结果继续学习
届时,数字孪生也不再只是一个三维可视化界面,而会成为 AI 的训练场、预测器和安全沙箱。
结语
Physical AI 的技术本质,不是让机器人接入 ChatGPT,而是构建一个完整闭环:
text
感知世界
理解状态
预测未来
规划动作
安全执行
观察结果
持续学习
大语言模型解决了人与机器沟通的问题,世界模型试图解决机器与现实环境互动的问题。
下一轮人工智能竞争的核心,很可能不再是谁生成的文字更自然,而是谁能够更准确地预测现实、更安全地采取行动。