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

第99章 异常处理

第99章 异常处理

异常处理是 SAI Individual 在运行过程中面对信息错误、状态异常、认知失败、推理冲突、决策失败、设备故障、通信异常以及执行失败时,对异常进行识别、分类、处理、恢复和记录的机制。

第72章已经建立了 Detection

Detection 负责发现异常。

第73章建立了 Risk / Conflict

Risk 判断潜在影响,Conflict 判断矛盾。

第74章建立了 Diagnosis

Diagnosis 分析异常原因。

第75章建立了 Repair / Verification

Repair 改变异常状态,Verification 验证是否恢复。

第98章建立了 Log

Log 记录异常发生和处理过程。

因此,第99章把这些机制连接起来:

Exception
   ↓
Detection
   ↓
Risk / Conflict
   ↓
Diagnosis
   ↓
Recovery
   ↓
Verification
   ↓
Log
   ↓
Resume / Replan / Stop

1. Exception

1.1 Exception 定义

Exception(异常)是 SAI Individual 在正常运行条件之外出现的、会影响当前信息处理、认知、推理、决策、执行、通信或状态稳定性的情况。

可以定义:

Exception = Abnormal Condition + Impact + Handling Requirement

例如:

Information Exception
Cognition Exception
Reasoning Exception
Decision Exception
Device Exception
Adapter Exception
Task Exception
Memory Exception
Learning Exception
System Exception

1.2 Exception 基本结构

Exception
├── Identity
├── Type
├── Source
├── Target
├── Condition
├── State
├── Severity
├── Impact
├── Cause
├── Context
├── Recovery
├── Error
├── Timestamp
└── Trace

例如:

{
    "id": "EX_001",
    "type": "DEVICE_EXCEPTION",
    "source": "DeviceAdapter_A",
    "target": "Vehicle_A",
    "condition": {
        "connection": "DISCONNECTED"
    },
    "state": "ERROR",
    "severity": "HIGH",
    "impact": "COMMAND_UNAVAILABLE",
    "cause": "CONNECTION_TIMEOUT",
    "trace_id": "TRACE_001",
    "timestamp": "2026-09-12 20:10:00"
}

1.3 Exception 不等于 Error

二者需要区分。

Error
=
错误

Exception
=
需要被系统处理的异常情况

例如:

Device Connection Timeout

可以形成:

Error:
CONNECTION_TIMEOUT

同时:

Exception:
DEVICE_EXCEPTION

所以:

Error
 ↓
可能形成 Exception

但两者不是同一个对象。


1.4 Exception 不等于 Failure

例如:

Task_A

因为等待设备响应:

WAITING

这可能是正常状态,不一定是 Failure。

而:

Adapter
 ↓
TIMEOUT

则可能形成:

Exception

最终:

Exception
 ↓
Recovery

因此:

异常必须根据状态、条件和影响进行判断,不能把所有非成功状态都当成故障。


2. Information Exception

Information Exception 是信息进入 Individual 或处理过程中出现的异常。

例如:

信息为空
信息结构错误
字段缺失
类型错误
数据范围错误
来源未知
时间错误
重复信息
冲突信息
数据损坏

2.1 示例

正常:

{
    "device": "Vehicle_A",
    "speed": 40,
    "temperature": 72
}

异常:

{
    "device": "Vehicle_A",
    "speed": "unknown"
}

因为:

speed

应该是数值,却收到字符串。

形成:

Information Validation
        ↓
TYPE_ERROR
        ↓
Information Exception

2.2 Information Exception 处理

基本流程:

Information
    ↓
Validation
    ↓
Exception?
 ┌──┴──┐
No     Yes
 ↓      ↓
Perception  Exception Handler
          ↓
      Classify
          ↓
      Recovery

Recovery 可以是:

REJECT
IGNORE
REQUEST_AGAIN
WAIT
REPAIR
USE_PREVIOUS_VALID_VALUE

但不能未经判断直接使用错误信息。


2.3 UNKNOWN 信息

例如:

speed = UNKNOWN

不能直接转换成:

speed = 0

正确处理:

UNKNOWN
 ↓
Information Exception / Uncertain Information
 ↓
等待新信息

因为:

UNKNOWN 不等于 FALSE,也不等于 0。


3. Cognition Exception

Cognition Exception 是 Individual 在认知、匹配、对象识别、关系识别或理解过程中出现异常。

例如:

对象无法识别
属性冲突
关系冲突
状态冲突
匹配不足
场景无法理解
多个对象无法区分

3.1 示例

输入:

Object_A

系统得到两个互相冲突的结果:

Object_A.type = VEHICLE

同时:

Object_A.type = MACHINE

如果没有足够证据解决:

Cognition State
=
CONFLICT

形成:

Cognition Exception

3.2 Cognition Exception 处理

Cognition
 ↓
Conflict Detection
 ↓
Evidence Check
 ↓
Memory Check
 ↓
Source Check
 ↓
Re-evaluation

可能结果:

CONFIRMED
UNCERTAIN
CONFLICT
UNKNOWN
REJECTED

3.3 认知异常不能直接进入 Decision

例如:

Cognition
state = CONFLICT

不能直接:

Decision → STOP

应该:

Cognition Exception
        ↓
Diagnosis / Re-evaluation
        ↓
Additional Information
        ↓
Perception
        ↓
Cognition

如果风险已经达到必须立即处理的程度,则可以根据已有可靠信息进入安全决策。


4. Reasoning Exception

Reasoning Exception 是推理过程中出现的异常。

主要包括:

事实不足
规则缺失
条件 UNKNOWN
规则冲突
推理链断裂
循环推理
结论冲突
输入事实无效

4.1 推理链异常

正常:

Fact
 ↓
Condition
 ↓
Rule
 ↓
Intermediate Result
 ↓
Conclusion

如果:

Fact
 ↓
Condition
 ↓
Rule

但 Rule 需要:

temperature > 80

而实际:

temperature = UNKNOWN

则:

Condition = UNKNOWN

不能强制产生:

HIGH_TEMPERATURE

应该:

Reasoning Result
=
UNKNOWN

4.2 Rule Conflict

例如:

Rule_A:
temperature > 90 → STOP

Rule_B:
production = ACTIVE → RUN

当前:

temperature = 95
production = ACTIVE

产生:

STOP

与:

RUN

冲突。

流程:

Reasoning
 ↓
Rule Conflict
 ↓
Conflict Resolution
 ↓
Priority
 ↓
Risk

如果无法解决:

Reasoning Result
=
CONFLICT

形成:

Reasoning Exception

4.3 Reasoning Exception Recovery

可以:

RECHECK_FACT
RECHECK_CONDITION
RELOAD_RULE
REMOVE_INVALID_RULE
REQUEST_INFORMATION
STOP_REASONING
RETURN_UNKNOWN

最重要的是:

推理失败时不能伪造一个结论。


5. Decision Exception

Decision Exception 是决策阶段无法产生可靠决定或者决定无法执行的异常。

例如:

没有候选方案
候选全部不可用
风险全部过高
优先级冲突
能力不足
状态不允许
资源不足
决策条件 UNKNOWN

5.1 示例

当前:

Risk = CRITICAL

候选:

CONTINUE     REJECTED
DECELERATE   REJECTED
TURN         REJECTED
STOP         AVAILABLE

可以:

Decision = STOP

但如果:

STOP

本身也不可执行:

Vehicle Control = UNAVAILABLE

那么:

Decision Exception

产生。


5.2 Decision Exception 不等于重新随便选择

错误方式:

Decision Failed
 ↓
随便选择一个 Action

正确方式:

Decision Exception
 ↓
Risk Re-evaluation
 ↓
Capability Check
 ↓
Conflict Check
 ↓
Alternative Candidate
 ↓
New Decision

如果仍无法解决:

SAFE_STOP
WAIT
REQUEST_OPERATOR
UNKNOWN

具体行为取决于系统规则。


6. Device Exception

Device Exception 是外部设备自身或者设备运行状态出现异常。

例如:

OVERHEAT
OVERLOAD
LOW_POWER
SENSOR_FAILURE
MOTOR_FAILURE
EMERGENCY_STOP
DEVICE_ERROR
DEVICE_DISCONNECTED
UNKNOWN_STATE

6.1 示例

Machine_A
temperature = 98
state = RUNNING

检测:

temperature > 95

产生:

Device Exception

处理链:

Device
 ↓
Device Feedback
 ↓
Information
 ↓
Detection
 ↓
Risk
 ↓
Diagnosis
 ↓
Decision
 ↓
Repair / Action

6.2 Device Exception 与 Device State

例如:

Device State = ERROR

表示设备当前状态。

而:

Device Exception
=
解释为什么需要异常处理

可以存在:

Device_A
State = ERROR

Exception:
MOTOR_OVERHEAT

7. Adapter Exception

Adapter Exception 是 SAI 与外部设备或系统之间的连接、通信、协议、数据转换等出现异常。

例如:

CONNECT_FAILED
CONNECTION_TIMEOUT
SEND_FAILED
RECEIVE_FAILED
PROTOCOL_ERROR
FORMAT_ERROR
TARGET_UNAVAILABLE
AUTHORIZATION_ERROR
DISCONNECTED

7.1 Adapter Exception 与 Device Exception

这是两个不同位置的异常。

Device Exception

Adapter
 ↓
Device
 ↓
Device ERROR

问题发生在设备。

Adapter Exception

SAI
 ↓
Adapter ERROR
 X
Device

问题发生在连接层或适配层。

例如:

Vehicle_A = READY

但是:

VehicleAdapter = DISCONNECTED

此时:

Device Exception = NO
Adapter Exception = YES

7.2 Adapter Recovery

可以:

RECONNECT
RETRY
RESET_CONNECTION
SWITCH_ADAPTER
WAIT
STOP

例如:

SEND_COMMAND
 ↓
TIMEOUT
 ↓
Adapter Exception
 ↓
Reconnect
 ↓
Connected
 ↓
Retry
 ↓
Response

如果多次失败:

Detection
 ↓
Risk
 ↓
Diagnosis

而不是无限 Retry。


8. Recovery

8.1 Recovery 定义

Recovery(恢复)是系统在异常发生后,使对象、模块、任务、设备或 Individual 从异常状态回到可运行状态,或者进入安全替代状态的过程。

可以定义:

Recovery = Exception Detection + Handling + State Restoration + Verification


8.2 Recovery 类型

Retry

重新执行:

FAILED
 ↓
RETRY
 ↓
RUNNING

适合临时通信失败等情况。


Reconnect

DISCONNECTED
 ↓
CONNECT
 ↓
CONNECTED

适合 Adapter。


Reset

ERROR
 ↓
RESET
 ↓
READY

Restart

ERROR
 ↓
STOP
 ↓
START
 ↓
READY

Rollback

恢复到之前有效状态:

Current State
     ↓
Invalid Update
     ↓
Rollback
     ↓
Previous Valid State

Replan

原来的 Decision 已经不适用:

Exception
 ↓
New Information
 ↓
Reasoning
 ↓
New Decision
 ↓
New Task

这不是简单重试,而是重新规划。


Safe Stop

无法可靠恢复时:

Exception
 ↓
Risk = CRITICAL
 ↓
SAFE_STOP

系统进入安全状态。


8.3 Recovery 必须 Verification

不能:

Repair
 ↓
认为恢复成功

应该:

Exception
 ↓
Recovery
 ↓
Verification
 ↓
Recovered?

如果:

YES
 ↓
Resume

如果:

NO
 ↓
Diagnosis
 ↓
New Recovery

9. Exception Logging

异常处理必须与第98章日志系统连接。

核心流程:

Exception
 ↓
Exception Handler
 ↓
Exception Log
 ↓
Recovery
 ↓
Recovery Log
 ↓
Verification Log

9.1 Exception Log

基本结构:

{
    "id": "EXLOG_001",
    "type": "ADAPTER_EXCEPTION",
    "source": "VehicleAdapter",
    "target": "Vehicle_A",
    "event": "CONNECTION_TIMEOUT",
    "state": "ERROR",
    "severity": "HIGH",
    "cause": "TIMEOUT",
    "recovery": "RECONNECT",
    "result": "SUCCESS",
    "trace_id": "TRACE_001",
    "timestamp": "2026-09-12 20:15:00"
}

9.2 Recovery Log

恢复过程也需要记录:

{
    "type": "RECOVERY",
    "source": "VehicleAdapter",
    "target": "Vehicle_A",
    "event": "RECONNECT",
    "previous_state": "DISCONNECTED",
    "current_state": "CONNECTED",
    "result": "SUCCESS",
    "timestamp": "2026-09-12 20:15:05"
}

9.3 Verification Log

最终:

{
    "type": "VERIFICATION",
    "target": "VehicleAdapter",
    "expected": "CONNECTED",
    "actual": "CONNECTED",
    "state": "VERIFIED",
    "timestamp": "2026-09-12 20:15:06"
}

因此一次完整异常处理就具有:

Exception Log
      ↓
Recovery Log
      ↓
Verification Log

10. Exception Handler

异常需要一个统一处理入口:

Exception
    ↓
ExceptionHandler
    ├── classify()
    ├── analyze()
    ├── selectRecovery()
    ├── recover()
    ├── verify()
    └── log()

其职责是组织异常处理,而不是替代 Diagnosis、Decision、Repair。

可以理解为:

ExceptionHandler
=
异常处理协调器

11. 完整异常处理流程

例如:

Vehicle_A

需要执行:

SET_SPEED = 20

但是:

VehicleAdapter
=
DISCONNECTED

产生:

Adapter Exception

完整流程:

Decision
 ↓
Task
 ↓
Behavior
 ↓
Action
 ↓
Adapter
 ↓
CONNECTION_TIMEOUT
 ↓
Adapter Exception
 ↓
Exception Log
 ↓
Detection
 ↓
Risk
 ↓
Diagnosis
 ↓
Recovery
 ↓
Reconnect
 ↓
Verification

如果恢复成功:

CONNECTED
 ↓
Retry Action
 ↓
Device Response
 ↓
SUCCESS
 ↓
Task Result
 ↓
Experience

如果恢复失败:

Reconnect
 ↓
FAILED
 ↓
Verification FAILED
 ↓
Diagnosis
 ↓
New Decision

如果风险继续升高:

Risk = CRITICAL
 ↓
SAFE_STOP

12. Exception 与前面系统的完整关系

第72~99章可以形成完整的异常处理体系:

Detection
    ↓
发现异常
    ↓
Risk / Conflict
    ↓
判断影响与矛盾
    ↓
Priority
    ↓
确定处理顺序
    ↓
Diagnosis
    ↓
分析原因
    ↓
Decision
    ↓
选择处理方案
    ↓
Repair / Recovery
    ↓
改变异常状态
    ↓
Verification
    ↓
确认是否恢复
    ↓
Experience
    ↓
Learning
    ↓
Memory Update

日志贯穿其中:

Detection Log
Risk Log
Diagnosis Log
Decision Log
Recovery Log
Verification Log
Error Log

本章核心模型

Exception
   ↓
Classification
   ↓
Detection
   ↓
Risk / Conflict
   ↓
Diagnosis
   ↓
Decision
   ↓
Recovery
   ↓
Verification
   ↓
Resume / Replan / Stop
   ↓
Experience
   ↓
Learning

日志:

Exception
   ↓
Exception Log
   ↓
Recovery Log
   ↓
Verification Log

本章核心定义

Exception = SAI Individual 运行过程中偏离正常运行条件并需要处理的异常情况。

Information Exception = 信息接收、验证或处理阶段发生的异常。

Cognition Exception = 对象、属性、关系、状态或理解过程发生的异常。

Reasoning Exception = 事实、条件、规则、推理链或结论发生的异常。

Decision Exception = 无法形成可靠决定,或者决定无法满足执行条件的异常。

Device Exception = 外部设备本身发生的运行异常。

Adapter Exception = SAI 与外部环境连接、通信、协议或数据转换过程中发生的异常。

Recovery = 异常发生后恢复正常运行状态或进入安全替代状态的过程。

Exception Logging = 对异常、原因、处理、恢复和验证过程进行可追溯记录。

最终形成:

第98章 Log
      ↓
记录运行
      ↓
第99章 Exception
      ↓
处理异常
      ↓
Detection
      ↓
Diagnosis
      ↓
Recovery
      ↓
Verification
      ↓
Experience
      ↓
Learning

由此,SAI Individual 不仅能够运行任务,还具备了面对运行异常时的:

发现 → 判断 → 分析 → 处理 → 恢复 → 验证 → 记录 → 学习

闭环。

Leave a Reply

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