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

第238章 Action Controller|动作控制器

第238章 Action Controller|动作控制器

238.1 动作控制器的定义

在个体人工智能系统中,Behavior Controller 负责控制“采取什么行为”,而 Action Controller|动作控制器进一步负责控制:

一个行为具体由哪些动作构成,以及当前应该执行哪个动作。

因此:

ActionController=Control(Action)ActionController = Control(Action)

可以进一步定义:

At=f(Behaviort,Goalt,Statet,Contextt,Constraintt,Feedbackt−1)A_t = f( Behavior_t, Goal_t, State_t, Context_t, Constraint_t, Feedback_{t-1} )

其中:

  • BehaviortBehavior_t:当前行为
  • GoaltGoal_t:当前目标
  • StatetState_t:当前状态
  • ContexttContext_t:当前上下文
  • ConstrainttConstraint_t:当前约束
  • Feedbackt−1Feedback_{t-1}:历史反馈
  • AtA_t:当前动作

因此:

BehaviorController→BehaviorBehaviorController \rightarrow Behavior

而:

ActionController→ActionActionController \rightarrow Action

二者不是同一个控制层。


238.2 Action 是什么

Action 可以理解为:

系统在某一个时刻对对象、环境或自身状态执行的一次具体操作。

例如:

Read
Write
Click
Move
Select
Open
Close
Send
Receive
Calculate
Record
Compare

这些都可以成为 Action。

因此:

Action=OperationAction = Operation

但在更完整的定义中:

Action=Actor+Target+Operation+Parameter+Condition+ResultAction = Actor + Target + Operation + Parameter + Condition + Result

例如:

Actor: System

Target: Document

Operation: Read

Parameter: Page 10

Result: Content Loaded

这就是一个完整动作。


238.3 Behavior 与 Action 的关系

上一章已经定义:

Behavior=Action+State+Goal+Continuity+FeedbackBehavior = Action + State + Goal + Continuity + Feedback

因此一个行为可以包含一个或者多个动作:

Behavior
   ↓
Action 1
   ↓
Action 2
   ↓
Action 3
   ↓
Action 4

例如:

Behavior = 信息验证

Action 1 = 获取信息
Action 2 = 读取来源
Action 3 = 比较内容
Action 4 = 判断差异
Action 5 = 记录结果

因此:

Behavior=Sequence(Action1,Action2,…,Actionn)Behavior = Sequence(Action_1,Action_2,\ldots,Action_n)

但并非所有 Behavior 都必须包含多个 Action。

简单行为可能只有:

Behavior=ActionBehavior = Action

复杂行为则可能是:

Behavior={A1,A2,…,An}Behavior = \{A_1,A_2,\ldots,A_n\}


238.4 为什么需要 Action Controller

如果只有 Behavior Controller:

Goal
 ↓
Behavior
 ↓
Execution

那么系统仍然缺少一个关键问题:

Behavior 内部具体执行什么?

例如:

Behavior = Search

Search 不是一个真正足够细的执行单元。

它可能包含:

Open Source
 ↓
Input Query
 ↓
Submit
 ↓
Receive Result
 ↓
Read Result
 ↓
Record Result

因此需要:

Behavior→ActionController→ActionBehavior \rightarrow ActionController \rightarrow Action

Action Controller 负责把一个较高层行为转换成可执行动作。


238.5 Action Controller 的核心职责

Action Controller 至少承担以下八项功能。

1. Action Selection|动作选择

从动作集合中选择当前动作:

A∗=argmaxa∈AScore(a∣Behavior,State,Goal)A^* = argmax_{a\in A} Score(a|Behavior,State,Goal)

例如:

Current Behavior = Information Retrieval

Possible Actions:
Read
Search
Compare
Record

系统根据当前状态选择:

Search

2. Action Ordering|动作排序

复杂行为中的动作存在先后关系:

A1→A2→A3A_1 \rightarrow A_2 \rightarrow A_3

例如:

Open
 ↓
Read
 ↓
Analyze
 ↓
Record

Action Controller 决定动作顺序。


3. Action Parameterization|动作参数化

同一个动作可以具有不同参数。

例如:

Read(Document,Page)Read(Document, Page)

可以是:

Read(Document A, Page 10)

也可以是:

Read(Document B, Page 50)

因此:

Action=Type+ParameterAction = Type + Parameter

Action Controller负责确定参数。


4. Action Validation|动作验证

动作执行前,需要判断动作是否有效:

Valid(A,State)=TrueValid(A,State)=True

例如:

Action = Delete

但如果对象不存在:

Target = NULL

那么:

Valid(Delete,State)=FalseValid(Delete,State)=False

动作控制器必须阻止无效动作进入执行阶段。


5. Action Switching|动作切换

动作执行过程中可能发生状态变化:

Action A
 ↓
State Change
 ↓
Action B

例如:

等待数据
 ↓
数据已经到达
 ↓
停止等待
 ↓
开始读取

所以:

At→Statet+1→At+1A_t \rightarrow State_{t+1} \rightarrow A_{t+1}


6. Action Suspension|动作暂停

某些动作不能立即完成。

例如:

Receive
Wait
Download
Monitor
Listen

其状态可能为:

ActionState={Ready,Running,Waiting,Paused,Completed,Failed}ActionState = \{Ready,Running,Waiting,Paused,Completed,Failed\}


7. Action Termination|动作终止

动作需要明确停止条件。

例如:

Terminate(A)=Success∨Failure∨Timeout∨InterruptTerminate(A)= Success \lor Failure \lor Timeout \lor Interrupt

避免动作无限执行。


8. Action Evaluation|动作评价

动作完成后需要评价结果:

Evaluation=f(ExpectedResult,ActualResult)Evaluation = f(ExpectedResult,ActualResult)

例如:

Expected = Data Received

Actual = Data Received

则:

Action = Success

如果:

Expected = Data Received

Actual = Timeout

则:

Action = Failed

238.6 Action State|动作状态

动作不是简单的:

Execute / Not Execute

而应该拥有状态。

可以定义:

READY
  ↓
PREPARED
  ↓
RUNNING
  ↓
 ┌───────────────┐
 ↓               ↓
WAITING        FAILED
 ↓
RESUMED
 ↓
RUNNING
 ↓
COMPLETED

因此:

Astate∈{Ready,Prepared,Running,Waiting,Paused,Completed,Failed,Cancelled}A_{state} \in \{ Ready, Prepared, Running, Waiting, Paused, Completed, Failed, Cancelled \}

这使动作能够进入真正的动态控制。


238.7 Action Controller 与 Executor

Action Controller 与 Executor 也必须区分。

Action Controller

决定:

执行什么动作?

Executor

负责:

把这个动作真正执行出来。

因此:

Behavior
   ↓
Action Controller
   ↓
Action
   ↓
Executor
   ↓
Execution
   ↓
Result

例如:

Action = Save File

Action Controller决定执行:

Save File

Executor负责真正调用文件系统。

所以:

ActionController≠ExecutorActionController \neq Executor


238.8 Action 与 Method 的区别

Action 和 Method 很容易混淆。

Method

解决:

怎么完成一个任务。

Action

解决:

具体执行什么操作。

例如:

Method = Comparison Method

可能包含:

Action 1 = Load A
Action 2 = Load B
Action 3 = Compare
Action 4 = Record Difference

因此:

Method→Action1+Action2+⋯+ActionnMethod \rightarrow Action_1 + Action_2 + \cdots + Action_n

Method 是过程结构。

Action 是过程中的执行单元。

所以:

Method≠ActionMethod \neq Action


238.9 Method Controller 与 Action Controller

两者形成上下层关系,但不是简单替代关系。

Method Controller
       ↓
Method
       ↓
Action Controller
       ↓
Action
       ↓
Executor

例如:

Goal = 判断两个对象是否相同

Method Controller
        ↓
选择 Comparison Method

Comparison Method
        ↓
Load
Compare
Evaluate

Action Controller
        ↓
选择当前 Action

Action
        ↓
Load Object A

因此:

Method Controller 选择过程,Action Controller 控制过程中的具体动作。


238.10 Action Controller 与 Behavior Controller

两者之间也存在清晰边界。

Behavior Controller

控制:

采取什么行为。

Action Controller

控制:

这个行为现在执行什么动作。

例如:

Goal
 ↓
Behavior Controller
 ↓
Behavior = Verification
 ↓
Action Controller
 ↓
Action = Read Source
 ↓
Executor

因此:

BehaviorController→Behavior→ActionController→ActionBehaviorController \rightarrow Behavior \rightarrow ActionController \rightarrow Action


238.11 动作与对象

在 EOM 理论中:

Element→Object→MethodElement \rightarrow Object \rightarrow Method

动作发生时,通常存在明确的 Target Object。

因此可以进一步定义:

Action=Operation(Object)Action = Operation(Object)

例如:

Object = Document

Action = Read(Document)

或者:

Object = Product

Action = Compare(Product)

因此:

对象是动作作用的认知目标,动作是对对象施加的操作。


238.12 EOM 的进一步扩展

EOM 可以继续向执行层延伸:

Element→Object→Method→ActionElement \rightarrow Object \rightarrow Method \rightarrow Action

形成:

Element
   ↓
Object
   ↓
Method
   ↓
Action
   ↓
Execution

这意味着:

  • Element:构成认知的基本单元
  • Object:组织后的认知对象
  • Method:处理对象的过程
  • Action:过程中的具体操作
  • Execution:动作的实际执行

于是:

EOM+Action+ExecutionEOM + Action + Execution

构成从认知结构到现实执行的一条完整链路。


238.13 Action Controller 与状态

动作并不是脱离状态执行的。

可以表示:

Actiont=f(Behaviort,Statet,Goalt)Action_t = f(Behavior_t, State_t, Goal_t)

执行之后:

Statet+1=f(Statet,Actiont)State_{t+1} = f(State_t,Action_t)

因此:

State
 ↓
Action
 ↓
State Change
 ↓
New Action

例如:

State = File Closed

Action = Open

New State = File Opened

Next Action = Read

所以动作控制实际上参与了状态转换


238.14 Action Transition|动作转换

可以定义动作转换:

T(Ai,Si)=Si+1T(A_i,S_i)=S_{i+1}

例如:

Open(File,S0)→S1Open(File,S_0) \rightarrow S_1

其中:

S0=ClosedS_0 = Closed S1=OpenedS_1 = Opened

然后:

Read(File,S1)→S2Read(File,S_1) \rightarrow S_2

因此:

A1→S1→A2→S2A_1 \rightarrow S_1 \rightarrow A_2 \rightarrow S_2

动作控制器实际上是在管理:

Action−State−ActionAction-State-Action

转换链。


238.15 动作组合

复杂行为可以由多个动作组合:

Behavior=A1→A2→A3Behavior = A_1 \rightarrow A_2 \rightarrow A_3

也可以:

Behavior=A1∥A2Behavior = A_1 \parallel A_2

即两个动作并行执行。

因此 Action Controller 需要处理:

  • Sequential Action
  • Parallel Action
  • Conditional Action
  • Repeated Action
  • Optional Action
  • Recovery Action

例如:

获取数据
   ↓
 ┌───────────┐
 ↓           ↓
解析数据    记录来源
 ↓           ↓
 └─────┬─────┘
       ↓
    生成结果

238.16 Action Failure|动作失败

动作失败是行为控制中的重要问题。

例如:

Action = Read Source
Result = Failed

Action Controller不能简单地结束整个 Behavior。

它可能进入:

Failure
 ↓
Retry

或者:

Failure
 ↓
Alternative Action

或者:

Failure
 ↓
Return to Method Controller
 ↓
Select New Method

因此:

ActionFailure→Retry∨Switch∨Fallback∨TerminateActionFailure \rightarrow Retry \lor Switch \lor Fallback \lor Terminate


238.17 Action Retry|动作重试

对于可重复动作,可以定义:

Retry(A,n)Retry(A,n)

其中 nn 为最大重试次数。

例如:

Action
 ↓
Failed
 ↓
Retry 1
 ↓
Failed
 ↓
Retry 2
 ↓
Success

但是并非所有动作都适合重试。

因此:

Retryable(A)=True/FalseRetryable(A)=True/False

Action Controller 必须判断:

这个动作是否允许重新执行?


238.18 Action Cost|动作成本

不同动作具有不同成本:

Cost(A)Cost(A)

例如:

Read Local Data

可能成本较低。

而:

Complex Processing

可能成本较高。

因此动作选择可以考虑:

Score(A)=Utility(A)−Cost(A)Score(A)= Utility(A)-Cost(A)

进一步:

A∗=argmaxA[Utility(A)−Cost(A)−Risk(A)]A^*= argmax_A [Utility(A)-Cost(A)-Risk(A)]

这样,Action Controller 就不再只是机械执行,而开始具有成本意识


238.19 Action Risk|动作风险

动作还可能具有风险:

Risk(A)Risk(A)

例如:

Read

通常属于低风险动作。

而:

Delete
Modify
Publish
Send

可能具有更高影响。

因此:

Behavior→Action→RiskEvaluationBehavior \rightarrow Action \rightarrow Risk Evaluation

对于高风险动作,可以要求:

Action
 ↓
Validation
 ↓
Confirmation
 ↓
Execution

对于低风险动作,可以:

Action
 ↓
Execution

所以动作控制可以与前面的验证机制、行为控制机制共同形成安全边界。


238.20 Action Feedback|动作反馈

动作执行产生结果:

At→ResulttA_t \rightarrow Result_t

结果产生反馈:

Resultt→FeedbacktResult_t \rightarrow Feedback_t

反馈再影响下一动作:

Feedbackt→At+1Feedback_t \rightarrow A_{t+1}

形成:

Action
 ↓
Result
 ↓
Evaluation
 ↓
Feedback
 ↓
Next Action

因此:

ActionControllert+1=f(ActionControllert,Feedbackt)ActionController_{t+1} = f(ActionController_t,Feedback_t)

这使动作控制成为动态系统。


238.21 Action Controller 的完整闭环

完整动作控制可以表示为:

Behavior
   ↓
Action Selection
   ↓
Action Validation
   ↓
Action Parameterization
   ↓
Action Execution
   ↓
Result
   ↓
Evaluation
   ↓
Feedback
   ↓
Next Action

进一步形成:

Behavior→Action→Execution→Result→Feedback→ActionBehavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow Feedback \rightarrow Action


238.22 控制层级

到目前为止,可以形成更加完整的控制体系:

Cognition Controller
        ↓
Cognitive Controller
        ↓
Perception Controller
        ↓
Method Controller
        ↓
Behavior Controller
        ↓
Action Controller
        ↓
Executor

但这里需要强调:

这不是一个绝对严格的单向层级,而是一组具有不同控制职责的机制。

它们之间可以发生回退、循环和重新调用。

例如:

Action Failure
     ↓
Action Controller
     ↓
Behavior Controller
     ↓
Method Controller
     ↓
New Method
     ↓
New Behavior
     ↓
New Action

因此系统是动态控制网络,而不是静态流水线。


238.23 从认知到执行

现在可以把前面章节形成的整个链条进一步扩展:

Perception→Cognition→Decision→Method→Behavior→Action→ExecutionPerception \rightarrow Cognition \rightarrow Decision \rightarrow Method \rightarrow Behavior \rightarrow Action \rightarrow Execution

对应:

感知
 ↓
认知
 ↓
决策
 ↓
方法
 ↓
行为
 ↓
动作
 ↓
执行

其中每一层回答不同的问题:

核心问题
Perception 看到了什么?
Cognition 理解了什么?
Decision 决定什么?
Method 怎么完成?
Behavior 采取什么行为?
Action 具体做什么动作?
Execution 实际如何执行?

这形成从信息到现实操作的连续结构。


238.24 Action Controller 的本质

从个体人工智能角度看,Action Controller 并不是简单的“动作调度器”。

它真正解决的是:

如何将一个具有目标的行为分解为当前可执行、可验证、可切换、可反馈的具体动作。

因此:

ActionController=Control(Selection,Ordering,Parameterization,Validation,Switching,Suspension,Termination,Evaluation)ActionController = Control( Selection, Ordering, Parameterization, Validation, Switching, Suspension, Termination, Evaluation )

它是:

Behavior→ExecutionBehavior \rightarrow Execution

之间的核心控制机制。


238.25 与 WSaiOS 个体人工智能的关系

在 WSaiOS-ICAI 中,如果系统需要真正形成完整的个体行动能力,那么不能只拥有:

Knowledge
Memory
Cognition
Reasoning
Decision

还需要:

Behavior
Action
Execution
Feedback

最终形成:

             Knowledge
                 ↓
              Cognition
                 ↓
               Decision
                 ↓
               Method
                 ↓
              Behavior
                 ↓
               Action
                 ↓
             Execution
                 ↓
             Environment
                 ↓
              Feedback
                 ↓
              Learning
                 ↓
              Knowledge

由此形成完整闭环:

Knowledge→Cognition→Decision→Action→Environment→Feedback→Learning→KnowledgeKnowledge \rightarrow Cognition \rightarrow Decision \rightarrow Action \rightarrow Environment \rightarrow Feedback \rightarrow Learning \rightarrow Knowledge

这已经超越了单纯的信息处理系统。

它开始形成:

Individual Cognitive Action System\boxed{Individual\ Cognitive\ Action\ System}


238.26 本章核心结论

第238章建立了 Action Controller|动作控制器

核心区别可以压缩为:

Behavior=采取什么行为Behavior = 采取什么行为 Action=具体做什么Action = 具体做什么 ActionController=决定当前具体做什么以及如何控制这个动作ActionController = 决定当前具体做什么以及如何控制这个动作

进一步:

BehaviorController→BehaviorBehaviorController \rightarrow Behavior Behavior→ActionControllerBehavior \rightarrow ActionController ActionController→ActionActionController \rightarrow Action Action→ExecutorAction \rightarrow Executor

最终形成:

Goal
 ↓
Cognition
 ↓
Decision
 ↓
Method
 ↓
Behavior Controller
 ↓
Behavior
 ↓
Action Controller
 ↓
Action
 ↓
Executor
 ↓
Environment
 ↓
Feedback
 ↓
Cognition

因此,本章最核心的一句话是:

Behavior Controller 决定系统采取什么行为,Action Controller 决定这个行为此刻具体执行什么动作。

在 EOM 的扩展结构中,则形成:

Element→Object→Method→Behavior→Action→Execution\boxed{ Element \rightarrow Object \rightarrow Method \rightarrow Behavior \rightarrow Action \rightarrow Execution }

这标志着 WSaiOS-ICAI 的 EOM 模型开始从认知结构进一步延伸到行为结构与执行结构

Leave a Reply

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