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

第211章 ICAI Self-Maintenance Engine

第211章 ICAI Self-Maintenance Engine

211.1 ICAI Self-Maintenance Engine概述

第210章建立了ICAI Behavior Engine:

Goal→Capability→Matching→Method→Decision→Behavior→Action→ExecutionGoal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Execution

行为进入实际执行以后,系统不能只关注:

执行成功

还必须持续判断:

当前是否正常?
是否出现异常?
是否存在风险?
是否产生冲突?
是否需要保护?
问题是什么原因?
是否能够修复?
修复以后是否恢复正常?

因此,ICAI需要建立一个面向自身运行状态的维护计算层。

本章定义:

SelfMaintenanceEngine=Detection+Risk+Protection+Conflict+Diagnosis+RepairSelfMaintenanceEngine = Detection + Risk + Protection + Conflict + Diagnosis + Repair

即:

Detection
↓
Risk
↓
Protection
↓
Conflict
↓
Diagnosis
↓
Repair

但这六个部分并不是六个职责混合在一起的超级模块。

它们分别承担:

Detection
= 发现当前变化、异常和维护对象

Risk
= 计算可能发生的问题

Protection
= 在问题发生或扩大之前进行保护

Conflict
= 计算当前结构中的冲突

Diagnosis
= 分析已经发生问题的原因

Repair
= 根据诊断结果进行修复

因此:

SelfMaintenanceEngine=DetectionEngine+RiskEngine+ProtectionEngine+ConflictEngine+DiagnosisEngine+RepairEngineSelfMaintenanceEngine = DetectionEngine + RiskEngine + ProtectionEngine + ConflictEngine + DiagnosisEngine + RepairEngine

它是一个维护Engine组合层


211.2 为什么ICAI需要Self-Maintenance Engine

普通程序通常采用:

Input
↓
Process
↓
Output

当发生错误以后:

Error
↓
Stop

但ICAI是持续运行的个体认知系统。

它必须能够处理:

正常
↓
变化
↓
风险
↓
异常
↓
诊断
↓
修复
↓
验证
↓
恢复
↓
继续运行

因此:

SelfMaintenanceSelfMaintenance

不是一个附加功能,而是ICAI持续运行能力的重要组成部分。


211.3 Self-Maintenance不是“自动修复一切”

必须首先明确一个工程原则:

Self-Maintenance Engine不是无条件自动修改系统。

它只能在:

事实
+
规则
+
条件
+
能力
+
验证

满足要求时执行允许的维护操作。

因此:

CanRepair≠ProblemExistsCanRepair \neq ProblemExists

存在问题并不意味着一定能够修复。

例如:

Problem
=
Object damaged

但是:

Repair Capability
=
unavailable

则结果应该是:

Repair
=
blocked

而不是强制修改对象。


211.4 Self-Maintenance的六级结构

本章定义六个核心阶段:

第一层:Detection
第二层:Risk
第三层:Protection
第四层:Conflict
第五层:Diagnosis
第六层:Repair

其基本关系:

Current Runtime
↓
Detection
↓
Risk / Conflict
↓
Protection
↓
Diagnosis
↓
Repair
↓
Verification
↓
State Recovery

但实际运行中并不要求每次都经过全部阶段。

例如正常情况:

Detection
↓
No Problem

风险情况:

Detection
↓
Risk
↓
Protection

冲突情况:

Detection
↓
Conflict
↓
Handling
↓
Re-evaluation

实际故障:

Detection
↓
Abnormality
↓
Diagnosis
↓
Repair
↓
Verification

因此Self-Maintenance Engine必须支持分支。


211.5 Detection——维护检测

Detection首先回答:

现在发生了什么变化?

检测对象包括:

Object
State
Relation
Scene
Resource
Capability
Method
Behavior
Action
Execution
Environment
Result

例如:

Object-A
State = ready

运行以后:

Object-A
State = blocked

DetectionEngine检测到:

State Change

又例如:

Expected Result = success
Actual Result = failed

DetectionEngine检测:

Result Deviation

211.6 Detection模型

定义检测事件:

X=(O,Ex,Re,R,S,C,T)X=(O,E_x,R_e,R,S,C,T)

其中:

  • O:Object,相关对象;
  • E_x:Execution,实际执行;
  • R_e:Expected Result,预期结果;
  • R:Actual Result,实际结果;
  • S:State,当前状态;
  • C:Condition,当前条件;
  • T:Time,发生时间。

Detection计算:

Detect(X)→EventDetect(X) \rightarrow Event

Event可以是:

no_change
state_change
result_change
condition_change
environment_change
resource_change
abnormality
failure
conflict_candidate
risk_candidate

211.7 Detection不是Diagnosis

必须严格区分:

Detection≠DiagnosisDetection\neq Diagnosis

Detection回答:

发生了什么?

Diagnosis回答:

为什么发生?

例如:

Actual Result = failed

Detection得到:

Failure Detected

但它不能直接判断:

Resource insufficient

必须交给:

DiagnosisEngine

进行原因分析。

因此:

Detection
↓
Fact
↓
Diagnosis
↓
Cause

211.8 Detection与Feedback

Execution产生Result以后:

Execution
↓
Result
↓
Feedback

Detection可以利用Feedback:

Detection=F(Result,State,Condition,Environment,Feedback)Detection = F(Result,State,Condition,Environment,Feedback)

例如:

Expected = success
Actual = failed

FeedbackEngine形成:

Result Feedback

DetectionEngine进一步识别:

Abnormality

因此:

Execution→Result→Feedback→DetectionExecution \rightarrow Result \rightarrow Feedback \rightarrow Detection


211.9 Risk——风险计算

Detection发现当前事实以后,还需要判断:

未来是否可能发生问题?

这就是RiskEngine。

Risk模型:

R=(C,E,P,I,S)R=(C,E,P,I,S)

其中:

  • C:Condition;
  • E:Event;
  • P:Probability;
  • I:Impact;
  • S:Risk State。

风险不是已经发生的Failure。

因此:

Risk≠FailureRisk\neq Failure

例如:

Resource remaining = 10%

目前仍然能够运行。

但是根据当前Method:

Expected Resource = 20%

则可能存在:

Resource Exhaustion Risk

这属于风险,而不是已经发生的失败。


211.10 Risk与Detection的关系

基本流程:

Current Fact
↓
Detection
↓
Risk Candidate
↓
Risk Calculation

Risk Candidate:

RC=State+Condition+Rule+ExperienceRC=State+Condition+Rule+Experience

例如:

State:
Resource low

Condition:
Long processing

Experience:
Low resource caused failure previously

Rule:
Resource < threshold → risk

得到:

Risk Candidate

然后RiskEngine计算:

RiskScore=P×IRiskScore=P\times I

其中:

  • P:事件发生概率;
  • I:影响程度。

211.11 Risk不是Failure

例如:

Resource = 1
Required Resource = 2

如果已经导致:

Execution failed

则:

Failure

如果只是:

Resource = 2
Required Resource = 2

但是存在:

下一步骤需要3

则可能是:

Risk

因此:

Risk→Potential ProblemRisk \rightarrow Potential\ Problem

而:

Failure→Actual ProblemFailure \rightarrow Actual\ Problem

这是Self-Maintenance体系的重要区别。


211.12 Protection——风险保护

Risk发现以后,不一定需要等待Failure发生。

系统可以提前采取保护措施。

因此:

Risk→ProtectionRisk \rightarrow Protection

ProtectionEngine负责:

保护计算
保护动作
保护结果

例如:

Risk:
Resource exhaustion

Protection:
Reduce workload

或者:

Risk:
Unsafe state

Protection:
Pause behavior

或者:

Risk:
Condition unstable

Protection:
Increase verification

211.13 Protection与Repair的区别

必须严格区分:

Protection≠RepairProtection\neq Repair

Protection:

问题可能发生
↓
提前阻止

Repair:

问题已经发生
↓
恢复正常

例如:

Risk:
Resource may become insufficient

Protection:

Reduce workload

如果最终:

Execution failed

再进入:

Diagnosis
↓
Repair

211.14 Protection模型

定义:

Pr=(R,C,A,S)P_r=(R,C,A,S)

其中:

  • R:Risk;
  • C:Protection Condition;
  • A:Protection Action;
  • S:Protection State。

完整流程:

Risk
↓
Protection Candidate
↓
Decision
↓
Protection Action
↓
Execution
↓
Result
↓
Feedback
↓
Verification

Protection不能只记录:

protected = true

必须根据实际执行结果确认保护是否成功。


211.15 Conflict——冲突计算

Risk表示:

未来可能发生的问题

Conflict表示:

当前存在的结构不兼容

冲突模型:

Cf=(O1,T,O2,K,S)C_f=(O_1,T,O_2,K,S)

其中:

  • O₁:对象A;
  • T:冲突类型;
  • O₂:对象B;
  • K:冲突条件;
  • S:冲突状态。

211.16 Conflict类型

ICAI中的Conflict至少包括:

Goal Conflict
Condition Conflict
State Conflict
Method Conflict
Action Conflict
Resource Conflict
Rule Conflict
Relation Conflict

例如:

Action-A1
requires Resource-R1

同时:

Action-A2
requires Resource-R1

如果规则规定:

R1 cannot be used simultaneously

则:

Conflict
=
Resource Conflict

211.17 Conflict与Risk的区别

两者可以产生联系,但不能混为一谈。

例如:

Resource-R1
已经被A1占用

而:

A2
也要求R1

这是:

Conflict

如果A2继续执行可能导致:

Execution Failure

则进一步形成:

Risk

因此:

Conflict→RiskConflict \rightarrow Risk

是可能的,但:

Conflict≠RiskConflict\neq Risk


211.18 Conflict处理

Conflict发现以后,Self-Maintenance Engine可以进入:

Conflict Detection
↓
Conflict Classification
↓
Conflict Evaluation
↓
Handling Candidate
↓
Decision
↓
Handling
↓
Re-evaluation

处理方式可能包括:

Priority Adjustment
Pause
Delay
Resource Change
Method Change
Action Reorder
Behavior Decomposition
Cancel
Replan
Human Review

具体选择由DecisionEngine完成。

ConflictEngine负责:

发现冲突
分类冲突
计算冲突

而不是自己无条件选择解决方案。


211.19 Diagnosis——诊断

当问题已经实际发生:

Failure
Abnormality
State Deviation
Result Deviation

就需要DiagnosisEngine。

Diagnosis模型:

D=(P,E,C,R,S)D=(P,E,C,R,S)

其中:

  • P:Problem;
  • E:Evidence;
  • C:Cause;
  • R:Recommendation;
  • S:Diagnosis State。

Diagnosis回答:

为什么发生这个问题?


211.20 Diagnosis输入

DiagnosisEngine可以接收:

DI=(Ex,Re,R,S,C,Ru,Ev,H,M,Env,T)DI= (E_x,R_e,R,S,C,Ru,Ev,H,M,Env,T)

其中:

  • E_x:Execution;
  • R_e:Expected Result;
  • R:Actual Result;
  • S:State;
  • C:Condition;
  • Ru:Rule;
  • Ev:Evidence;
  • H:History;
  • M:Memory/Experience related information;
  • Env:Environment;
  • T:Time。

因此诊断不是凭空产生原因。

必须有:

Actual Result
+
Expected Result
+
Evidence
+
Current State
+
Condition

211.21 Diagnosis原因层级

DiagnosisEngine可以分析:

Result
↓
State
↓
Action
↓
Behavior
↓
Method
↓
Capability
↓
Resource
↓
Relation
↓
Environment
↓
Rule

例如:

Result:
failed

Action:
A2 failed

Cause Candidate:
Resource insufficient

进一步:

Resource insufficient

可能由:

Resource state changed

导致。

继续分析:

Environment changed

最终可能形成:

Root Cause:
Environment Change

因此Diagnosis支持:

Direct Cause
Root Cause
Cause Chain

211.22 Diagnosis不是Repair

必须严格区分:

Diagnosis≠RepairDiagnosis\neq Repair

Diagnosis输出:

Problem
Cause
Evidence
Recommendation

Repair负责:

根据确认的Cause建立修复方案

因此:

Diagnosis
↓
Repair Candidate

而不是:

Diagnosis
↓
直接修改系统

211.23 Repair——修复

Repair发生在实际问题已经确认以后。

Repair模型:

Rp=(D,M,A,R,S)Rp=(D,M,A,R,S)

其中:

  • D:Diagnosis;
  • M:Repair Method;
  • A:Repair Action;
  • R:Repair Result;
  • S:Repair State。

RepairEngine负责:

修复条件计算
修复候选计算
修复结果判断
修复验证

211.24 Repair的执行条件

修复不能因为:

problem exists

就直接执行。

必须满足:

RepairExecutable=Av∧Dv∧Cv∧Ov∧Cav∧Sv∧RuvRepairExecutable = A_v \land D_v \land C_v \land O_v \land Ca_v \land S_v \land Ru_v

其中:

  • A_v:Abnormality Valid;
  • D_v:Diagnosis Valid;
  • C_v:Cause Repairable;
  • O_v:Object Valid;
  • Ca_v:Repair Capability Available;
  • S_v:Current State Allows Repair;
  • Ru_v:Rule Allows Repair。

如果任何必要条件不满足:

Repair
=
blocked

211.25 Repair候选

不同原因对应不同Repair Candidate。

例如:

Resource
→ ResourceReplacement

State
→ StateRecovery

Method
→ MethodChange

Action
→ ActionReplacement

Environment
→ EnvironmentRecovery

TemporaryFailure
→ Retry

CalculationError
→ Recalculate

因此:

Cause→RepairCandidateCause \rightarrow RepairCandidate

然后:

Repair Candidates
↓
DecisionEngine
↓
Selected Repair

如果只有一个合法Repair,也必须经过规则和条件验证。


211.26 Repair与Capability

Repair本身也是一种能力要求。

例如:

Repair Type:
ResourceReplacement

必须存在:

Capability:
replace_resource

因此:

RepairCapabilityAvailableRepairCapabilityAvailable

是RepairExecutable的重要组成部分。

没有对应能力:

Repair
=
blocked

而不是:

Repair
=
success

211.27 Repair与State

Repair也受到当前State限制。

例如:

Object-A
State = running

某个Repair要求:

State = stopped

那么不能直接Repair。

必须:

running
↓
Pause/Stop
↓
stopped
↓
Repair

State转换由:

StateEngine

负责。

RepairEngine负责判断:

State Allows Repair?

而不直接修改State。


211.28 Repair执行与Repair成功的区别

必须区分:

RepairExecuted≠RepairEffective≠RepairVerifiedRepairExecuted \neq RepairEffective \neq RepairVerified

例如:

Repair Action
executed

只能说明:

修复动作执行过

如果:

Actual Result
仍然失败

则:

RepairEffective = false

如果:

Result恢复正常
State恢复正常

但:

Evidence不足

则:

RepairEffective = true
RepairVerified = false

只有验证通过以后:

RepairVerified = true

211.29 Self-Maintenance的验证

任何保护或者修复都必须进入Verification。

统一:

VerifiedMaintenance=Result∧State∧Condition∧EvidenceVerifiedMaintenance = Result \land State \land Condition \land Evidence

保护:

VerifiedProtection=ProtectionResult∧SafeState∧Condition∧EvidenceVerifiedProtection = ProtectionResult \land SafeState \land Condition \land Evidence

修复:

VerifiedRepair=RepairResult∧RecoveredState∧Condition∧EvidenceVerifiedRepair = RepairResult \land RecoveredState \land Condition \land Evidence

如果验证失败:

Re-diagnosis

或者:

New Repair Candidate

不能直接宣布:

system recovered

211.30 Self-Maintenance统一维护流程

正常情况下:

Runtime
↓
Detection
↓
No Problem
↓
Continue

风险情况下:

Runtime
↓
Detection
↓
Risk
↓
Protection
↓
Verification
↓
Continue

冲突情况下:

Runtime
↓
Detection
↓
Conflict
↓
Decision
↓
Handling
↓
Re-evaluation

故障情况下:

Runtime
↓
Detection
↓
Abnormality
↓
Diagnosis
↓
Repair Candidate
↓
Decision
↓
Repair
↓
Verification
↓
Recovery

211.31 Self-Maintenance Engine统一输入

定义:

SMI=(I,CC,RT,Ex,Re,R,S,C,Ru,Ev,H,M,Env,T)SMI= (I,CC,RT,E_x,R_e,R,S,C,Ru,Ev,H,M,Env,T)

其中:

  • I:Individual;
  • CC:CognitiveContext;
  • RT:Runtime;
  • E_x:Execution;
  • R_e:Expected Result;
  • R:Actual Result;
  • S:State;
  • C:Condition;
  • Ru:Rule;
  • Ev:Evidence;
  • H:History;
  • M:Memory/Experience;
  • Env:Environment;
  • T:Time。

这里的核心原则是:

当前Runtime
+
实际Execution
+
实际Result
+
当前State
+
Rule
+
Evidence

优先于单纯的历史记录。


211.32 Self-Maintenance Engine统一输出

定义:

SMO=(Dt,Rk,Pr,Cf,Dg,Rp,V,S,H,T)SMO= (Dt,Rk,Pr,Cf,Dg,Rp,V,S,H,T)

其中:

  • Dt:Detection Result;
  • Rk:Risk Result;
  • Pr:Protection Result;
  • Cf:Conflict Result;
  • Dg:Diagnosis Result;
  • Rp:Repair Result;
  • V:Verification;
  • S:Final State;
  • H:Maintenance History;
  • T:Time。

因此输出不能只表示:

success

而应该能够说明:

检测到什么
↓
风险是什么
↓
是否需要保护
↓
是否存在冲突
↓
问题原因是什么
↓
采取什么修复
↓
修复结果是什么
↓
是否验证成功
↓
当前状态是什么

211.33 Self-Maintenance Engine的组合模型

定义:

SME=DE+RE+PE+CE+DgE+RpESME = DE + RE + PE + CE + DgE + RpE

其中:

  • DE:DetectionEngine;
  • RE:RiskEngine;
  • PE:ProtectionEngine;
  • CE:ConflictEngine;
  • DgE:DiagnosisEngine;
  • RpE:RepairEngine。

这里的:

RE

表示RiskEngine,

CE

表示ConflictEngine。

为了避免工程代码中的命名冲突,可以使用完整类名:

DetectionEngine
RiskEngine
ProtectionEngine
ConflictEngine
DiagnosisEngine
RepairEngine

211.34 Self-Maintenance Engine不是六个Engine简单串联

实际计算并不是:

Detection
↓
Risk
↓
Protection
↓
Conflict
↓
Diagnosis
↓
Repair

每次都必须全部执行。

更准确的结构是:

                 Detection
                     ↓
          ┌──────────┼──────────┐
          ↓          ↓          ↓
        Risk      Conflict   Abnormality
          ↓          ↓          ↓
      Protection   Handling   Diagnosis
          ↓                     ↓
     Verification            Repair
          ↓                     ↓
          └──────────┬──────────┘
                     ↓
                 Verification
                     ↓
               State Recovery
                     ↓
                Re-evaluation

这是一个分支式维护计算结构


211.35 Detection → Risk

检测发现某个状态具有潜在危险:

Detection
↓
Risk Candidate

例如:

Resource = 10

检测到:

Resource decreasing

结合:

Method requires 8

计算:

Risk = Resource Exhaustion

如果RiskScore超过阈值:

Protection Candidate

进入Protection。


211.36 Detection → Conflict

检测到:

A1 requires R1
A2 requires R1

同时规则:

R1 exclusive

则:

Conflict

无需等待Execution失败。

因此Conflict可以在执行前发现。

这就是:

Preventive MaintenancePreventive\ Maintenance

的重要组成部分。


211.37 Detection → Diagnosis

如果已经发生:

Actual Result != Expected Result

Detection得到:

Abnormality

进入:

Diagnosis

例如:

Expected = success
Actual = failed

Diagnosis可能得到:

Cause:
Resource insufficient

然后:

Repair Candidate:
ResourceReplacement

211.38 Risk → Protection → Verification

风险保护闭环:

Risk
↓
Protection Candidate
↓
Decision
↓
Protection Action
↓
Execution
↓
Result
↓
Feedback
↓
Verification

例如:

Risk:
Resource exhaustion

Protection:

Reduce workload

执行后:

Resource stable

Verification:

passed

则:

Risk
=
controlled

211.39 Conflict → Handling → Re-evaluation

冲突处理闭环:

Conflict
↓
Classification
↓
Candidate Handling
↓
Decision
↓
Handling
↓
State Change
↓
Re-evaluation

例如:

A1 ↔ A2
Resource Conflict

处理:

Delay A2

然后:

A1 completed

重新计算:

Conflict = resolved

211.40 Diagnosis → Repair → Verification

故障修复闭环:

Failure
↓
Diagnosis
↓
Cause
↓
Repair Candidate
↓
Decision
↓
Repair
↓
Execution
↓
Result
↓
Verification

如果验证失败:

Repair Verification Failed
↓
Diagnosis Again

因此:

Diagnosis→Repair→Verification→DiagnosisDiagnosis \rightarrow Repair \rightarrow Verification \rightarrow Diagnosis

可以形成有限循环。

但系统必须设置:

Retry Limit
Repair Attempt Limit
Manual Review
Unrecoverable

避免无限修复循环。


211.41 Self-Maintenance与DecisionEngine

Self-Maintenance Engine不应该在多个候选方案存在时自己完成最终选择。

例如:

Repair-A
Retry

Repair-B
MethodChange

Repair-C
ResourceReplacement

Self-Maintenance可以计算:

Repair Candidates

然后:

DecisionEngine
↓
Selected Repair

因此:

MaintenanceCandidate→Decision→MaintenanceActionMaintenanceCandidate \rightarrow Decision \rightarrow MaintenanceAction

保持:

计算

和:

选择

的职责分离。


211.42 Self-Maintenance与BehaviorEngine

维护本身也可以形成Behavior。

例如:

Repair Method

最终可以形成:

Repair Behavior

因此:

Diagnosis
↓
Repair Candidate
↓
Decision
↓
Behavior
↓
Action
↓
Execution

这意味着Self-Maintenance不是一个脱离ICAI行为体系的特殊机制。

它仍然使用:

Goal
Capability
Method
Decision
Behavior
Action
Execution
Result
Feedback

只是目标从:

普通任务

变成:

维护、保护、恢复

211.43 Self-Maintenance与Capability

维护行为也需要Capability。

例如:

Repair:
state_recovery

必须存在:

Capability:
recover_state

如果:

Capability unavailable

则:

Repair blocked

然后可以进入:

Decision
↓
Alternative Repair

或者:

Human Review

因此:

Maintenance⊂Capability+Method+Decision+Behavior+ActionMaintenance \subset Capability + Method + Decision + Behavior + Action


211.44 Self-Maintenance与Knowledge

维护过程中产生的确认事实可以更新Knowledge。

例如:

第一次:

Method-M1
Resource >= 1

执行失败。

Diagnosis:

Resource insufficient

修复:

Resource = 2

重新执行:

success

LearningEngine可以形成:

Method-M1 requires Resource >= 2

经过验证后:

Knowledge Update

因此:

Self-Maintenance
↓
Result
↓
Feedback
↓
Diagnosis
↓
Repair
↓
Verification
↓
Learning
↓
Update

维护结果可以改变未来的认知结构。


211.45 Self-Maintenance与Memory

维护历史必须进入Memory体系。

例如:

Maintenance History

记录:

Problem
Cause
Repair
Result
Verification
Time

形成:

History
↓
Memory
↓
Experience

以后再次遇到类似问题:

Current Problem
↓
Experience Recall
↓
Repair Candidate

但历史经验不能覆盖当前事实。

仍然遵循:

CurrentFact>HistoricalMemoryCurrentFact > HistoricalMemory


211.46 Self-Maintenance与Learning

维护并不等于学习。

例如:

Repair successful

只是一次维修事实。

只有经过:

Comparison
+
Evidence
+
Verification
+
Pattern

以后,才能形成可用于未来计算的Learning Data。

因此:

Repair≠LearningRepair \neq Learning

但:

RepairResult→Feedback→LearningRepairResult \rightarrow Feedback \rightarrow Learning

是合法的数据流。


211.47 Self-Maintenance完整PHP组合实现

下面建立维护Engine组合层。

<?php

class SelfMaintenanceEngine
{
    protected $detectionEngine;
    protected $riskEngine;
    protected $protectionEngine;
    protected $conflictEngine;
    protected $diagnosisEngine;
    protected $repairEngine;

    public function __construct(
        $detectionEngine,
        $riskEngine,
        $protectionEngine,
        $conflictEngine,
        $diagnosisEngine,
        $repairEngine
    ) {
        $this->detectionEngine =
            $detectionEngine;

        $this->riskEngine =
            $riskEngine;

        $this->protectionEngine =
            $protectionEngine;

        $this->conflictEngine =
            $conflictEngine;

        $this->diagnosisEngine =
            $diagnosisEngine;

        $this->repairEngine =
            $repairEngine;
    }

    public function calculate($input)
    {
        if (!is_array($input)) {
            $input = array();
        }

        /*
         * 1. Detection
         */
        $detection =
            $this->detectionEngine
                ->calculate($input);

        $input['detection'] =
            $detection;

        /*
         * 2. Risk
         */
        $risk =
            $this->riskEngine
                ->calculate($input);

        $input['risk'] =
            $risk;

        /*
         * 3. Conflict
         */
        $conflict =
            $this->conflictEngine
                ->calculate($input);

        $input['conflict'] =
            $conflict;

        /*
         * 4. Protection
         */
        $protection =
            $this->protectionEngine
                ->calculate($input);

        $input['protection'] =
            $protection;

        /*
         * 5. Diagnosis
         */
        $diagnosis =
            $this->diagnosisEngine
                ->calculate($input);

        $input['diagnosis'] =
            $diagnosis;

        /*
         * 6. Repair
         */
        $repair =
            $this->repairEngine
                ->calculate($input);

        return array(
            'engine' =>
                'SelfMaintenanceEngine',

            'status' =>
                'calculated',

            'detection' =>
                $detection,

            'risk' =>
                $risk,

            'conflict' =>
                $conflict,

            'protection' =>
                $protection,

            'diagnosis' =>
                $diagnosis,

            'repair' =>
                $repair
        );
    }
}

这里的组合层主要承担:

Input组织
↓
各Engine调用
↓
结果传递
↓
统一输出

并不把六种维护计算全部写进一个类。


211.48 Self-Maintenance条件分支

实际工程中更合理的方式是根据Detection结果决定后续Engine。

例如:

if ($detection['status'] === 'normal') {
    return array(
        'status' => 'normal',
        'detection' => $detection
    );
}

风险:

if (
    isset($detection['risk_candidate']) &&
    $detection['risk_candidate'] === true
) {
    $risk =
        $this->riskEngine
            ->calculate($input);
}

冲突:

if (
    isset($detection['conflict_candidate']) &&
    $detection['conflict_candidate'] === true
) {
    $conflict =
        $this->conflictEngine
            ->calculate($input);
}

异常:

if (
    isset($detection['abnormality']) &&
    $detection['abnormality'] === true
) {
    $diagnosis =
        $this->diagnosisEngine
            ->calculate($input);
}

这种结构比无条件运行全部Engine更加符合实际维护计算。


211.49 Self-Maintenance的维护状态

Self-Maintenance本身可以具有:

normal
monitoring
risk_detected
protected
conflict_detected
diagnosing
repair_pending
repairing
verifying
recovered
blocked
unrecoverable
manual_required

状态转换:

normal
↓
monitoring
↓
risk_detected
↓
protected
↓
normal

或者:

normal
↓
abnormal
↓
diagnosing
↓
repair_pending
↓
repairing
↓
verifying
↓
recovered

如果失败:

verifying
↓
diagnosing

如果没有合法修复:

repair_pending
↓
unrecoverable

211.50 Self-Maintenance与StateEngine

Self-Maintenance不直接修改State。

例如:

Repair successful

Self-Maintenance只能输出:

Expected State:
ready

实际状态变化:

StateEngine

负责:

Statet+Event+Condition+Rule→Statet+1State_t + Event + Condition + Rule \rightarrow State_{t+1}

然后Verification确认:

State_{t+1} = expected

因此:

RepairEngine≠StateEngineRepairEngine \neq StateEngine


211.51 Self-Maintenance与Repository

Self-MaintenanceEngine也不应该直接操作MySQL。

架构:

SelfMaintenanceService
↓
SelfMaintenanceEngine
├── DetectionEngine
├── RiskEngine
├── ProtectionEngine
├── ConflictEngine
├── DiagnosisEngine
└── RepairEngine
↓
StateEngine / DecisionEngine / ActionEngine
↓
Repository
↓
MySQL

Repository负责:

Load
Save
Update
History

Engine负责:

Calculate
Evaluate
Validate

211.52 Self-Maintenance数据库结构

可以建立维护记录:

maintenance_events
maintenance_risks
maintenance_protections
maintenance_conflicts
maintenance_diagnoses
maintenance_repairs
maintenance_verifications
maintenance_history

例如:

maintenance_events

id
individual_id
object_id
event_type
source
expected_value
actual_value
state
created_at

maintenance_risks

id
event_id
condition
event
probability
impact
risk_score
status
created_at

maintenance_diagnoses

id
event_id
problem
cause
recommendation
status
created_at

maintenance_repairs

id
diagnosis_id
repair_type
method
action
result
status
verification_status
created_at

这样可以形成完整维护历史。


211.53 Self-Maintenance完整工程架构

最终:

IndividualService
↓
SelfMaintenanceService
↓
SelfMaintenanceEngine
│
├── DetectionEngine
│
├── RiskEngine
│
├── ProtectionEngine
│
├── ConflictEngine
│
├── DiagnosisEngine
│
└── RepairEngine
│
├── StateEngine
├── DecisionEngine
├── BehaviorEngine
├── ActionEngine
└── ExecutionEngine
│
↓
FeedbackEngine
↓
MemoryEngine
↓
ExperienceEngine
↓
LearningEngine
↓
UpdateEngine
↓
Repository
↓
MySQL

211.54 Self-Maintenance完整闭环

ICAI维护闭环最终定义为:

Runtime
↓
Detection
↓
Risk / Conflict / Abnormality
↓
Protection / Handling / Diagnosis
↓
Repair
↓
Execution
↓
Result
↓
Feedback
↓
Verification
↓
State Recovery
↓
Learning
↓
Update
↓
Re-evaluation

数学表示:

SMt→MaintenanceActiont→Resultt→Verificationt→Statet+1SM_t \rightarrow MaintenanceAction_t \rightarrow Result_t \rightarrow Verification_t \rightarrow State_{t+1}

如果问题没有解决:

Verificationt=FailedVerification_t=Failed

则:

Diagnosist+1→RepairCandidatet+1Diagnosis_{t+1} \rightarrow RepairCandidate_{t+1}

形成再次诊断,而不是无限重复同一个修复动作。


211.55 Self-Maintenance的有限循环原则

任何维护循环都必须存在终止条件。

例如:

Repair Attempt = 1
Repair Attempt = 2
Repair Attempt = 3

达到规则限制:

Repair Limit

以后:

manual_required

或者:

unrecoverable

因此:

MaintenanceLoop≠InfiniteLoopMaintenanceLoop \neq InfiniteLoop

必须满足:

Attempt<LimitAttempt < Limit

才允许继续自动处理。


211.56 Self-Maintenance的可解释性

任何维护结果必须能够追溯:

Detection
↓
Evidence
↓
Risk / Conflict / Abnormality
↓
Diagnosis
↓
Cause
↓
Repair Candidate
↓
Decision
↓
Repair Action
↓
Execution
↓
Result
↓
Verification

例如:

为什么进入Repair?

系统应该能够回答:

Execution E-002 failed
↓
Expected success
↓
Actual failed
↓
Evidence confirmed
↓
Diagnosis confirmed
↓
Cause = Resource insufficient
↓
Repair Capability available
↓
Rule allows resource replacement
↓
Decision selected ResourceReplacement
↓
Repair executed
↓
Result success
↓
State recovered
↓
Verification passed

这就是ICAI维护计算的可追踪性。


211.57 Self-Maintenance不是神经网络自修复

必须明确:

ICAI的Self-Maintenance不是:

Model retraining

也不是:

Neural Network self-healing

系统没有:

LLM
Transformer
Embedding
Vector Search
Prompt Engineering
Neural Network
LLM API

它采用的是:

事实检测
↓
规则判断
↓
风险计算
↓
冲突计算
↓
原因分析
↓
维护候选
↓
决策
↓
行为
↓
动作
↓
执行
↓
验证

因此:

SelfMaintenance=Symbolic+Rule+State+Relation+DiscreteCalculationSelfMaintenance = Symbolic + Rule + State + Relation + DiscreteCalculation


211.58 Self-Maintenance与ICAI完整结构

到本章为止,ICAI Engine可以形成:

CognitiveEngine
↓
Goal
↓
Capability
↓
Matching
↓
Method
↓
Decision
↓
Behavior
↓
Action
↓
Execution
↓
Result
↓
Feedback
↓
Self-Maintenance

Self-Maintenance内部:

Detection
├── Risk
│    └── Protection
│
├── Conflict
│    └── Handling
│
└── Abnormality
     └── Diagnosis
          └── Repair

之后:

Verification
↓
Memory
↓
Experience
↓
Learning
↓
Update
↓
CognitiveEngine

211.59 ICAI Self-Maintenance统一公式

最终定义:

SME=F(RT,Result,State,Condition,Rule,Evidence,History,Experience)SME = F( RT, Result, State, Condition, Rule, Evidence, History, Experience )

输出:

SMO=Detection+Risk+Protection+Conflict+Diagnosis+Repair+VerificationSMO= Detection + Risk + Protection + Conflict + Diagnosis + Repair + Verification

其中维护决策必须遵循:

CurrentFact→Detection→Evaluation→MaintenanceCandidate→Decision→Execution→VerificationCurrentFact \rightarrow Detection \rightarrow Evaluation \rightarrow MaintenanceCandidate \rightarrow Decision \rightarrow Execution \rightarrow Verification

而不是:

Problem→AutomaticModificationProblem \rightarrow AutomaticModification


211.60 ICAI Self-Maintenance最终闭环

综合前面章节:

CognitiveEngine
↓
GoalEngine
↓
CapabilityEngine
↓
MatchingEngine
↓
MethodEngine
↓
DecisionEngine
↓
BehaviorEngine
↓
ActionEngine
↓
ExecutionEngine
↓
FeedbackEngine
↓
Self-MaintenanceEngine
│
├── Detection
├── Risk
├── Protection
├── Conflict
├── Diagnosis
└── Repair
↓
Verification
↓
MemoryEngine
↓
ExperienceEngine
↓
LearningEngine
↓
UpdateEngine
↓
CognitiveEngine

最终形成:

Cognition→Goal→Capability→Matching→Method→Decision→Behavior→Action→Execution→ResultCognition \rightarrow Goal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result

然后:

Result→Detection→Risk/Conflict/Diagnosis→Protection/Repair→VerificationResult \rightarrow Detection \rightarrow Risk/Conflict/Diagnosis \rightarrow Protection/Repair \rightarrow Verification

再:

Verification→Memory→Experience→Learning→Update→Re−CognitionVerification \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Update \rightarrow Re-Cognition


211.61 本章总结

第211章正式建立:

ICAI Self-Maintenance Engine

其核心结构为:

SelfMaintenanceEngine=DetectionEngine+RiskEngine+ProtectionEngine+ConflictEngine+DiagnosisEngine+RepairEngineSelfMaintenanceEngine = DetectionEngine + RiskEngine + ProtectionEngine + ConflictEngine + DiagnosisEngine + RepairEngine

六个Engine分别回答:

Detection:

发生了什么?

Risk:

可能发生什么问题?

Protection:

如何提前阻止或者降低风险?

Conflict:

当前哪些结构互相冲突?

Diagnosis:

已经发生的问题为什么发生?

Repair:

如何在合法条件下恢复?

因此形成:

Detection→Risk→ProtectionDetection \rightarrow Risk \rightarrow Protection

以及:

Detection→ConflictDetection \rightarrow Conflict

以及:

Detection→Abnormality→Diagnosis→RepairDetection \rightarrow Abnormality \rightarrow Diagnosis \rightarrow Repair

最终全部进入:

Verification→StateRecovery→Learning→Update→Re−CognitionVerification \rightarrow StateRecovery \rightarrow Learning \rightarrow Update \rightarrow Re-Cognition

最重要的是,ICAI的Self-Maintenance不是简单的:

发现错误
↓
自动修改

而是:

实际事实
↓
检测
↓
风险/冲突/异常识别
↓
保护或诊断
↓
维护候选
↓
能力与条件检查
↓
决策
↓
行为
↓
动作
↓
执行
↓
实际结果
↓
验证
↓
状态恢复

因此:

SelfMaintenance=Detection+Evaluation+Protection+Diagnosis+Repair+VerificationSelfMaintenance = Detection + Evaluation + Protection + Diagnosis + Repair + Verification

同时必须保持:

Risk≠FailureRisk\neq Failure Protection≠RepairProtection\neq Repair Detection≠DiagnosisDetection\neq Diagnosis Diagnosis≠RepairDiagnosis\neq Repair RepairExecuted≠RepairVerifiedRepairExecuted\neq RepairVerified

这组边界使ICAI具备了一套完整的自检测、自保护、冲突处理、原因诊断、条件修复和验证恢复机制

更重要的是,Self-Maintenance并不是脱离前面认知和行为体系的独立系统,而是直接嵌入:

Cognitive→Decision→Behavior→Execution→Result→SelfMaintenance→Learning→Update→CognitiveCognitive \rightarrow Decision \rightarrow Behavior \rightarrow Execution \rightarrow Result \rightarrow SelfMaintenance \rightarrow Learning \rightarrow Update \rightarrow Cognitive

之中。

因此,第211章完成了ICAI从:

“能够形成行为”

向:

“能够检测自身运行状态、识别风险和冲突、分析异常原因、在具备合法条件时执行修复,并通过验证恢复运行”

的进一步扩展。

ICAI至此开始具备真正意义上的运行维护闭环(Self-Maintenance Loop)

其工程本质仍然是:

Object+State+Relation+Scene+Knowledge+Goal+Capability+Method+Decision+Behavior+Action+Execution+Feedback+Rule+Condition+Evidence+DiscreteCalculationObject + State + Relation + Scene + Knowledge + Goal + Capability + Method + Decision + Behavior + Action + Execution + Feedback + Rule + Condition + Evidence + DiscreteCalculation

而不是依赖任何大模型或者神经网络机制。

Leave a Reply

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