第196章 Action Failure
行为失误
第195章已经建立:
Action
↓
Result
↓
Feedback
↓
New Perception
↓
New Scene
↓
New Cognition
第196章进一步把行为失误正式定义为可计算的认知事件。
核心:
Expected
≠
Actual
↓
Failure
但:
Failure
≠
System Stop
而是:
Failure
↓
Feedback
↓
New Perception
↓
New Scene
↓
Re-Cognition
1. Failure 的工程定义
定义:
Action Failure 是实际行为结果与当前认知所预测的预期结果发生结构性偏差的状态。
因此:
Expected Result
↓
Action
↓
Actual Result
↓
Comparison
↓
Failure
最基本的计算:
Failure
=
Expected Result
≠
Actual Result
例如:
Expected:
Egg
State = Stable
实际:
Actual:
Egg
State = Rolling
于是:
Failure = true
2. Failure 不是 Boolean
虽然最基础可以:
$failure = true;
但 ICAI 中不能仅保存:
true
因为机器还需要知道:
为什么失败?
哪里发生偏差?
世界发生了什么变化?
当前场景是什么?
下一步应该重新认知什么?
因此建立:
Failure Object
{
action
expected
actual
deviation
world_change
scene
timestamp
}
3. Expected 与 Actual 比较
建立独立的结果比较:
class ResultComparator
{
public function compare($expected, $actual)
{
return $expected != $actual;
}
}
更进一步:
class ActionFailureAnalyzer
{
public function analyze(
$expected,
$actual
) {
$deviation = $this->calculateDeviation(
$expected,
$actual
);
return new Failure(
$expected,
$actual,
$deviation
);
}
}
形成:
Expected
+
Actual
↓
Comparison
↓
Deviation
↓
Failure Object
4. Failure Deviation
真正需要计算的是:
Deviation
例如预期:
Position = [100,80,30]
实际:
Position = [130,92,30]
那么:
Position Deviation
可以被记录。
同样:
Orientation Deviation
Velocity Deviation
Force Deviation
Contact Deviation
State Deviation
Relation Deviation
都可以进入:
Failure Analysis
因此:
Failure 是结果偏差的结构化表达,而不是简单的错误标记。
5. Failure 与 World Change
这是本章非常重要的一层。
例如:
Expected:
Egg Stable
实际:
Egg Rolling
不能只得到:
Failure
还必须知道:
Egg Position Changed
Egg Orientation Changed
Egg Velocity Changed
Egg Relation Changed
于是:
Failure
+
World Change
共同进入:
New Scene
形成:
Action Failure
↓
World Change
↓
New Scene
6. Failure 不结束认知
传统程序可能:
Action
↓
Failure
↓
Stop
ICAI:
Action
↓
Failure
↓
Feedback
↓
New Perception
↓
New Scene
↓
Re-Cognition
因此:
Failure
是:
认知循环中的状态转换事件。
而不是:
系统终止事件。
7. Failure → Re-Cognition
例如:
Scene₀
机器判断:
Egg
+
Stable
+
Low Risk
选择:
GraspMethod
执行:
Grasp
实际:
Egg Rolling
产生:
Failure
然后:
New Scene
变成:
Egg
+
Rolling
+
Near Edge
+
High Risk
重新认知:
New Cognition
于是:
Old Cognition
≠
New Cognition
8. Failure → New Method
重新认知以后:
New Cognition
↓
Method Matching
原方法:
GraspMethod
可能不再适用。
系统可以选择:
RepositionMethod
或者:
LowForceGraspMethod
或者:
StopMethod
因此:
Failure
↓
Re-Cognition
↓
Method Change
最终:
Method₁
≠
Method₂
9. Failure → New Action
进一步:
New Method
↓
Method Calculation
↓
New Action
形成:
Action₁
↓
Failure
↓
New Cognition
↓
Method₂
↓
Action₂
因此:
Action₁
≠
Action₂
这正好与第151章:
Action(t)
≠
Action(t+1)
形成工程闭环。
10. Failure 的 OOP 结构
可以建立:
class Failure
{
protected $action;
protected $expected;
protected $actual;
protected $deviation;
protected $worldChange;
protected $timestamp;
public function getAction()
{
return $this->action;
}
public function getExpected()
{
return $this->expected;
}
public function getActual()
{
return $this->actual;
}
public function getDeviation()
{
return $this->deviation;
}
public function getWorldChange()
{
return $this->worldChange;
}
}
于是:
Failure
成为正式的:
Object Instance
而不是程序中的:
Exception
11. Failure 与 Exception 的区别
这一点需要明确。
传统软件:
Error
↓
Exception
↓
Catch
ICAI:
Failure
↓
Feedback
↓
Perception
↓
Scene
↓
Cognition
因此:
Software Exception
解决的是:
程序有没有正常运行。
而:
Cognitive Failure
解决的是:
机器的预期行为与现实结果是否一致。
两者完全不同。
机器程序可以:
正常运行
但:
Action Failure
仍然发生。
12. Failure 与 Unexpected Scene
进一步:
Failure
可能导致:
Unexpected Scene
例如:
Expected:
Egg Stable
实际:
Egg Rolling
于是:
Failure
↓
Unexpected Scene
然后:
Unexpected Scene
↓
New Perception
↓
New Scene
↓
Re-Cognition
因此第155章的理论开始获得直接工程实现。
13. Failure 与 Learning
失败最终可以形成:
Experience
例如:
Scene
+
Method
+
Action
+
Expected
+
Actual
+
Failure
+
World Change
形成:
Experience
然后:
Experience
↓
Memory
↓
Knowledge
↓
Cognitive Model Update
所以:
Failure
最终可能改变:
Future Cognition
形成:
Failure(t)
↓
Learning(t)
↓
Cognition(t+n)
14. Failure 的完整数据链
建立统一数据:
{
"failure_id": "failure_001",
"action": {
"id": "action_017",
"type": "grasp"
},
"expected": {
"state": "stable"
},
"actual": {
"state": "rolling"
},
"deviation": {
"state": true,
"position": true,
"orientation": true
},
"world_change": {
"position_changed": true,
"velocity_changed": true
},
"next_process": "re_cognition"
}
这样:
Failure Object
可以直接通过 API 进入认知系统。
15. Failure API
系统之间可以保持独立:
Device System
↓
Feedback API
↓
Cognitive System
↓
Failure Analysis
例如:
POST /api/cognitive/feedback
提交:
{
"action_id": "action_017",
"expected": {},
"actual": {},
"world_change": {}
}
认知系统返回:
{
"failure": true,
"new_scene": {},
"new_cognition": {},
"next_method": {},
"next_action": {}
}
这样完全符合你前面确定的:
Independent System
+
OOP
+
MVC
+
API Communication
路线。
16. Failure 不一定意味着停止
ICAI 中至少可以出现:
Failure
↓
Re-Cognition
之后可能产生:
Retry
也可能:
Reposition
也可能:
Change Method
也可能:
Stop
也就是说:
Failure
只负责告诉系统:
当前 Action 没有产生预期结果。
至于下一步:
Retry
Change
Stop
Wait
Avoid
Reposition
由新的:
Cognition
决定。
17. Failure 的核心状态转换
最终建立:
Cognition(t)
↓
Method(t)
↓
Action(t)
↓
Expected(t)
↓
Physical Execution
↓
Actual(t)
↓
Comparison
↓
Failure(t)
↓
New Perception(t+1)
↓
New Scene(t+1)
↓
New Cognition(t+1)
进一步:
New Cognition(t+1)
↓
New Method(t+1)
↓
New Action(t+1)
所以:
Failure
成为连接:
Past Action
与:
Future Cognition
的桥梁。
18. 第196章核心原则
Action Failure Principle
ICAI 中的行为失误不是系统终止状态,而是由 Expected Result 与 Actual Result 之间的结构化偏差形成的 Cognitive Event。Failure 必须记录行为、预期结果、实际结果、偏差以及世界变化,并将这些信息重新输入 Perception、Scene 和 Cognition,使机器能够重新选择 Method 并生成新的 Action。
最终:
Expected
↓
Action
↓
Actual
↓
Expected ≠ Actual
↓
Failure
↓
Feedback
↓
New Perception
↓
New Scene
↓
New Cognition
↓
New Method
↓
New Action
因此第196章完成的不是单纯的“错误处理”,而是把昨天第154章 Action Failure 正式转换成一个可实例化、可计算、可通过 API 传递、可驱动下一轮认知的 OOP 对象。
下一章顺下来就是 第197章 Failure Analysis(失误分析):从 Failure Object 进一步计算偏差发生在哪一个 Element、Object、Relation、State、Method 或 Action Parameter,这样就能继续把“失败”从一个事件推进到真正的认知原因分析。