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

第53章 Behavior

第53章 Behavior

本章大纲

  1. Behavior 定义
  2. Decision → Behavior
  3. Behavior Type
  4. Behavior State
  5. Behavior Condition
  6. Behavior Result
  7. Behavior Manager
  8. Behavior 示例

1. Behavior 定义

Behavior(行为)是 ICAI 在完成感知、认知、理解、推理和决策之后,根据选定的 Decision 对外部对象或内部系统产生的实际执行过程

简单来说:

Decision = 决定做什么
Behavior = 按决定去做

因此:

Reasoning → Conclusion
Conclusion → Decision
Decision → Behavior
Behavior → Result
Result → Experience

Behavior 不是单纯的“动作名称”,而是一个完整的执行过程。

一个 Behavior 至少应该包含:

Behavior
{
    id
    type
    target
    action
    condition
    state
    result
    started_at
    completed_at
}

例如:

Behavior
{
    id: 5001,
    type: "SERVICE_REQUEST",
    target: "Service_A",
    action: "create_order",
    condition: "available",
    state: "READY",
    result: null
}

2. Decision → Behavior

Decision 负责选择,Behavior 负责执行。

基本关系:

Decision
    ↓
Choice
    ↓
Behavior
    ↓
Execution
    ↓
Result

例如 ICAI 得到三个候选方案:

Service_A
Service_B
Service_C

经过 Decision:

Priority
    ↓
Risk
    ↓
Condition
    ↓
Choice
    ↓
Service_A

此时系统还没有真正执行。

需要把:

Choice = Service_A

转换成:

Behavior = 使用 Service_A 执行当前任务

因此:

Decision
{
    choice: "Service_A"
}

转换为:

Behavior
{
    target: "Service_A",
    action: "execute"
}

2.1 Decision 与 Behavior 的区别

Decision = 选择
Behavior = 执行

例如:

Decision:
选择发送信息。

Behavior:
调用发送方法,
建立发送对象,
执行发送,
取得执行结果。

因此不能把:

Decision = Action

也不能把:

Behavior = Decision

正确结构是:

Decision → Behavior → Result

3. Behavior Type

Behavior Type 用于描述行为的类别。

不同 ICAI 系统可以定义不同的 Behavior Type。

基本类型可以包括:

OBSERVE

观察或获取当前对象信息。

ANALYZE

分析已有信息。

QUERY

查询对象、事实、记忆或者外部信息。

CREATE

创建对象、事实、关系或任务。

UPDATE

更新对象、属性、状态或记忆。

DELETE

删除允许删除的对象或关系。

COMMUNICATE

与其他系统、对象或个体进行信息交换。

EXECUTE

执行已经确定的方法。

WAIT

等待条件满足。

STOP

停止当前行为。

REPAIR

执行系统自我维护或修复行为。

这些类型不是固定不变的。

ICAI 可以根据自身能力建立 Behavior Type。


3.1 Behavior 与 Method

Behavior 和 Method 也需要区分。

Method = 能做什么
Behavior = 当前实际做了什么

例如:

Method:
sendMessage()

表示系统具有发送信息的方法。

当 Decision 选择发送信息以后:

Behavior:
执行 sendMessage()

于是:

Capability
    ↓
Method
    ↓
Decision
    ↓
Behavior
    ↓
Execution

4. Behavior State

Behavior State 用于描述行为当前处于什么执行状态。

可以定义:

NEW
READY
RUNNING
WAITING
PAUSED
SUCCESS
FAILED
CANCELLED
TIMEOUT
CONFLICT
UNKNOWN

4.1 NEW

Behavior 已经创建,但是还没有准备执行。

state = NEW

4.2 READY

行为所需要的条件已经满足,可以执行。

state = READY

4.3 RUNNING

行为正在执行。

state = RUNNING

4.4 WAITING

行为暂时无法继续,需要等待条件、时间、对象或者外部结果。

state = WAITING

4.5 SUCCESS

行为执行成功。

state = SUCCESS

4.6 FAILED

行为执行失败。

state = FAILED

4.7 CANCELLED

行为被主动取消。

state = CANCELLED

4.8 TIMEOUT

超过允许执行时间。

state = TIMEOUT

4.9 CONFLICT

行为执行过程中出现冲突。

state = CONFLICT

4.10 UNKNOWN

系统无法确定当前行为结果。

state = UNKNOWN

因此 Behavior State 可以形成生命周期:

NEW
 ↓
READY
 ↓
RUNNING
 ↓
SUCCESS

异常路径:

RUNNING
 ├── FAILED
 ├── WAITING
 ├── TIMEOUT
 ├── CANCELLED
 └── CONFLICT

需要注意:

Behavior State ≠ Object State

例如:

Behavior.state = RUNNING

表示行为正在执行。

而:

Object.state = ACTIVE

表示对象处于活动状态。

两者属于不同层次。


5. Behavior Condition

Behavior Condition 用于判断一个行为是否可以执行、是否可以继续执行以及是否应该停止执行

基本结构:

BehaviorCondition
{
    object
    property
    operator
    value
    result
}

例如:

BehaviorCondition
{
    object: "Device_A",
    property: "state",
    operator: "=",
    value: "active",
    result: "TRUE"
}

表示:

Device_A.state = active

因此行为可以执行。


5.1 执行前条件

例如:

IF Service_A.state = "available"
THEN Behavior = READY

如果:

Service_A.state = unavailable

那么:

Behavior = WAITING

或者:

Behavior = FAILED

具体结果由系统规则决定。


5.2 执行中条件

Behavior 执行过程中,条件可能发生变化。

例如:

Behavior:
向目标发送数据

执行前:

Network.state = connected

执行过程中:

Network.state = disconnected

此时 Behavior Manager 可以:

暂停
等待
重试
停止

因此 Behavior Condition 不只是执行前检查。

它可以贯穿整个行为生命周期:

Before
 ↓
During
 ↓
After

5.3 条件状态

Behavior Condition 可以使用:

TRUE
FALSE
UNKNOWN
CONFLICT

其中:

TRUE     = 可以继续
FALSE    = 当前条件不满足
UNKNOWN  = 无法确认
CONFLICT = 条件相互冲突

6. Behavior Result

Behavior Result 是行为执行以后产生的实际结果。

基本结构:

BehaviorResult
{
    behavior_id
    state
    output
    changes
    error
    feedback
    started_at
    completed_at
}

例如:

BehaviorResult
{
    behavior_id: 5001,
    state: "SUCCESS",
    output: "order_created",
    changes: {
        order_state: "created"
    },
    error: null
}

6.1 成功结果

Behavior
    ↓
Execution
    ↓
SUCCESS
    ↓
Result

例如:

output = "message_sent"

6.2 失败结果

Behavior
    ↓
Execution
    ↓
FAILED
    ↓
Error

例如:

error = "target_unavailable"

6.3 结果与反馈

Behavior Result 可以进入后续的 Experience。

Behavior
    ↓
Result
    ↓
Feedback
    ↓
Experience
    ↓
ExperienceMemory

这就形成了行为与学习之间的联系。


7. Behavior Manager

Behavior Manager 是 ICAI 中负责创建、检查、启动、执行、暂停、恢复、停止和记录 Behavior 的管理机制。

可以定义:

BehaviorManager
{
    create()
    validate()
    checkCondition()
    prepare()
    start()
    execute()
    pause()
    resume()
    stop()
    getResult()
    record()
    complete()
}

7.1 创建

Decision
    ↓
BehaviorManager.create()
    ↓
Behavior

7.2 验证

Behavior Manager 检查:

目标是否存在?
方法是否存在?
条件是否满足?
能力是否存在?
风险是否允许?
行为是否有效?

如果检查失败:

Behavior.state = FAILED

或者:

Behavior.state = WAITING

7.3 准备

如果条件满足:

NEW
 ↓
validate
 ↓
READY

7.4 执行

READY
 ↓
start()
 ↓
RUNNING
 ↓
execute()

7.5 结果处理

成功:

RUNNING
 ↓
SUCCESS

失败:

RUNNING
 ↓
FAILED

等待:

RUNNING
 ↓
WAITING

冲突:

RUNNING
 ↓
CONFLICT

7.6 Behavior Manager 核心流程

Decision
   ↓
Create Behavior
   ↓
Validate
   ↓
Check Condition
   ↓
Check Capability
   ↓
Check Risk
   ↓
READY
   ↓
RUNNING
   ↓
Execution
   ↓
Behavior Result
   ↓
Feedback
   ↓
Experience

这使 Behavior Manager 成为 Decision 和实际执行之间的重要连接层。


8. Behavior 示例

下面使用一个简单的 ICAI 行为案例。

当前任务:

深圳 → 香港
家具 → 送货上门

经过前面的:

Perception
    ↓
Cognition
    ↓
Understanding
    ↓
Reasoning
    ↓
Decision

得到:

Conclusion:
存在家具送货需求

Decision 得到:

Choice:
Service_A

8.1 创建 Behavior

Behavior
{
    id: 5001,

    type: "SERVICE_REQUEST",

    target: "Service_A",

    action: "create_delivery_request",

    condition: {
        service_state: "available"
    },

    state: "NEW",

    result: null
}

8.2 检查条件

系统检查:

Service_A.state = available

得到:

TRUE

于是:

Behavior.state = READY

8.3 开始执行

READY
 ↓
RUNNING

执行:

create_delivery_request()

8.4 得到结果

假设执行成功:

BehaviorResult
{
    behavior_id: 5001,
    state: "SUCCESS",
    output: "request_created",
    changes: {
        request_state: "created"
    },
    error: null
}

于是:

Behavior.state = SUCCESS

8.5 形成经验

行为完成以后:

Behavior
    ↓
BehaviorResult
    ↓
Feedback
    ↓
Experience

例如:

Experience
{
    task: "furniture_delivery",
    condition: "Service_A.available",
    action: "create_delivery_request",
    result: "SUCCESS",
    feedback: "request_created"
}

以后遇到类似任务时:

Current Condition
        ↓
ExperienceMemory
        ↓
Relevant Experience
        ↓
Reasoning
        ↓
Decision
        ↓
Behavior

这样就形成完整闭环。


Behavior 完整生命周期

Decision
   ↓
Behavior Created
   ↓
NEW
   ↓
Validation
   ↓
Condition Check
   ↓
Capability Check
   ↓
Risk Check
   ↓
READY
   ↓
RUNNING
   ↓
Execution
   ↓
┌───────────────┐
│               │
SUCCESS      FAILED
│               │
WAITING      TIMEOUT
│               │
CONFLICT    CANCELLED
│
UNKNOWN
└───────────────┘
   ↓
Behavior Result
   ↓
Feedback
   ↓
Experience
   ↓
Learning

Behavior 核心模型

Decision
    ↓
Behavior
    ↓
Condition
    ↓
Execution
    ↓
Result
    ↓
Feedback
    ↓
Experience

因此可以定义:

Behavior 是 ICAI 根据 Decision 所确定的 Choice,结合执行条件、目标、方法和当前状态产生实际执行过程,并通过 Behavior Result 记录执行结果的机制。

最终区分:

Reasoning  = 得出什么结论
Decision   = 选择做什么
Priority   = 哪个应该优先
Behavior   = 实际执行什么行为
Result     = 行为产生什么结果
Experience = 从行为结果中形成什么经历
Learning   = 从经历中获得什么知识

形成 ICAI 的行为闭环:

Information
    ↓
Perception
    ↓
Cognition
    ↓
Understanding
    ↓
Reasoning
    ↓
Decision
    ↓
Priority
    ↓
Choice
    ↓
Behavior
    ↓
Result
    ↓
Experience
    ↓
Learning
    ↓
Memory Update

Behavior 是从“决定”进入“实际行动”的关键环节。

Leave a Reply

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