首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第112章 SAI Framework 完整运行机制

第112章 SAI Framework 完整运行机制

第111章建立了 SAI 的完整数据流,回答了数据从外部世界进入以后,依次经过什么结构。

本章进一步从 Framework Runtime 的角度说明:

SAI Framework 如何启动 Individual,如何启动 Central,如何接收信息、处理场景、完成感知、认知、记忆、推理、决策、行为和执行,再通过反馈形成经验、学习和更新,最后重新进入下一轮生命周期。

因此,本章重点是完整运行过程


1. Framework 启动

SAI Framework 是整个 SAI 的运行基础。

启动顺序:

Application
    ↓
Framework
    ↓
Kernel
    ↓
Config
    ↓
Registry
    ↓
Container
    ↓
Manager
    ↓
Components

Framework 首先完成自身初始化。


1.1 Framework 启动内容

主要包括:

配置加载
组件注册
运行对象创建
依赖检查
Manager 初始化
Lifecycle 初始化
Event 初始化
Task 初始化
Log 初始化
Exception 初始化

最终:

Framework
STATE = READY

然后进入:

STARTING
    ↓
RUNNING

1.2 Framework 启动模型

CREATE
  ↓
INITIALIZE
  ↓
READY
  ↓
START
  ↓
RUNNING

只有 Framework 进入 RUNNING,后面的 Individual 才应该进入正式运行状态。


2. Individual 启动

Framework 启动以后,创建并启动 Individual。

Framework
    ↓
IndividualManager
    ↓
Individual_A

Individual 生命周期:

CREATED
   ↓
INITIALIZING
   ↓
READY
   ↓
RUNNING

2.1 Individual 启动内容

Individual 需要建立:

Identity
State
Ability
Memory
Central
InformationReceiver

结构:

Individual_A
│
├── Identity
├── State
├── Ability
├── Memory
├── Central
└── InformationReceiver

2.2 Individual 启动后的状态

Individual_A
STATE = READY

说明:

Individual 已经具备运行条件,但还没有处理当前信息。

收到信息后:

READY
  ↓
RUNNING

处理完成后:

RUNNING
  ↓
READY

3. Central 启动

Individual 启动以后,需要启动 Central。

Central 是 Individual 内部的运行协调中心。

Individual
     ↓
Central

Central 负责组织:

Information
Scene
Perception
Cognition
Memory
Reasoning
Decision
Behavior
Expression
Learning

3.1 Central 启动

Central
  ↓
Load Components
  ↓
Check Dependencies
  ↓
Initialize
  ↓
READY

例如:

Central_A
STATE = READY

3.2 Central 不负责智能判断

Central 的作用是:

接收
组织
调用
传递
协调
返回

而不是直接负责:

感知
认知
推理
决策

因此:

Central ≠ Cognition
Central ≠ Reasoning
Central ≠ Decision

4. 信息进入

Framework 运行以后,外部信息可以进入 Individual。

信息来源可能是:

Sensor
Camera
Device
Web
API
Operator
External System
Feedback
Internal State

基本路径:

External Source
      ↓
Information
      ↓
InformationReceiver
      ↓
Individual
      ↓
Central

例如:

Information_001
{
    source: DistanceSensor_A,
    type: SENSOR_DATA,
    target: Robot_A,
    data: {
        distance: 0.8,
        direction: FRONT
    }
}

4.1 信息接收

InformationReceiver 首先检查:

是否存在
数据是否有效
来源是否明确
目标是否明确
结构是否正确

通过以后:

Information
STATE = ACCEPTED

然后进入 Central。


5. 场景进入

Information 进入以后,需要形成当前 Scene。

Information
     ↓
SceneCollector
     ↓
Scene

例如:

Scene_A
│
├── Robot_A
│   ├── speed = 1.2
│   └── state = MOVING
│
└── Obstacle_A
    ├── distance = 0.8
    └── direction = FRONT

5.1 Scene 的作用

Scene 不是单个 Information。

它是:

某一时刻或某一时间范围内多个信息经过组织后形成的当前环境结构。

例如:

t1:
distance = 2.0

t2:
distance = 1.5

t3:
distance = 0.8

SceneCollector 可以形成:

distance:
2.0 → 1.5 → 0.8

change:
DECREASING

因此 Scene 为 Perception 和 Cognition 提供当前环境结构。


6. 感知

Scene 和 Information 进入 Perception。

Scene
 ↓
Perception

Perception 对信息进行结构化。

例如:

distance = 0.8
direction = FRONT

形成:

Element

进一步识别:

Object
Property
State
Relation

6.1 感知过程

Information
    ↓
Validation
    ↓
Element Extraction
    ↓
Object Recognition
    ↓
Property Recognition
    ↓
State Recognition
    ↓
Relation Recognition
    ↓
Perception Result

例如:

Obstacle_A
distance = 0.8
direction = FRONT
state = ACTIVE

此时只是:

感知到了什么。

还不是完整认知。


7. 认知

Perception 的结果进入 Cognition。

Perception
    ↓
Cognition

Cognition 对:

Object
Property
State
Relation
Condition
Scene

进行组织和理解。

例如:

Robot_A
    │
    │ FRONT_OF
    ↓
Obstacle_A

Obstacle_A.distance = 0.8
Robot_A.state = MOVING

Cognition 可以形成:

Robot_A 正在运动

Obstacle_A 位于 Robot_A 前方

Obstacle_A 距离 Robot_A 0.8m

当前存在前方障碍物

最终:

CognitionResult
STATE = UNDERSTOOD

8. 记忆

认知结果进入 Memory,同时读取历史 Memory。

             ┌──────────────┐
             │    Memory    │
             └──────┬───────┘
                    ↑ ↓
             Current Cognition
                    │
                    ↓
                 Reasoning

Memory 中可能存在:

ShortMemory
LongMemory
FactMemory
RelationMemory
StateMemory
ExperienceMemory

8.1 当前记忆

例如:

ShortMemory
{
    robot: Robot_A,
    obstacle: Obstacle_A,
    distance: 0.8,
    state: MOVING
}

8.2 历史记忆

例如:

FactMemory
distance < 1.0 → high risk

ExperienceMemory
类似情况下 STOP → SUCCESS

于是当前运行同时拥有:

当前场景
+
历史资源

9. 推理

Cognition 和 Memory 的结果进入 Reasoning。

Cognition
   +
Memory
   +
Rules
   ↓
Reasoning

例如:

distance = 0.8

规则:

IF distance < 1.0
THEN risk = HIGH

计算:

0.8 < 1.0

得到:

TRUE

形成:

Conclusion
{
    target: Robot_A,
    property: risk,
    value: HIGH,
    state: CONFIRMED
}

9.1 推理的核心

Known Facts
+
Current Conditions
+
Rules
+
Experience
+
Memory
      ↓
Reasoning
      ↓
Conclusion

Reasoning 的作用是:

从已有结构中得到新的结构化结论。


10. 决策

Reasoning 得到 Conclusion:

risk = HIGH

进入 Decision。

Conclusion
    ↓
Decision

Decision 建立候选:

CONTINUE
SLOW_DOWN
STOP
TURN_LEFT
TURN_RIGHT

然后检查:

Condition
Capability
Risk
Priority
Conflict
State
Experience

最终:

Decision = STOP

10.1 Decision 的核心

Reasoning
   ↓
Conclusion
   ↓
Candidates
   ↓
Risk / Priority / Condition
   ↓
Selection
   ↓
Decision

所以:

Conclusion = 得到了什么结论
Decision = 选择做什么

11. 行为

Decision 产生以后进入 Behavior。

Decision
    ↓
Behavior

例如:

Decision = STOP

形成:

Behavior = SAFE_STOP

行为可以组织多个 Action:

SAFE_STOP
│
├── CHECK_STATE
├── REDUCE_SPEED
├── STOP
└── VERIFY

11.1 Behavior 的作用

Behavior 负责:

执行顺序
执行状态
等待
暂停
失败处理
完成处理

所以:

Decision = 选择
Behavior = 组织执行过程
Action = 具体操作

12. 表现

Action 产生以后,如果需要通过某种外部接口表示,需要形成 Expression。

Action
   ↓
Expression

例如:

Action:
STOP Robot_A

形成:

Expression
{
    type: ACTION,
    target: Robot_A,
    action: STOP
}

然后根据目标:

Expression
    ↓
Template
    ↓
Renderer

例如设备控制:

Expression
    ↓
Device Template
    ↓
DeviceRenderer

形成设备能够识别的数据结构。


12.1 表现不改变决策

Expression 只负责:

表达
组织
转换

不能重新决定:

STOP

还是:

TURN

因此:

Decision → Expression

而不是:

Expression → Decision

13. 外部执行

表现结果或者 Action 最终通过 Adapter 连接外部环境。

设备控制:

Action
 ↓
DeviceAdapter
 ↓
DeviceCommand
 ↓
External Device

例如:

Action:
STOP Robot_A

转换为:

DeviceCommand
{
    robot_id: Robot_A,
    command: STOP
}

发送:

RobotAdapter
      ↓
Robot Controller
      ↓
Physical Robot

真实机器人:

MOVING
   ↓
STOPPING
   ↓
STOPPED

速度:

1.2m/s
   ↓
0m/s

这才是外部执行。


14. 反馈

外部执行完成后产生 Feedback。

例如:

DeviceResponse
{
    robot_id: Robot_A,
    state: STOPPED,
    speed: 0
}

转换为:

Feedback
{
    source: Robot_A,
    action: STOP,
    state: STOPPED,
    changes: {
        speed: 1.2 → 0
    }
}

反馈重新进入 SAI:

External Device
      ↓
Device Response
      ↓
Adapter
      ↓
Feedback
      ↓
Information
      ↓
Perception

14.1 为什么必须反馈

SAI 不能简单认为:

Action SUCCESS

就等于:

External Result SUCCESS

例如:

发送 STOP

不代表:

机器人已经停止

必须通过 Feedback 获得实际状态。

因此:

Command
≠
Actual Result

15. 经验

完整执行过程结束以后形成 Experience。

Condition
+
Decision
+
Behavior
+
Action
+
Result
+
Feedback
      ↓
Experience

例如:

Experience_001
{
    condition: {
        obstacle_distance: 0.8
    },

    decision: STOP,

    behavior: SAFE_STOP,

    action: STOP,

    result: SUCCESS,

    feedback: {
        state: STOPPED,
        speed: 0
    },

    outcome: SAFE
}

Experience 保存的是:

这一次运行发生了什么。

而不是单纯保存一个最终值。


16. 学习

Experience 进入 Learning。

Experience
     ↓
Learning

Learning 可以结合:

Experience
Feedback
Memory
Information
Existing Knowledge

进行:

比较
分析
提取
验证
归纳
更新

例如多次经历:

distance < 1.0
      ↓
STOP
      ↓
SUCCESS

经过验证以后形成结构化知识:

Knowledge
{
    condition: distance < 1.0,
    action: STOP,
    result: SAFE,
    state: VERIFIED
}

这里的学习是:

从已有运行数据和经验中获取可重复使用的知识资源。


17. 更新

Learning 形成知识以后,需要更新系统内部资源。

Learning
    ↓
Knowledge
    ↓
Update

更新对象可以包括:

Memory
Fact
Relation
State
Experience
Rule
Knowledge
Ability Resource
History

例如:

Experience
     ↓
Learning
     ↓
Knowledge
     ↓
Memory Update

如果新知识经过严格验证,也可以进入规则资源:

Knowledge
     ↓
Rule Update

如果形成新的能力资源:

Knowledge
     ↓
Ability Resource Update

18. 生命周期重新开始

更新不是 SAI 运行的终点。

更新完成以后:

UPDATE
   ↓
WAITING / READY
   ↓
NEW INFORMATION

新的外部变化再次进入:

信息
 ↓
场景
 ↓
感知
 ↓
认知
 ↓
记忆
 ↓
推理
 ↓
决策
 ↓
行为
 ↓
表现
 ↓
执行
 ↓
反馈
 ↓
经验
 ↓
学习
 ↓
更新

于是生命周期重新开始。


19. 完整运行实例

假设:

Robot_A
speed = 1.2m/s

Obstacle_A
distance = 0.8m

完整运行:

Framework
   ↓
Individual_A
   ↓
Central
   ↓
Information
   ↓
Scene
   ↓
Perception
   ↓
Object + Property + State + Relation
   ↓
Cognition
   ↓
Memory
   ↓
Reasoning
   ↓
Conclusion: risk = HIGH
   ↓
Decision
   ↓
STOP
   ↓
Behavior
   ↓
SAFE_STOP
   ↓
Action
   ↓
STOP Robot_A
   ↓
Expression
   ↓
Template / Renderer
   ↓
RobotAdapter
   ↓
Physical Robot
   ↓
Robot STOPPED
   ↓
Feedback
   ↓
Experience
   ↓
Learning
   ↓
Knowledge
   ↓
Update Memory
   ↓
等待新的 Information

20. SAI Framework 的完整运行循环

从 Framework 的角度,可以压缩成:

Framework
   ↓
Individual
   ↓
Central
   ↓
Information
   ↓
Scene
   ↓
Perception
   ↓
Cognition
   ↓
Memory
   ↓
Reasoning
   ↓
Decision
   ↓
Behavior
   ↓
Expression
   ↓
External Execution
   ↓
Feedback
   ↓
Experience
   ↓
Learning
   ↓
Update
   ↓
New Information
   ↺

21. Framework、Individual、Central 三层关系

三者必须严格区分。

SAI Framework
│
│ 负责整个系统运行
│
└── Individual
      │
      │ 负责人工个体运行
      │
      └── Central
            │
            │ 负责个体内部协调
            │
            ├── Perception
            ├── Cognition
            ├── Memory
            ├── Reasoning
            ├── Decision
            ├── Behavior
            ├── Action
            └── Learning

因此:

Framework = 系统运行
Individual = 个体运行
Central = 个体内部协调

22. SAI Framework 的完整生命周期

Framework 自身:

CREATED
   ↓
INITIALIZING
   ↓
READY
   ↓
STARTING
   ↓
RUNNING
   ↓
STOPPING
   ↓
STOPPED
   ↓
SHUTDOWN

Individual:

CREATED
   ↓
INITIALIZING
   ↓
READY
   ↓
RUNNING
   ↓
WAITING
   ↓
RUNNING
   ↓
...

因此 Framework 的生命周期是系统级生命周期,Individual 的生命周期是个体级生命周期


23. 一次运行与整个生命周期

必须区分:

一次运行

Information
→ Perception
→ Cognition
→ Reasoning
→ Decision
→ Behavior
→ Action
→ Execution
→ Feedback

一次运行结束后的学习

Feedback
→ Experience
→ Learning
→ Update

整个生命周期

Information
→ ...
→ Update
→ New Information
→ ...
→ Update
→ New Information
→ ...

所以 SAI 不是:

输入一次
处理一次
结束

而是:

接收
→ 理解
→ 决策
→ 执行
→ 反馈
→ 学习
→ 更新
→ 再接收
→ 再运行

24. 本章核心模型

                         SAI Framework
                              │
                              ↓
                         Individual
                              │
                              ↓
                           Central
                              │
                              ↓
                         信息进入
                              │
                              ↓
                           场景
                              │
                              ↓
                           感知
                              │
                              ↓
                           认知
                              │
                              ↓
                           记忆
                              │
                              ↓
                           推理
                              │
                              ↓
                           决策
                              │
                              ↓
                           行为
                              │
                              ↓
                           表现
                              │
                              ↓
                         外部执行
                              │
                              ↓
                           反馈
                              │
                              ↓
                           经验
                              │
                              ↓
                           学习
                              │
                              ↓
                           更新
                              │
                              ↓
                      生命周期重新开始
                              │
                              ↓
                         新的信息
                              ↺

第112章核心定义

Framework 启动:

建立 SAI 的运行环境,使 Kernel、Container、Registry、Manager 及相关组件进入可运行状态。

Individual 启动:

创建并初始化一个可以独立运行的 SAI 人工个体。

Central 启动:

建立 Individual 内部各功能组件之间的运行协调机制。

信息进入:

外部或内部信息通过 InformationReceiver 进入 Individual。

场景进入:

将一个或多个信息组织为当前 Scene。

感知:

将信息转换为 Element、Object、Property、State、Relation 等结构。

认知:

对感知形成的结构进行组织、匹配和理解。

记忆:

保存和提供当前及历史认知资源。

推理:

使用事实、规则、条件、经验和记忆形成新的结论。

决策:

根据结论、候选、风险、优先级、状态和能力选择处理方案。

行为:

将决策组织成连续执行过程。

表现:

将内部结果按照 Template、Renderer 等机制形成外部可使用的结构。

外部执行:

通过 Adapter 将 Action 或执行结构作用于外部设备或系统。

反馈:

获取外部执行后的真实结果和状态变化。

经验:

保存一次完整运行中的条件、决策、行为、行动、结果和反馈。

学习:

从经验、反馈、信息和已有资源中获取可重复使用的知识资源。

更新:

将经过学习和验证的知识更新到 Memory、Rule、Knowledge、Ability Resource 等内部资源。


第112章最终结论

SAI Framework 的完整运行机制可以定义为:

Framework 负责启动和维持运行环境,Individual 负责作为人工个体运行,Central 负责个体内部协调;信息进入后形成场景,经感知、认知、记忆、推理和决策形成行为与行动,再通过表现和外部接口作用于世界;外部世界产生反馈,反馈形成经验,经验经过学习形成知识并更新内部资源,随后 Individual 再次接收新的信息,进入下一轮生命周期。

最终形成:

Framework
→ Individual
→ Central
→ Information
→ Scene
→ Perception
→ Cognition
→ Memory
→ Reasoning
→ Decision
→ Behavior
→ Expression
→ Execution
→ Feedback
→ Experience
→ Learning
→ Update
→ New Information
→ ...

这就是 SAI Framework 的完整运行机制

Leave a Reply

Your email address will not be published. Required fields are marked *