第53章 Behavior
本章大纲
- Behavior 定义
- Decision → Behavior
- Behavior Type
- Behavior State
- Behavior Condition
- Behavior Result
- Behavior Manager
- 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 是从“决定”进入“实际行动”的关键环节。