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

第196章 Action Failure 行为失误

第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,这样就能继续把“失败”从一个事件推进到真正的认知原因分析

Leave a Reply

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