第111章 完整数据流
第110章解决了 SAI 的完整类关系:
Application
→ Kernel
→ Container
→ Individual
→ Central
→ Component
第111章进一步解决一个更加核心的问题:
数据进入 SAI 以后,究竟经过哪些结构、发生什么变化、最终如何回到外部世界,并再次形成新的数据?
因此,本章建立 SAI 的完整数据生命周期。
核心不是简单的“输入→输出”,而是:
外部世界
↓
场景采集
↓
信息接收
↓
感知
↓
元素
↓
对象
↓
关系
↓
认知
↓
记忆
↓
推理
↓
决策
↓
行为
↓
行动
↓
表现
↓
执行
↓
反馈
↓
经验
↓
学习
↓
更新
↓
再次接收新信息
这构成 SAI 的数据闭环。
1. 外部世界
1.1 外部世界定义
外部世界是 SAI 所面对的实际环境。
例如:
机器人
车辆
机器
人员
道路
建筑
设备
传感器
网络系统
文件
用户
外部世界不是 SAI 内部对象。
例如:
真实 Robot_A
属于外部世界。
而:
RobotObject
是 SAI 对这个真实机器人建立的内部结构表示。
因此:
外部实体 ≠ SAI Object
1.2 外部世界产生变化
例如机器人前方出现障碍物:
t1
Obstacle_A = 2.0m
t2
Obstacle_A = 1.5m
t3
Obstacle_A = 0.8m
这些变化通过 Sensor、Device、Camera、External System 等进入 SAI。
2. 场景采集
SceneCollector 将不同来源、不同时间的信息组织起来。
External World
↓
Sensor
↓
Information
↓
SceneCollector
↓
Scene
例如:
Scene_A
│
├── Robot_A
│ ├── speed = 1.2
│ └── state = MOVING
│
├── Obstacle_A
│ ├── distance = 0.8
│ └── state = ACTIVE
│
└── Relation
└── Robot_A FRONT_OF Obstacle_A
2.1 SceneCollector 的重要作用
SceneCollector 不负责:
Reasoning
Decision
Learning
它主要负责:
采集
整理
合并
排序
比较时间
更新场景
例如:
t1 distance = 2.0
t2 distance = 1.5
t3 distance = 0.8
SceneCollector 可以形成:
distance:
2.0 → 1.5 → 0.8
变化:
DECREASING
这为后面的 Cognition 和 Reasoning 提供结构化数据。
3. 信息接收
场景数据最终进入 Individual。
Scene
↓
InformationReceiver
↓
Individual
Information 可以来自:
Sensor
Camera
Device
RobotAdapter
VehicleAdapter
Web
API
Operator
External System
Feedback
Internal State
3.1 Information 结构
Information
├── id
├── source
├── type
├── target
├── data
├── timestamp
└── state
例如:
Information_001
source = DistanceSensor_A
type = SENSOR_DATA
target = Robot_A
data:
distance = 0.8
direction = FRONT
3.2 信息接收不等于感知
这是重要边界:
InformationReceiver
=
接收信息
Perception
=
处理并结构化信息
所以:
InformationReceiver ≠ Perception
4. 感知
Perception 将 Information 转换为可处理的结构。
Information
↓
Perception
输入:
distance = 0.8
direction = FRONT
感知结果:
Element
├── distance = 0.8
└── direction = FRONT
然后进一步形成:
Object
Obstacle_A
4.1 感知过程
Information
↓
Validation
↓
Element Extraction
↓
Object Recognition
↓
Property Recognition
↓
State Recognition
↓
Relation Recognition
↓
Perception Result
Perception 的核心:
把获得的信息转化为 SAI 可以组织的离散结构。
5. 元素
Element 是数据流中的基础结构单元。
例如:
Robot_A
Obstacle_A
0.8
FRONT
MOVING
ACTIVE
都可以成为 Element。
可以表示为:
Element
├── ObjectElement
├── PropertyElement
├── StateElement
├── RelationElement
├── ValueElement
├── TimeElement
├── LocationElement
└── EventElement
5.1 Element 的作用
Element 是从:
Information
到:
Object / Property / State / Relation
之间的中间结构。
即:
Information
↓
Element
↓
Structured World Representation
6. 对象
Element 进一步组织成 Object。
例如:
Robot_A
形成:
Robot_A
│
├── speed = 1.2
├── battery = 76
├── state = MOVING
└── position = P1
另一个:
Obstacle_A
│
├── distance = 0.8
├── direction = FRONT
└── state = ACTIVE
6.1 Object 是结构化实体
Object:
Identity
+
Property
+
Method
+
Relation
+
State
例如:
Robot_A
不是简单的字符串,而是:
Object {
id,
properties,
methods,
relations,
state
}
7. 关系
多个 Object 之间通过 Relation 建立联系。
例如:
Robot_A
│
│ FRONT_OF
↓
Obstacle_A
以及:
Robot_A
│
│ LOCATED_ON
↓
Road_A
7.1 Relation 进入认知
单独知道:
Robot_A
Obstacle_A
distance = 0.8
还不够。
还需要:
Robot_A FRONT_OF Obstacle_A
于是形成:
Object
+
Property
+
Relation
+
State
这才成为完整的场景结构。
8. 认知
Cognition 对感知得到的结构进行理解。
输入:
Robot_A
speed = 1.2
Obstacle_A
distance = 0.8
Relation:
Robot_A FRONT_OF Obstacle_A
Cognition 可以形成:
Robot_A 正在运动
Obstacle_A 位于 Robot_A 前方
Obstacle_A 距离 Robot_A 0.8m
当前存在前方障碍物
这里的结果是结构化理解。
8.1 Cognition 数据结构
可以形成:
CognitionResult
├── objects
├── properties
├── relations
├── states
├── conditions
├── context
├── matching
├── understanding
└── state
例如:
state = UNDERSTOOD
9. 记忆
认知结果需要进入 Memory。
Cognition
↓
Memory
Memory 同时还可以向 Cognition、Reasoning、Decision 提供历史数据:
Memory
↙ ↓ ↘
Cognition Reasoning Decision
9.1 写入 Memory
例如当前事实:
Robot_A
state = MOVING
可以形成:
FactMemory
当前经历:
Obstacle_A
distance = 0.8
Decision = STOP
Result = SUCCESS
可以形成:
ExperienceMemory
9.2 Memory 不改变事实
Memory 的基本职责是:
保存
读取
更新
验证
组织
它不应该为了让系统“更智能”而任意改变输入事实。
10. 推理
Reasoning 使用:
Current Understanding
+
Memory
+
Facts
+
Relations
+
Rules
+
Experience
形成 Conclusion。
例如:
distance = 0.8
规则:
IF
distance < 1.0
THEN
risk = HIGH
推理:
0.8 < 1.0
↓
TRUE
↓
risk = HIGH
形成:
Conclusion:
Robot_A.risk = HIGH
10.1 推理数据流
Cognition
↓
Current Conditions
↓
Memory
↓
Facts + Rules + Experience
↓
Reasoning
↓
Conclusion
11. 决策
Decision 使用推理结果。
输入:
risk = HIGH
候选:
CONTINUE
SLOW_DOWN
STOP
TURN_LEFT
TURN_RIGHT
Decision 进一步检查:
Condition
Risk
Priority
Conflict
Capability
State
Experience
最终:
Decision = STOP
11.1 Decision 不等于 Action
此时系统只是:
决定:
STOP
还没有真正执行。
所以:
Decision ≠ Action
12. 行为
Behavior 将 Decision 组织成执行过程。
Decision
↓
Behavior
例如:
Decision = STOP
形成:
Behavior = SAFE_STOP
Behavior:
SAFE_STOP
│
├── CHECK_STATE
├── REDUCE_SPEED
├── STOP
└── VERIFY
因此:
Decision = 选择方案
Behavior = 组织执行过程
13. 行动
Action 是实际的具体操作。
例如:
Action:
SET_SPEED
value = 0
或者:
Action:
STOP
完整:
Decision
↓
Behavior
↓
Action
13.1 Action 是离执行最近的内部操作
例如:
Action
{
type: SET_SPEED,
target: Robot_A,
value: 0
}
此时仍然没有直接改变真实机器人。
还需要:
Adapter
或:
DeviceAdapter
连接外部环境。
14. 表现
Expression 将内部结果形成可向外传递的结构。
例如:
Action:
STOP
可以形成:
Expression
{
type: ACTION,
target: Robot_A,
action: STOP
}
表现层:
Action
↓
Expression
↓
Template
↓
Renderer
14.1 Expression 不等于生成
Expression 只是:
将已经存在的结构化结果按照外部接口要求进行表达。
它不会:
创造不存在的信息
改变 Decision
重新 Reasoning
15. 执行
执行阶段将 SAI 的 Action 真正连接到外部环境。
例如:
Action
↓
RobotAdapter
↓
Robot Controller
↓
Physical Robot
具体:
Action
SET_SPEED = 0
↓
RobotAdapter
↓
DeviceCommand
↓
Robot Controller
↓
Physical Robot
机器人实际发生:
speed:
1.2 → 0
状态:
MOVING → STOPPED
15.1 表现与执行不一定完全相同
对于 Web:
Expression
↓
Template
↓
WebRenderer
↓
WebAdapter
↓
Browser
对于设备:
Action
↓
DeviceAdapter
↓
Device
因此:
Expression / Renderer
主要解决表现。
而:
Adapter
主要解决外部连接和执行。
16. 反馈
外部世界实际发生变化后产生 Feedback。
例如:
Command:
STOP
设备返回:
state = STOPPED
speed = 0
形成:
Feedback
{
source: Robot_A,
action: STOP,
state: STOPPED,
changes: {
speed: 1.2 → 0
}
}
16.1 Feedback 回到 Information
最重要的一点:
Feedback
↓
Information
↓
Perception
因为 SAI 不应该只相信:
“我发出了 STOP”
而应该确认:
“机器人实际上已经 STOPPED”
因此形成:
Action
↓
Execution
↓
Feedback
↓
Information
↓
Perception
↓
Verification
17. 经验
Feedback 和整个执行过程可以形成 Experience。
Condition
+
Decision
+
Behavior
+
Action
+
Result
+
Feedback
例如:
Condition:
Obstacle distance = 0.8m
Decision:
STOP
Behavior:
SAFE_STOP
Action:
STOP
Result:
SUCCESS
Feedback:
Robot speed 1.2 → 0
Outcome:
SAFE
形成:
Experience_001
17.1 Experience 是历史过程
Experience 不是当前状态。
例如:
当前:
Robot_A = STOPPED
这是 State。
而:
曾经因为 Obstacle_A 距离 0.8m,
执行 STOP,
最终安全停止。
这是 Experience。
18. 学习
Learning 使用 Experience、Feedback、Information 和 Memory 获取知识。
Experience
↓
Learning
↓
Knowledge
例如历史经历:
distance < 1.0
+
front obstacle
+
STOP
+
SUCCESS
经过验证后形成知识资源:
Knowledge:
前方障碍物距离小于安全阈值时,
STOP 是一个可用的安全处理方案。
在系统内部更适合保存成结构:
Knowledge
{
condition: {
relation: FRONT_OF,
distance: < 1.0
},
applicable_action: STOP,
result: SAFE,
source: Experience_001,
state: VERIFIED
}
19. 更新
Learning 形成新的知识资源后,需要更新系统。
可能更新:
Memory
Knowledge
Experience
Rule
Ability Resource
History
例如:
Experience
↓
Learning
↓
Knowledge
↓
Memory Update
如果经过验证后形成新规则:
Knowledge
↓
Rule Update
如果形成新的能力资源:
Knowledge
↓
Ability Resource Update
20. 更新后的下一轮数据流
Update 并不是整个系统结束。
更新完成以后,SAI 再次接收新信息:
Update
↓
New Information
↓
Scene
↓
Perception
↓
Cognition
↓
...
因此:
学习不是终点。
而是:
为下一轮运行提供新的资源。
21. 完整数据流实例
现在把整个过程串起来。
假设:
Robot_A
speed = 1.2m/s
Obstacle_A
distance = 0.8m
第一阶段:外部世界
Physical World
│
├── Robot_A
└── Obstacle_A
第二阶段:场景采集
Sensor 获取:
distance = 0.8m
SceneCollector:
Scene_A
├── Robot_A
└── Obstacle_A
第三阶段:信息接收
Information_001
source = DistanceSensor_A
data = distance: 0.8
第四阶段:感知
Perception
↓
Element
得到:
distance = 0.8
direction = FRONT
第五阶段:对象
形成:
Robot_A
Obstacle_A
第六阶段:关系
形成:
Robot_A
│
│ FRONT_OF
↓
Obstacle_A
第七阶段:认知
Cognition:
Obstacle_A is in front of Robot_A
distance = 0.8m
Robot_A is MOVING
第八阶段:记忆
读取:
FactMemory
RuleMemory
ExperienceMemory
例如:
Rule:
distance < 1.0 → HIGH_RISK
第九阶段:推理
0.8 < 1.0
得到:
Conclusion:
risk = HIGH
第十阶段:决策
候选:
CONTINUE
SLOW_DOWN
STOP
TURN
风险:
HIGH
最终:
Decision = STOP
第十一阶段:行为
Behavior = SAFE_STOP
第十二阶段:行动
Action:
STOP Robot_A
第十三阶段:表现
Expression:
{
type: ACTION,
target: Robot_A,
action: STOP
}
如果需要向设备控制接口发送:
Template
↓
Renderer
形成设备命令结构。
第十四阶段:执行
RobotAdapter
↓
DeviceCommand
↓
Robot Controller
↓
Robot_A
真实变化:
speed:
1.2 → 0
第十五阶段:反馈
机器人返回:
DeviceResponse:
state = STOPPED
speed = 0
形成:
Feedback
第十六阶段:经验
形成:
Experience
{
condition: distance < 1.0,
decision: STOP,
behavior: SAFE_STOP,
action: STOP,
result: SUCCESS,
feedback: STOPPED,
outcome: SAFE
}
第十七阶段:学习
Experience
↓
Learning
↓
Knowledge
例如:
Knowledge:
当前条件下 STOP 是有效处理方式。
第十八阶段:更新
Knowledge
↓
Memory Update
历史记录保留:
t1:
Robot speed = 1.2
t2:
STOP command
t3:
Robot speed = 0
下一次收到新信息后重新计算。
22. 完整数据流总图
外部世界
│
↓
场景采集
│
↓
信息接收
│
↓
感知
│
↓
元素
│
↓
对象
│
↓
关系
│
↓
认知
│
↓
记忆
│
↓
推理
│
↓
决策
│
↓
行为
│
↓
行动
│
↓
表现
│
↓
执行
│
↓
外部世界
│
↓
反馈
│
┌──────────┼──────────┐
↓ ↓ ↓
经验 记忆 信息
│ │
↓ ↓
学习 感知
│
↓
更新
│
┌────────┴────────┐
↓ ↓
Memory Knowledge
│
└────────→ 下一轮运行
23. 数据在不同阶段的变化
这是本章最重要的地方之一。
同一现实事件在不同阶段并不是同一种数据。
外部世界
↓
物理状态
例如:
障碍物距离 0.8m
经过场景采集:
Scene
经过信息接收:
Information
经过感知:
Element
经过对象化:
Object
经过关系组织:
Relation
经过认知:
Understanding
经过推理:
Conclusion
经过决策:
Decision
经过行为:
Behavior
经过行动:
Action
经过执行:
DeviceCommand
外部世界发生变化:
Robot speed 1.2 → 0
再经过反馈:
Feedback
形成:
Experience
最终:
Knowledge
所以:
数据在 SAI 中不是简单地被传递,而是在不同阶段被逐步结构化、理解、计算、选择、执行和验证。
24. 三条主要数据路径
整个 SAI 实际上可以看成三条相互连接的路径。
第一条:认知路径
Information
↓
Perception
↓
Element
↓
Object
↓
Relation
↓
Cognition
↓
Memory
↓
Reasoning
↓
Decision
解决:
现在发生了什么?为什么?应该怎么做?
第二条:执行路径
Decision
↓
Behavior
↓
Action
↓
Expression
↓
Template
↓
Renderer
↓
Adapter
↓
External Execution
解决:
决定以后如何形成并执行实际操作。
设备直接控制时:
Decision
↓
Behavior
↓
Action
↓
DeviceAdapter
↓
Device
第三条:学习闭环
Execution
↓
Feedback
↓
Experience
↓
Learning
↓
Knowledge
↓
Memory Update
↓
Next Runtime
解决:
过去发生的事情如何成为未来可以使用的知识资源。
25. 完整闭环
最终三条路径合并:
┌──────────── 外部世界 ────────────┐
│ │
↓ ↑
场景采集 │
↓ │
信息接收 │
↓ │
感知 │
↓ │
元素 │
↓ │
对象 │
↓ │
关系 │
↓ │
认知 │
↓ │
记忆 │
↓ │
推理 │
↓ │
决策 │
↓ │
行为 │
↓ │
行动 │
↓ │
表现 │
↓ │
执行 ──────────────────────────────┘
│
↓
反馈
│
┌───────┴────────┐
↓ ↓
经验 记忆
↓
学习
↓
知识
↓
更新
↓
Memory / Rule /
Ability Resource
26. 本章核心区别
| 阶段 | 核心问题 |
|---|---|
| 外部世界 | 实际发生了什么 |
| 场景采集 | 当前环境有什么 |
| 信息接收 | 收到了什么 |
| 感知 | 信息中有什么结构 |
| 元素 | 基本信息单元是什么 |
| 对象 | 哪些实体存在 |
| 关系 | 实体之间是什么关系 |
| 认知 | 这些结构代表什么 |
| 记忆 | 过去保存了什么 |
| 推理 | 根据已知条件可以得到什么 |
| 决策 | 选择什么方案 |
| 行为 | 如何组织执行过程 |
| 行动 | 当前具体执行什么 |
| 表现 | 如何形成外部表达结构 |
| 执行 | 外部环境实际发生什么 |
| 反馈 | 实际执行结果是什么 |
| 经验 | 这次经历是什么 |
| 学习 | 从经历中获取什么知识 |
| 更新 | 哪些内部资源需要更新 |
第111章最终数据流
可以将本章最终模型定义为:
外部世界
↓
场景采集
↓
信息接收
↓
感知
↓
元素
↓
对象
↓
关系
↓
认知
↓
记忆
↓
推理
↓
决策
↓
行为
↓
行动
↓
表现
↓
执行
↓
反馈
↓
经验
↓
学习
↓
更新
↓
新的信息
↓
再次运行
压缩成 SAI 的完整闭环:
Information
→ Perception
→ Element
→ Object
→ Relation
→ Cognition
→ Memory
→ Reasoning
→ Decision
→ Behavior
→ Action
→ Expression
→ Execution
→ Feedback
→ Experience
→ Learning
→ Update
→ Information
因此,第111章建立的是 SAI 的完整数据生命周期:
数据从外部世界进入 SAI,经由场景、信息、感知、元素、对象、关系形成认知结构;再经过记忆、推理、决策形成行为和行动;行动作用于外部世界产生反馈;反馈形成经验,经验经过学习形成知识,并更新 Memory、Rule、Ability Resource 等内部资源,最终进入下一轮数据处理。
这也使前面第36章到第110章建立的各个组件第一次真正形成了一条连续、可追踪的运行数据链。