第240章 Execution Controller|执行控制器
240.1 执行控制器的定义
在行为控制、动作控制和设备控制之后,还需要一个负责统一管理“执行过程”的控制机制。
设备控制器解决的是:
由什么设备执行?
而执行控制器解决的是:
这个动作应该如何进入执行、如何运行、如何监控、如何结束?
因此:
ExecutionController=Control(Execution)ExecutionController = Control(Execution)
执行控制器不是具体的执行器,也不是设备本身,而是连接:
Action→Device→ExecutionAction \rightarrow Device \rightarrow Execution
之间的过程控制层。
它负责将已经确定的动作、设备和执行参数组织成一个可控的执行过程,并持续管理执行状态。
240.2 执行、动作、设备的区别
三者必须严格区分。
Action
Action 是:
具体做什么。
例如:
- 打开摄像头
- 读取数据
- 移动机械臂
- 点击按钮
- 发送请求
- 保存文件
Device
Device 是:
由什么执行。
例如:
- 摄像头
- 键盘
- 鼠标
- GPU
- CPU
- 文件系统
- 机械臂
- 网络接口
Execution
Execution 是:
这个动作真正发生的运行过程。
因此:
Action≠Device≠ExecutionAction \neq Device \neq Execution
三者形成:
Action→Device→ExecutionAction \rightarrow Device \rightarrow Execution
而执行控制器负责控制这一过程:
Action→DeviceController→ExecutionController→ExecutionAction \rightarrow DeviceController \rightarrow ExecutionController \rightarrow Execution
240.3 为什么需要执行控制器
如果系统只有:
ActionController→DeviceController→ExecutorActionController \rightarrow DeviceController \rightarrow Executor
那么系统只能决定:
- 做什么;
- 用什么设备;
- 调用什么执行器。
但仍然缺少对执行过程本身的统一管理。
例如一个动作已经确定:
读取摄像头图像。
设备控制器可以确定:
Camera-01。
但是执行过程中仍然存在:
- 是否允许启动;
- 是否已经准备完成;
- 是否正在执行;
- 是否超时;
- 是否失败;
- 是否需要重试;
- 是否需要暂停;
- 是否需要取消;
- 是否已经完成;
- 结果是否有效。
这些问题都属于执行控制。
因此需要:
ExecutionControllerExecutionController
240.4 执行控制器的核心输入
执行控制器并不是独立工作的。
它主要接收:
Et=f(At,Dt,Pt,St,Ct,Ft−1)E_t=f(A_t,D_t,P_t,S_t,C_t,F_{t-1})
其中:
- AtA_t:Action
- DtD_t:Device
- PtP_t:Execution Parameter
- StS_t:Execution State
- CtC_t:Constraint
- Ft−1F_{t-1}:Previous Feedback
因此:
ExecutionController=Action+Device+Parameter+State+Constraint+FeedbackExecutionController = Action + Device + Parameter + State + Constraint + Feedback
240.5 执行控制的基本流程
执行控制可以形成一个标准状态流程:
ACTION
↓
PREPARE
↓
VALIDATE
↓
ALLOCATE
↓
START
↓
RUNNING
↓
MONITORING
↓
RESULT
↓
VERIFY
↓
COMPLETE
如果发生异常:
RUNNING
↓
ERROR
↓
RECOVERY
├── RETRY
├── SWITCH
├── FALLBACK
└── TERMINATE
因此执行并不是简单的:
Action → Execute
而是:
Action
↓
Preparation
↓
Validation
↓
Execution
↓
Monitoring
↓
Verification
↓
Completion
↓
Feedback
240.6 执行控制器的主要功能
1. Execution Validation|执行验证
执行控制器首先判断动作是否具备执行条件。
例如:
Valid(E)=ActionValid∧DeviceReady∧ParameterValidValid(E)=ActionValid \land DeviceReady \land ParameterValid
如果条件不满足,则不能进入执行状态。
2. Execution Preparation|执行准备
执行前完成必要资源准备:
- 参数准备;
- 设备准备;
- 数据准备;
- 环境准备;
- 权限准备;
- 状态初始化。
形成:
Prepare(Action,Device,Parameter)Prepare(Action,Device,Parameter)
3. Execution Start|执行启动
当条件满足后:
Start(E)Start(E)
执行过程进入:
READY → RUNNING
4. Execution Monitoring|执行监控
执行开始之后,系统必须持续观察执行状态。
例如:
Monitor(Et)Monitor(E_t)
监控:
- 当前状态;
- 执行进度;
- 时间;
- 资源;
- 错误;
- 输出;
- 环境变化。
因此执行控制不是一次性命令,而是一个持续过程。
5. Execution Switching|执行切换
当当前执行方式无法继续时,可以切换:
Executioni→ExecutionjExecution_i \rightarrow Execution_j
例如:
Device A
↓
Failure
↓
Device B
↓
Continue
这使系统具有执行恢复能力。
6. Execution Pause|执行暂停
某些执行过程不能立即终止,而需要暂停。
状态:
RUNNING→PAUSEDRUNNING \rightarrow PAUSED
条件满足后:
PAUSED→RUNNINGPAUSED \rightarrow RUNNING
7. Execution Termination|执行终止
执行控制器负责决定执行什么时候结束。
终止条件包括:
GoalSatisfiedGoalSatisfied
或者:
FailureFailure
或者:
TimeoutTimeout
或者:
CancelledCancelled
因此:
Terminate(E)Terminate(E)
不是简单的“程序结束”,而是一个受控制的状态转换。
8. Execution Verification|执行验证
执行完成并不意味着执行成功。
必须区分:
Executed≠SuccessfulExecuted \neq Successful
因此:
Success(E)=Verify(Result,ExpectedResult)Success(E)=Verify(Result,ExpectedResult)
例如:
Action
↓
Execution
↓
Result
↓
Verification
↓
Success / Failure
这一步对于认知系统尤其重要。
因为系统不能把“已经执行”直接当成“已经完成目标”。
240.7 执行状态模型
执行控制器需要维护执行状态。
可以定义:
CREATED
↓
READY
↓
PREPARING
↓
VALIDATED
↓
STARTING
↓
RUNNING
↓
MONITORING
↓
COMPLETED
异常状态:
BLOCKED
PAUSED
TIMEOUT
FAILED
CANCELLED
RECOVERING
因此:
ExecutionState∈{Created,Ready,Preparing,Validated,Starting,Running,Monitoring,Paused,Blocked,Completed,Failed,Cancelled,Recovering}ExecutionState \in \{ Created, Ready, Preparing, Validated, Starting, Running, Monitoring, Paused, Blocked, Completed, Failed, Cancelled, Recovering \}
240.8 执行控制器与执行器
这是一个非常重要的边界。
Execution Controller
回答:
执行过程应该怎样被控制?
Executor
回答:
具体执行动作。
因此:
ExecutionController≠ExecutorExecutionController \neq Executor
例如:
Action
↓
Execution Controller
↓
开始执行
↓
Executor
↓
实际执行
执行控制器负责:
- 启动;
- 暂停;
- 继续;
- 监控;
- 切换;
- 终止;
- 验证。
执行器负责:
- 真正调用;
- 真正运行;
- 真正产生结果。
240.9 执行控制器与设备控制器
两者同样不能混淆。
Device Controller
选择和管理设备。
Execution Controller
管理执行过程。
形成:
DeviceController→DeviceDeviceController \rightarrow Device
以及:
ExecutionController→ExecutionExecutionController \rightarrow Execution
完整关系:
Action
↓
Action Controller
↓
Action
↓
Device Controller
↓
Device
↓
Execution Controller
↓
Execution
↓
Executor
在实际系统中,设备控制和执行控制可以相互调用,而不是绝对单向的层级。
240.10 执行反馈
执行必须产生反馈。
Executiont→Resultt→FeedbacktExecution_t \rightarrow Result_t \rightarrow Feedback_t
反馈可以包括:
- 成功;
- 失败;
- 部分成功;
- 超时;
- 设备异常;
- 参数错误;
- 环境变化;
- 结果偏差。
于是:
Execution→Feedback→CognitionExecution \rightarrow Feedback \rightarrow Cognition
形成闭环。
240.11 执行失败处理
执行失败不能简单结束整个系统。
可以建立:
Failure→RecoveryFailure \rightarrow Recovery
恢复策略包括:
Recovery=Retry∨Switch∨Fallback∨Replan∨TerminateRecovery= Retry \lor Switch \lor Fallback \lor Replan \lor Terminate
例如:
Execution Failure
↓
Analyze Failure
↓
┌─────┼─────┬─────┐
↓ ↓ ↓ ↓
Retry Switch Fallback Terminate
如果只是临时错误,可以 Retry。
如果设备不可用,可以 Switch。
如果原方法无法继续,可以 Fallback。
如果目标已经无法完成,可以 Terminate。
如果需要重新规划,则:
Failure→Cognition→Replanning→NewActionFailure \rightarrow Cognition \rightarrow Replanning \rightarrow NewAction
这说明执行控制器并不是孤立的执行模块,而是认知闭环的一部分。
240.12 执行与反馈学习
执行结果还可以成为学习数据。
形成:
Action→Execution→Result→Feedback→LearningAction \rightarrow Execution \rightarrow Result \rightarrow Feedback \rightarrow Learning
例如系统发现:
Method A
→ Device A
→ Execution Failure
而:
Method A
→ Device B
→ Execution Success
那么系统可以更新:
Preference(DeviceB∣ActionA)>Preference(DeviceA∣ActionA)Preference(DeviceB|ActionA) > Preference(DeviceA|ActionA)
进一步形成执行经验:
Experience=Action+Device+Execution+ResultExperience = Action + Device + Execution + Result
这类经验可以进入记忆系统。
240.13 执行成本
执行不仅存在成功与失败,还存在成本。
定义:
Cost(E)=Time+Resource+Energy+RiskCost(E) = Time + Resource + Energy + Risk
因此执行控制器可以选择:
E∗=argmaxe∈EUtility(e)E^* = \arg\max_{e\in E} Utility(e)
或者:
Score(E)=Utility(E)−Cost(E)−Risk(E)Score(E) = Utility(E) – Cost(E) – Risk(E)
于是系统不再只是追求:
能不能执行。
而是进一步考虑:
哪一种执行更加合理。
240.14 执行控制与安全
对于具有现实行为能力的系统,执行控制必须具备边界。
可以定义:
Execute(E) ⟺ Permission∧Safety∧Constraint∧DeviceReadyExecute(E) \iff Permission \land Safety \land Constraint \land DeviceReady
因此:
Execution Request
↓
Permission Check
↓
Safety Check
↓
Constraint Check
↓
Device Check
↓
Execute
如果任何关键条件不满足:
Execute=FalseExecute = False
执行控制器因此成为认知系统连接现实世界的重要安全边界。
240.15 EOM 与执行控制
EOM 的基本结构是:
Element→Object→MethodElement \rightarrow Object \rightarrow Method
随着认知系统向行为与现实执行扩展,可以形成:
Element→Object→Method→Behavior→Action→Device→ExecutionElement \rightarrow Object \rightarrow Method \rightarrow Behavior \rightarrow Action \rightarrow Device \rightarrow Execution
对应关系:
Element
↓
Object
↓
Method
↓
Behavior
↓
Action
↓
Device
↓
Execution
其中:
- Element:认知基本元素;
- Object:元素组织形成的对象;
- Method:完成目标的方法;
- Behavior:具有连续性的行为;
- Action:具体动作;
- Device:动作执行载体;
- Execution:动作真正运行的过程。
这标志着 EOM 从:
认知结构
逐渐扩展到:
认知—行为—执行结构。
240.16 控制层级关系
目前已经形成多个控制器。
可以进行如下区分:
Cognition Controller
│
├── Cognitive Controller
│
├── Perception Controller
│
├── Method Controller
│
├── Behavior Controller
│
├── Action Controller
│
├── Device Controller
│
└── Execution Controller
这些控制器并不是简单的线性上下级。
它们分别控制不同对象:
| 控制器 | 控制对象 | 核心问题 |
|---|---|---|
| Cognition Controller | Cognition | 如何认知 |
| Cognitive Controller | Cognitive Process | 下一步做什么 |
| Perception Controller | Perception | 感知什么 |
| Method Controller | Method | 怎么做 |
| Behavior Controller | Behavior | 采取什么行为 |
| Action Controller | Action | 具体做什么 |
| Device Controller | Device | 由什么执行 |
| Execution Controller | Execution | 如何控制执行过程 |
因此:
Controller=Control(Target)Controller = Control(Target)
关键不是控制器的名称,而是:
每一个控制器必须拥有明确的控制对象和控制边界。
240.17 完整认知执行链
至此,WSaiOS 的认知执行链进一步扩展为:
Environment
↓
Perception
↑
Perception Controller
↓
Cognition Controller
↓
Cognitive Engine
↓
Cognition
↓
Decision
↓
Method Controller
↓
Method
↓
Behavior Controller
↓
Behavior
↓
Action Controller
↓
Action
↓
Device Controller
↓
Device
↓
Execution Controller
↓
Execution
↓
Executor
↓
Environment
↓
Feedback
↓
Perception
形成完整闭环:
Environment→Perception→Cognition→Decision→Method→Behavior→Action→Device→Execution→Environment→FeedbackEnvironment \rightarrow Perception \rightarrow Cognition \rightarrow Decision \rightarrow Method \rightarrow Behavior \rightarrow Action \rightarrow Device \rightarrow Execution \rightarrow Environment \rightarrow Feedback
这已经不再是单纯的信息处理系统,而是一种:
认知—决策—行为—执行—反馈系统。
240.18 执行控制器的理论位置
如果:
Model=StructureModel = Structure
那么:
Controller=ControlController = Control
而:
Engine=ProcessEngine = Process
进一步:
Executor=Actual ExecutionExecutor = Actual\ Execution
因此可以形成四个不同概念:
Model
↓
定义认知结构
Controller
↓
控制过程
Engine
↓
运行过程
Executor
↓
实际执行
这四者不能混为一谈。
240.19 执行控制器与认知引擎
第241章的认知引擎负责:
让认知真正运行起来。
而执行控制器负责:
让已经形成的动作进入受控执行过程。
因此:
CognitiveEngine→Decision→Action→ExecutionControllerCognitiveEngine \rightarrow Decision \rightarrow Action \rightarrow ExecutionController
认知引擎主要解决:
Understanding+Reasoning+DecisionSupportUnderstanding + Reasoning + DecisionSupport
执行控制器主要解决:
Preparation+ExecutionControl+Monitoring+Verification+RecoveryPreparation + ExecutionControl + Monitoring + Verification + Recovery
最终形成:
Cognition→ExecutionCognition \rightarrow Execution
的完整连接。
240.20 执行控制器的核心原则
原则一:动作不等于执行
Action≠ExecutionAction \neq Execution
原则二:设备不等于执行
Device≠ExecutionDevice \neq Execution
设备只是执行载体。
原则三:执行器不等于执行控制器
Executor≠ExecutionControllerExecutor \neq ExecutionController
一个负责执行,一个负责控制执行。
原则四:执行完成不等于目标完成
ExecutionCompleted≠GoalSatisfiedExecutionCompleted \neq GoalSatisfied
必须经过结果验证。
原则五:执行必须反馈
Execution→FeedbackExecution \rightarrow Feedback
没有反馈,就无法形成完整的认知闭环。
原则六:失败必须成为系统状态
Failure≠SystemEndFailure \neq SystemEnd
失败可以触发:
Retry∨Switch∨Fallback∨ReplanningRetry \lor Switch \lor Fallback \lor Replanning
240.21 执行控制器的最终模型
可以将执行控制器定义为:
EC=Validate+Prepare+Start+Monitor+Switch+Pause+Terminate+Verify+RecoverEC = Validate + Prepare + Start + Monitor + Switch + Pause + Terminate + Verify + Recover
即:
执行控制器是对执行过程进行验证、准备、启动、监控、切换、暂停、终止、验证和恢复的控制机制。
最终形成:
Action→Device→ExecutionController→Execution→Executor→Result→FeedbackAction \rightarrow Device \rightarrow ExecutionController \rightarrow Execution \rightarrow Executor \rightarrow Result \rightarrow Feedback
240.22 本章结论
执行控制器补充了 WSaiOS 从“动作决定”到“实际执行”之间缺失的控制层。
整个体系可以明确区分:
Behavior=采取什么行为Behavior = 采取什么行为 Action=具体做什么Action = 具体做什么 Device=由什么执行Device = 由什么执行 Execution=动作如何真正运行Execution = 动作如何真正运行 Executor=谁真正执行Executor = 谁真正执行
而:
ExecutionController=控制执行过程ExecutionController = 控制执行过程
因此,完整链条可以表达为:
Behavior→Action→Device→ExecutionBehavior \rightarrow Action \rightarrow Device \rightarrow Execution
对应的控制关系为:
BehaviorController→ActionController→DeviceController→ExecutionControllerBehaviorController \rightarrow ActionController \rightarrow DeviceController \rightarrow ExecutionController
最终:
Cognition→Decision→Behavior→Action→Device→Execution→Feedback→CognitionCognition \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Device \rightarrow Execution \rightarrow Feedback \rightarrow Cognition
这使 WSaiOS 从单纯的“认知系统”进一步形成完整的:
认知 → 决策 → 行为 → 动作 → 设备 → 执行 → 反馈 → 再认知
闭环。
从 EOM 的角度看,则形成:
Element→Object→Method→Behavior→Action→Device→Execution\boxed{ Element \rightarrow Object \rightarrow Method \rightarrow Behavior \rightarrow Action \rightarrow Device \rightarrow Execution }
EOM 定义认知与行动的结构,Controller 定义过程控制,Engine 负责过程运行,Executor 负责实际执行。
这构成了 WSaiOS 个体人工智能从“知道”走向“行动”的重要基础。