第201章 FeedbackEngine
201.1 FeedbackEngine定义
在ICAI体系中,Action执行之后会产生Execution和Result。
但是,Result本身只是对实际执行结果的记录,它并不能自动说明:
- 实际结果是否符合预期;
- 当前状态是否发生变化;
- 状态变化是否合法;
- 是否出现异常;
- 是否需要进入下一步处理;
- 是否需要重新计算。
因此,在Action与下一轮认知计算之间,需要FeedbackEngine对实际结果进行计算。
FeedbackEngine可以定义为:
FeedbackEngine=FeedbackCalculation+ResultJudgment+StateUpdateFeedbackEngine= FeedbackCalculation+ ResultJudgment+ StateUpdate
即:
FeedbackEngine = 反馈计算 + 结果判断 + 状态更新
它负责把:
Execution
↓
Result
↓
Feedback
↓
State
连接起来。
201.2 Feedback基本概念
Feedback是对实际执行结果、对象状态变化、环境变化以及预期与实际差异进行结构化表达的信息。
在第163章中已经建立:
F=(R,S,E,C,T)F=(R,S,E,C,T)
其中:
- RR:Result Feedback,结果反馈;
- SS:State Feedback,状态反馈;
- EE:Environment Feedback,环境反馈;
- CC:Comparison,比较结果;
- TT:Time,反馈时间。
Feedback不是简单的:
success
也不是:
failure
而是一个能够支持后续状态计算、诊断、记忆、经验和学习的数据结构。
201.3 FeedbackEngine核心模型
FeedbackEngine可以进一步定义为:
FE=(E,R,F,C,S,V,T)FE=(E,R,F,C,S,V,T)
其中:
- EE:Execution;
- RR:Result;
- FF:Feedback;
- CC:Comparison;
- SS:State;
- VV:Verification;
- TT:Time。
完整过程:
Execution
↓
Result
↓
Feedback Calculation
↓
Result Judgment
↓
State Calculation
↓
State Validation
↓
State Update
因此FeedbackEngine不是单纯保存Feedback,而是对Feedback进行计算。
201.4 FeedbackEngine与FeedbackService
两者必须明确区分。
FeedbackService属于Service层,负责:
接收反馈
组织调用
协调状态服务
保存结果
协调Memory/Experience
协调Diagnosis/Learning
FeedbackEngine属于Engine层,负责:
反馈计算
结果比较
结果判断
状态变化计算
状态更新候选
验证
因此:
FeedbackService=OrchestrationFeedbackService=Orchestration FeedbackEngine=CalculationFeedbackEngine=Calculation
结构为:
Controller
↓
FeedbackService
↓
FeedbackEngine
↓
StateEngine
↓
FeedbackService
↓
Repository
201.5 FeedbackEngine输入
FeedbackEngine的输入主要来自:
Execution
Result
Expected Result
Current State
Environment State
Condition
Rule
Evidence
Runtime
History
可以定义:
InputF=(E,R,Re,S,C,Env,Ru,Ev,T)Input_F=(E,R,R_e,S,C,Env,Ru,Ev,T)
其中:
- ReR_e:Expected Result;
- SS:Current State;
- CC:Condition;
- EnvEnv:Environment;
- RuRu:Rule;
- EvEv:Evidence;
- TT:Time。
FeedbackEngine必须以实际结果为基础进行计算。
不能在没有Execution和Result的情况下虚构反馈。
201.6 反馈计算
反馈计算的第一步是把Execution和Result转换为结构化Feedback。
可以定义:
Fc=Calculate(E,R,S,Env,C,T)F_c=Calculate(E,R,S,Env,C,T)
例如:
Action:
修改订单状态
Expected:
pending → processing
Actual:
pending → processing
FeedbackEngine形成:
Result Feedback = Equal
State Feedback = Changed
Environment Feedback = No Change
Status = Normal
最终形成:
Feedback
{
result: equal,
state: changed,
environment: unchanged,
status: normal
}
201.7 反馈来源
Feedback可以来自多个来源。
主要包括:
Execution
Result
Action
Behavior
State
Environment
External Event
System Event
Verification
因此:
FeedbackSource=Execution∪Result∪State∪Environment∪EventFeedbackSource= Execution\cup Result\cup State\cup Environment\cup Event
但是来源越多,并不意味着FeedbackEngine可以接受没有证据的数据。
每一个Feedback都必须具有来源。
201.8 Feedback有效性
Feedback必须首先验证其基本结构。
可以定义:
ValidFeedback=Source∧Structure∧Time∧EvidenceValidFeedback= Source \land Structure \land Time \land Evidence
其中:
- Source:反馈来源存在;
- Structure:反馈结构完整;
- Time:反馈时间有效;
- Evidence:存在能够支撑反馈的数据。
例如:
Execution #1001
Result = success
Time = 2026-09-11 13:20:01
Evidence = database result
属于有效反馈。
而:
Result = success
没有来源和实际证据,则不能作为完整反馈。
201.9 Result与Feedback的区别
这是FeedbackEngine必须保持的核心边界。
Result回答:
发生了什么?
Feedback回答:
这个结果与预期有什么关系?对当前状态意味着什么?
例如:
Result:
订单状态变为 processing
Feedback:
Expected = processing
Actual = processing
Comparison = Equal
State = Normal
因此:
Result≠FeedbackResult\neq Feedback
Result是事实。
Feedback是对事实进行结构化计算之后形成的信息。
201.10 结果判断
FeedbackEngine的第二项核心能力是Result Judgment。
结果判断主要比较:
Expected Result
↓
Actual Result
定义:
C=Compare(Expected,Actual)C=Compare(Expected,Actual)
比较结果可以包括:
Equal
Partial
Different
Failed
Unknown
201.11 Equal结果
如果:
Expected=ActualExpected=Actual
则:
Comparison = Equal
例如:
Expected:
status = processing
Actual:
status = processing
则:
Result Judgment = Success
但需要注意:
Equal只表示结果与预期一致,并不自动等于整个Goal完成。
201.12 Partial结果
有些Action并不是所有结果都符合预期。
例如:
Expected:
A = 100
B = 200
C = 300
实际:
A = 100
B = 200
C = 250
则:
Comparison = Partial
FeedbackEngine应该保留:
Matched:
A
B
Different:
C
而不是简单转换成:
false
这样后续DiagnosisEngine才能进一步判断问题。
201.13 Different结果
如果实际结果与预期不同:
Expected≠ActualExpected\neq Actual
可以形成:
Comparison = Different
例如:
Expected:
state = processing
Actual:
state = pending
FeedbackEngine形成:
Result Judgment = Different
然后继续计算:
State Change
Abnormality Candidate
Risk Candidate
Diagnosis Candidate
201.14 Failed结果
如果执行本身明确失败:
Execution = Failed
则FeedbackEngine应该保留:
Result Judgment = Failed
不能将:
Failed
简单修改成:
Different
因为Execution Failure与正常执行后产生不同结果,是不同事实。
因此:
Execution Failed
和:
Execution Completed + Different Result
必须区分。
201.15 Unknown结果
某些情况下,系统无法确定实际结果。
例如:
Execution = Completed
Result = Unknown
Evidence = Insufficient
此时:
Comparison = Unknown
不能为了让系统继续运行而自动认定:
Success
或者:
Failure
因此:
Unknown≠SuccessUnknown\neq Success Unknown≠FailureUnknown\neq Failure
Unknown本身就是合法计算结果。
201.16 结果判断模型
可以建立:
RJ=(E,A,C,S,V,T)RJ=(E,A,C,S,V,T)
其中:
- EE:Expected;
- AA:Actual;
- CC:Comparison;
- SS:Judgment State;
- VV:Evidence/Verification;
- TT:Time。
形成:
Expected
↓
Actual
↓
Compare
↓
Judgment
↓
Verification
201.17 结果判断不能直接修改Goal
FeedbackEngine判断结果后,不应该直接把Goal设置为Completed。
例如:
Action Completed
↓
Result Equal
只能得到:
Action Result = Valid
然后:
BehaviorEngine
↓
Behavior Result
↓
GoalService
↓
Goal Verification
最终才能判断:
Goal = Completed
因此:
ResultEqual≠GoalCompletedResultEqual\neq GoalCompleted
201.18 状态反馈
FeedbackEngine的第三项重要能力是State Feedback。
状态反馈用于描述:
Before State
After State
State Difference
可以定义:
Fs=(Sbefore,Safter,ΔS)F_s=(S_{before},S_{after},\Delta S)
例如:
Before:
pending
After:
processing
ΔS:
pending → processing
这就是状态反馈。
201.19 状态变化计算
FeedbackEngine可以计算状态变化:
ΔS=Compare(Sbefore,Safter)\Delta S=Compare(S_{before},S_{after})
结果可以是:
NoChange
Changed
PartiallyChanged
Invalid
Unknown
Conflicted
例如:
Before:
Active
After:
Inactive
得到:
Changed
如果:
Before:
Active
After:
Active
得到:
NoChange
201.20 状态更新
FeedbackEngine根据反馈形成State Update Candidate。
可以表示:
Sc=UpdateCandidate(St,F,C,R)S_c=UpdateCandidate(S_t,F,C,R)
其中:
- StS_t:当前状态;
- FF:Feedback;
- CC:Condition;
- RR:State Rule;
- ScS_c:状态更新候选。
例如:
Current State:
pending
Feedback:
Order processing completed
Rule:
pending → processing
Candidate State:
processing
但是Candidate State还不是最终可信状态。
201.21 StateEngine负责最终状态转换
FeedbackEngine可以计算状态更新候选,但合法状态转换仍然由StateEngine负责。
因此:
FeedbackEngine
↓
State Update Candidate
↓
StateEngine
↓
Transition Validation
↓
Verified State
状态转换公式:
T(S1,E,C)→S2T(S_1,E,C)\rightarrow S_2
只有:
CurrentState∧Event∧Condition∧RuleCurrentState \land Event \land Condition \land Rule
成立时,状态转换才可以正式成立。
201.22 为什么FeedbackEngine不能直接修改所有状态
如果FeedbackEngine收到:
Result = Completed
就直接:
State = Completed
会产生严重问题。
因为不同对象的状态转换规则不同。
例如:
pending → processing
可能合法。
但是:
cancelled → processing
可能非法。
所以FeedbackEngine不能绕过StateEngine。
正确结构:
Feedback
↓
State Candidate
↓
StateEngine
↓
Transition Rule
↓
Verified State
201.23 状态更新结果
状态更新之后,需要形成State Update Result。
可以定义:
SUR=(Sb,Sc,Sf,R,V,T)SUR=(S_b,S_c,S_f,R,V,T)
其中:
- SbS_b:Before State;
- ScS_c:Candidate State;
- SfS_f:Final State;
- RR:Transition Rule;
- VV:Verification;
- TT:Time。
例如:
Before:
pending
Candidate:
processing
Rule:
pending → processing
Final:
processing
Verification:
verified
201.24 状态更新失败
如果FeedbackEngine计算出:
Candidate State = processing
但StateEngine发现:
pending → processing
不符合当前条件,则:
State Update = Rejected
不能强制修改状态。
此时可以形成:
Feedback
↓
State Update Candidate
↓
StateEngine
↓
Invalid Transition
↓
Conflict / Diagnosis
201.25 状态更新与异常
如果:
Expected State = processing
Actual State = pending
那么FeedbackEngine可以产生:
State Difference
进一步产生:
Abnormality Candidate
但FeedbackEngine不负责最终诊断。
完整关系:
FeedbackEngine
↓
State Difference
↓
Abnormality Candidate
↓
DiagnosisEngine
↓
Cause
因此:
Feedback≠DiagnosisFeedback\neq Diagnosis
Feedback说明:
发生了差异。
Diagnosis说明:
为什么产生差异。
201.26 FeedbackEngine与RiskEngine
结果差异也可能形成风险。
例如:
Expected:
Action completed
Actual:
Action delayed
FeedbackEngine产生:
Comparison = Different
RiskEngine进一步计算:
Delay Risk
所以:
FeedbackEngine
↓
Result Difference
↓
RiskEngine
↓
Risk Calculation
FeedbackEngine不负责Risk Score。
201.27 FeedbackEngine与ConflictEngine
如果反馈导致:
Current State = Active
Expected State = Archived
并且当前条件不允许转换,则可能产生:
State Conflict
流程:
Feedback
↓
State Difference
↓
StateEngine
↓
Invalid Transition
↓
ConflictEngine
ConflictEngine负责:
Conflict Calculation
Conflict Classification
Conflict Resolution
201.28 FeedbackEngine与MemoryEngine
Feedback本身可以进入Memory形成过程。
例如:
Result
↓
Feedback
↓
History
↓
Memory
MemoryEngine负责:
Memory Formation
Memory Update
Memory Recall
Memory Relation
FeedbackEngine只负责形成可靠的反馈数据。
201.29 FeedbackEngine与ExperienceEngine
经验形成需要经过多个阶段:
Feedback
↓
History
↓
Memory
↓
Comparison
↓
Pattern
↓
Experience
FeedbackEngine不能直接把一次Feedback定义为Experience。
因为:
Feedback≠ExperienceFeedback\neq Experience
单次结果只是一个事实。
Experience需要从历史中形成结构化模式。
201.30 FeedbackEngine与LearningEngine
LearningEngine可以使用经过验证的Feedback。
例如:
Feedback
↓
Verified Evidence
↓
LearningEngine
↓
Knowledge Update
Capability Update
Method Update
但是:
Feedback
本身并不是Learning。
因此:
Feedback≠LearningFeedback\neq Learning
Feedback提供证据。
Learning负责更新未来的认知基础。
201.31 FeedbackEngine与DiagnosisEngine
完整异常路径:
Execution
↓
Result
↓
Feedback
↓
Difference
↓
Abnormality
↓
DiagnosisEngine
↓
Cause
↓
Repair
DiagnosisEngine使用:
Result
Feedback
State
History
Memory
Experience
Knowledge
Risk
Conflict
寻找原因。
因此FeedbackEngine是DiagnosisEngine的重要事实输入来源。
201.32 FeedbackEngine运行状态
Feedback自身也需要状态。
可以定义:
Received
↓
Validated
↓
Calculated
↓
Compared
↓
Evaluated
↓
Applied
↓
Verified
异常:
Received → Invalid
Calculated → Conflict
Applied → Rejected
Verified → Failed
因此:
SF∈{Received,Validated,Calculated,Compared,Evaluated,Applied,Verified,Invalid,Rejected,Failed}S_F\in \{ Received, Validated, Calculated, Compared, Evaluated, Applied, Verified, Invalid, Rejected, Failed \}
201.33 FeedbackEngine结果分类
FeedbackEngine可以将结果分类为:
Normal
Partial
Different
Failed
Unknown
StateChanged
StateUnchanged
Conflict
Abnormal
这些分类不是随机产生的,而是根据:
Expected
Actual
Condition
State
Rule
Evidence
计算得到。
201.34 Feedback计算公式
结果比较:
C=Compare(E,A)C=Compare(E,A)
状态变化:
ΔS=Compare(Sb,Sa)\Delta S=Compare(S_b,S_a)
反馈:
F=Calculate(R,C,ΔS,Ev,T)F=Calculate(R,C,\Delta S,E_v,T)
其中:
- RR:Result;
- CC:Comparison;
- ΔS\Delta S:State Difference;
- EvE_v:Evidence;
- TT:Time。
201.35 状态更新公式
状态更新可以表示为:
St+1=Transition(St,F,R,C)S_{t+1}=Transition(S_t,F,R,C)
其中:
- StS_t:当前状态;
- FF:Feedback;
- RR:State Transition Rule;
- CC:Condition。
但是只有:
ValidTransition=State∧Event∧Condition∧RuleValidTransition= State \land Event \land Condition \land Rule
成立时,才能真正形成:
St+1S_{t+1}
201.36 FeedbackEngine统一结果模型
FeedbackEngine可以输出:
FER=(F,C,S,V,E,T)FER=(F,C,S,V,E,T)
其中:
- FF:Feedback;
- CC:Comparison;
- SS:State Update;
- VV:Verification;
- EE:Evidence;
- TT:Time。
例如:
Feedback Result
{
feedback: normal,
comparison: equal,
state_before: pending,
state_candidate: processing,
state_final: processing,
verification: verified
}
201.37 PHP OOP中的FeedbackEngine
在PHP OOP工程中,可以建立:
abstract class Engine
{
abstract public function calculate($input);
}
FeedbackEngine:
class FeedbackEngine extends Engine
{
public function calculate($input)
{
$execution = $input['execution'];
$result = $input['result'];
$expected = $input['expected'];
$state = $input['state'];
$comparison = $this->compareResult(
$expected,
$result
);
$feedback = $this->buildFeedback(
$execution,
$result,
$comparison
);
$stateCandidate = $this->calculateStateCandidate(
$state,
$feedback
);
return array(
'feedback' => $feedback,
'comparison' => $comparison,
'state_candidate' => $stateCandidate
);
}
protected function compareResult($expected, $actual)
{
if ($expected === $actual) {
return 'equal';
}
if ($actual === null) {
return 'unknown';
}
return 'different';
}
protected function buildFeedback(
$execution,
$result,
$comparison
) {
return array(
'execution' => $execution,
'result' => $result,
'comparison' => $comparison
);
}
protected function calculateStateCandidate(
$state,
$feedback
) {
return array(
'current' => $state,
'feedback' => $feedback
);
}
}
这里表达的是FeedbackEngine的工程结构。
具体业务中的比较规则、状态转换规则以及Verification规则必须根据实际Domain Object和StateEngine规则实现,不能把示例代码中的逻辑直接视为已经完成生产系统验证。
201.38 FeedbackEngine与StateEngine PHP结构
FeedbackEngine不应该自己实现全部状态转换规则。
可以通过:
class StateEngine extends Engine
{
public function calculate($input)
{
$current = $input['current'];
$event = $input['event'];
$condition = $input['condition'];
return array(
'current' => $current,
'event' => $event,
'condition' => $condition
);
}
}
由FeedbackEngine产生Candidate:
FeedbackEngine
↓
State Candidate
↓
StateEngine
↓
Transition Validation
这样可以避免FeedbackEngine和StateEngine职责重复。
201.39 FeedbackEngine数据库结构
可以建立:
feedbacks
保存反馈主体。
例如:
id
source_type
source_id
feedback_type
comparison
status
created_at
结果比较:
feedback_comparisons
状态变化:
feedback_state_changes
反馈历史:
feedback_history
证据:
feedback_evidence
整体关系:
Execution
↓
Result
↓
feedbacks
├── feedback_comparisons
├── feedback_state_changes
├── feedback_evidence
└── feedback_history
201.40 FeedbackEngine与Repository
Engine只负责计算。
因此:
FeedbackService
↓
FeedbackEngine
↓
FeedbackResult
↓
FeedbackRepository
↓
MySQL
Repository负责:
saveFeedback()
saveComparison()
saveStateChange()
saveEvidence()
saveHistory()
FeedbackEngine不应该直接执行SQL。
201.41 FeedbackEngine完整正常流程
完整正常流程:
Action
↓
Execution
↓
Result
↓
FeedbackEngine
↓
Result Comparison
↓
Feedback Calculation
↓
State Change Calculation
↓
StateEngine
↓
State Verification
↓
State Update
↓
Feedback Result
↓
History
201.42 FeedbackEngine异常流程
异常流程:
Execution
↓
Result
↓
FeedbackEngine
↓
Expected ≠ Actual
↓
Different / Failed
↓
Abnormality Candidate
↓
Risk / Conflict
↓
DiagnosisEngine
↓
Repair
↓
Verification
↓
New Action
这形成完整异常闭环。
201.43 FeedbackEngine闭环
ICAI执行闭环进一步形成:
Decision
↓
Behavior
↓
Action
↓
Execution
↓
Result
↓
FeedbackEngine
↓
StateEngine
↓
Memory
↓
Experience
↓
Learning
↓
Knowledge / Capability / Method Update
↓
Decision
这意味着FeedbackEngine是:
执行系统向认知系统返回实际信息的核心桥梁。
201.44 FeedbackEngine的确定性
FeedbackEngine必须坚持确定性。
对于:
Expected
Actual
Current State
Condition
Rule
Evidence
相同输入应得到相同判断。
即:
FE(X,R)=YFE(X,R)=Y
而不是:
FE(X,R)→Random(Y)FE(X,R)\rightarrow Random(Y)
因此FeedbackEngine不依赖随机生成。
201.45 FeedbackEngine的可解释性
任何Feedback结果都应该能够追溯:
Input
↓
Expected
↓
Actual
↓
Comparison Rule
↓
Comparison
↓
State Rule
↓
State Candidate
↓
Verification
↓
Final Feedback
例如系统产生:
Comparison = Different
必须能够回答:
Expected = ?
Actual = ?
使用什么规则比较?
什么时候比较?
证据是什么?
这就是ICAI的可解释计算。
201.46 FeedbackEngine与传统Boolean结果的区别
简单系统可能只有:
success = true
但ICAI不应该仅保存Boolean。
例如:
Result:
processing
Expected:
processing
Comparison:
Equal
State:
pending → processing
Verification:
Verified
Evidence:
Execution#1001
这样才能继续支持:
Risk
Conflict
Diagnosis
Memory
Experience
Learning
Decision
因此:
Feedback≠BooleanFeedback\neq Boolean
Feedback是结构化认知事实。
201.47 FeedbackEngine工程边界
FeedbackEngine负责:
反馈计算
结果比较
结果判断
状态变化计算
状态更新候选
反馈验证
反馈结果输出
不负责:
Goal最终完成判断
Decision最终选择
Behavior整体组织
Action具体执行实现
Risk最终决策
Conflict最终解决
Diagnosis原因分析
Repair策略选择
Memory长期管理
Experience形成
Learning更新
这样能够保持Engine体系边界清晰。
201.48 FeedbackEngine统一架构
到本章为止,执行链进一步完整:
DecisionEngine
↓
BehaviorEngine
↓
ActionEngine
↓
ExecutionEngine
↓
Result
↓
FeedbackEngine
↓
StateEngine
↓
Risk / Conflict / Diagnosis
↓
Memory / Experience
↓
LearningEngine
↓
Knowledge / Capability / Method
↓
DecisionEngine
形成:
Execution→Result→Feedback→State→Learning→DecisionExecution \rightarrow Result \rightarrow Feedback \rightarrow State \rightarrow Learning \rightarrow Decision
201.49 ICAI中的反馈闭环
反馈不是执行链的终点。
真正的ICAI闭环应该是:
认知
↓
决策
↓
行为
↓
动作
↓
执行
↓
结果
↓
反馈
↓
状态
↓
记忆
↓
经验
↓
学习
↓
知识/能力/方法更新
↓
重新决策
因此:
ICAI=Cognition→Decision→Behavior→Action→Execution→Feedback→Learning→CognitionICAI= Cognition \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Feedback \rightarrow Learning \rightarrow Cognition
反馈使系统能够从实际运行重新返回认知计算。
201.50 本章总结
第201章建立了ICAI的FeedbackEngine。
其核心定义为:
FeedbackEngine=FeedbackCalculation+ResultJudgment+StateUpdateFeedbackEngine= FeedbackCalculation+ ResultJudgment+ StateUpdate
它解决三个核心问题:
第一,反馈计算
把:
Execution
+
Result
+
Expected
+
Current State
计算为结构化Feedback。
第二,结果判断
通过:
Compare(Expected,Actual)Compare(Expected,Actual)
判断:
Equal
Partial
Different
Failed
Unknown
而不是简单使用Boolean。
第三,状态更新
通过:
St+1=Transition(St,F,R,C)S_{t+1}=Transition(S_t,F,R,C)
形成状态更新候选,并交由StateEngine验证合法性。
因此完整结构为:
Execution
↓
Result
↓
FeedbackEngine
├── Feedback Calculation
├── Result Judgment
└── State Update Candidate
↓
StateEngine
↓
Verified State
最终形成:
Action→Execution→Result→Feedback→State→Memory→Experience→Learning→DecisionAction \rightarrow Execution \rightarrow Result \rightarrow Feedback \rightarrow State \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Decision
FeedbackEngine因此成为ICAI中连接执行事实与认知更新的关键Engine。
它不生成虚构结果,不替代DecisionEngine,不替代DiagnosisEngine,也不直接承担Learning,而是严格依据实际Execution、Result、State、Condition、Rule和Evidence进行离散计算。
整个机制仍然建立在:
PHP OOP
+
Object
+
State
+
Rule
+
Condition
+
Discrete Calculation
+
Execution
+
Result
+
Verification
之上,不需要LLM、Transformer、Embedding、Vector Search、Prompt Engineering、神经网络或LLM API。
这里建议把“结果状态”和“反馈分类”彻底统一,否则第201章继续扩展后会出现 Success / Equal / Completed / Normal / Changed / Failed 多套状态并行、语义重叠的问题。
在ICAI中最好采用 三层结构:
Result State
↓
Result Judgment
↓
Feedback Classification
其中“状态”描述事实生命周期,“判断”描述预期与实际的比较,“分类”描述反馈进入哪一种认知处理路径。
1. 统一结果状态
建议统一为:
| Result State | 中文 | 含义 |
|---|---|---|
Created |
已创建 | 结果对象已经建立 |
Pending |
待确认 | 已产生结果,但尚未完成判断 |
Running |
执行中 | 对应执行过程仍未结束 |
Completed |
已完成 | 执行过程正常结束 |
Failed |
失败 | 执行过程明确失败 |
Cancelled |
已取消 | 执行被主动取消 |
Blocked |
已阻止 | 因条件、规则、资源等原因没有执行 |
Partial |
部分完成 | 只有部分预期结果实现 |
Unknown |
未知 | 无法确认实际结果 |
Invalid |
无效 | 结果结构或证据不合法 |
Verified |
已验证 | 结果已经通过验证 |
Rejected |
已拒绝 | 结果未通过验证或规则检查 |
这里要特别区分:
Completed ≠ Verified
Completed只说明执行结束。
Verified说明结果经过验证并被系统确认。
因此可以出现:
Completed → Verified
Completed → Rejected
Completed → Unknown
2. 统一结果判断
Result State解决“结果处于什么状态”。
但是还需要解决:
实际结果与预期结果是什么关系?
因此单独建立 ResultJudgment:
Equal
Partial
Different
Failed
Unknown
NotApplicable
对应:
| Judgment | 中文 | 含义 |
|---|---|---|
Equal |
一致 | Actual = Expected |
Partial |
部分一致 | 部分符合预期 |
Different |
不一致 | 正常产生结果,但与预期不同 |
Failed |
失败 | 执行或结果明确失败 |
Unknown |
未知 | 无法进行可靠比较 |
NotApplicable |
不适用 | 当前不存在可比较的预期结果 |
这样就不会再把:
Equal
Success
Normal
Completed
混成一个概念。
例如:
Result State = Completed
Result Judgment = Equal
Verification = Verified
表示:
执行已经完成,实际结果与预期一致,并且已经验证。
3. 统一反馈分类
Feedback分类建议不要继续使用大量互相重叠的状态,而是统一成以下六类:
NORMAL
PARTIAL
DIFFERENT
FAILED
STATE_CHANGE
ABNORMAL
其中:
NORMAL
表示结果正常且符合预期。
Completed
+
Equal
+
Verified
→ NORMAL
PARTIAL
表示部分结果符合预期。
Completed
+
Partial
→ PARTIAL
DIFFERENT
表示执行完成,但实际结果与预期不同。
Completed
+
Different
→ DIFFERENT
FAILED
表示执行过程明确失败。
Failed
→ FAILED
STATE_CHANGE
表示反馈的重要信息是状态发生了变化。
注意,它不是异常状态,而是一个反馈维度。
例如:
pending → processing
可以同时具有:
Result State = Completed
Result Judgment = Equal
Feedback Classification = NORMAL
State Change = Changed
因此 STATE_CHANGE 不应该与 NORMAL / FAILED 完全处于同一语义层。
ABNORMAL
表示发现需要进一步处理的异常事实。
例如:
Completed
+
Different
+
违反正常条件
→ ABNORMAL
4. 最终建议采用“四元统一模型”
第201章后续最好统一成:
FeedbackResult=(RS,RJ,FC,SC)FeedbackResult=(RS,RJ,FC,SC)
其中:
- RSRS:Result State,结果状态;
- RJRJ:Result Judgment,结果判断;
- FCFC:Feedback Classification,反馈分类;
- SCSC:State Change,状态变化。
即:
Result
↓
Result State
↓
Result Judgment
↓
Feedback Classification
↓
State Change
例如一个正常动作:
Result State = Completed
Result Judgment = Equal
Feedback Classification = Normal
State Change = Changed
Verification = Verified
一个失败动作:
Result State = Failed
Result Judgment = Failed
Feedback Classification = Failed
State Change = NoChange
Verification = Failed
一个部分完成动作:
Result State = Partial
Result Judgment = Partial
Feedback Classification = Partial
State Change = Changed
Verification = Unverified
一个结果无法确认的动作:
Result State = Unknown
Result Judgment = Unknown
Feedback Classification = Abnormal
State Change = Unknown
Verification = Unverified
5. 统一后的完整状态链
这样第199~201章可以统一成:
Behavior
↓
Action
↓
Execution
↓
Result
├── Result State
├── Result Judgment
├── Verification
└── Evidence
↓
Feedback
├── Feedback Classification
├── State Change
└── Environment Change
↓
StateEngine
↓
New State
最终形成:
Execution→ResultState→ResultJudgment→FeedbackClassification→StateChange→StateUpdateExecution \rightarrow ResultState \rightarrow ResultJudgment \rightarrow FeedbackClassification \rightarrow StateChange \rightarrow StateUpdate
这个统一之后,后面的 RiskEngine、ConflictEngine、DiagnosisEngine、MemoryEngine、LearningEngine 都可以直接消费统一结果,不需要各自重新定义 success/failure/normal/error 等状态。
尤其建议确定一个原则:
Result State描述“结果现在处于什么状态”;Result Judgment描述“结果与预期是什么关系”;Feedback Classification描述“反馈应该进入什么处理路径”;State Change描述“系统状态发生了什么变化”。
这样四者职责不会重叠。
这里建议把“结果状态”和“反馈分类”彻底统一,否则第201章继续扩展后会出现 Success / Equal / Completed / Normal / Changed / Failed 多套状态并行、语义重叠的问题。
在ICAI中最好采用 三层结构:
Result State
↓
Result Judgment
↓
Feedback Classification
其中“状态”描述事实生命周期,“判断”描述预期与实际的比较,“分类”描述反馈进入哪一种认知处理路径。
1. 统一结果状态
建议统一为:
| Result State | 中文 | 含义 |
|---|---|---|
Created |
已创建 | 结果对象已经建立 |
Pending |
待确认 | 已产生结果,但尚未完成判断 |
Running |
执行中 | 对应执行过程仍未结束 |
Completed |
已完成 | 执行过程正常结束 |
Failed |
失败 | 执行过程明确失败 |
Cancelled |
已取消 | 执行被主动取消 |
Blocked |
已阻止 | 因条件、规则、资源等原因没有执行 |
Partial |
部分完成 | 只有部分预期结果实现 |
Unknown |
未知 | 无法确认实际结果 |
Invalid |
无效 | 结果结构或证据不合法 |
Verified |
已验证 | 结果已经通过验证 |
Rejected |
已拒绝 | 结果未通过验证或规则检查 |
这里要特别区分:
Completed ≠ Verified
Completed只说明执行结束。
Verified说明结果经过验证并被系统确认。
因此可以出现:
Completed → Verified
Completed → Rejected
Completed → Unknown
2. 统一结果判断
Result State解决“结果处于什么状态”。
但是还需要解决:
实际结果与预期结果是什么关系?
因此单独建立 ResultJudgment:
Equal
Partial
Different
Failed
Unknown
NotApplicable
对应:
| Judgment | 中文 | 含义 |
|---|---|---|
Equal |
一致 | Actual = Expected |
Partial |
部分一致 | 部分符合预期 |
Different |
不一致 | 正常产生结果,但与预期不同 |
Failed |
失败 | 执行或结果明确失败 |
Unknown |
未知 | 无法进行可靠比较 |
NotApplicable |
不适用 | 当前不存在可比较的预期结果 |
这样就不会再把:
Equal
Success
Normal
Completed
混成一个概念。
例如:
Result State = Completed
Result Judgment = Equal
Verification = Verified
表示:
执行已经完成,实际结果与预期一致,并且已经验证。
3. 统一反馈分类
Feedback分类建议不要继续使用大量互相重叠的状态,而是统一成以下六类:
NORMAL
PARTIAL
DIFFERENT
FAILED
STATE_CHANGE
ABNORMAL
其中:
NORMAL
表示结果正常且符合预期。
Completed
+
Equal
+
Verified
→ NORMAL
PARTIAL
表示部分结果符合预期。
Completed
+
Partial
→ PARTIAL
DIFFERENT
表示执行完成,但实际结果与预期不同。
Completed
+
Different
→ DIFFERENT
FAILED
表示执行过程明确失败。
Failed
→ FAILED
STATE_CHANGE
表示反馈的重要信息是状态发生了变化。
注意,它不是异常状态,而是一个反馈维度。
例如:
pending → processing
可以同时具有:
Result State = Completed
Result Judgment = Equal
Feedback Classification = NORMAL
State Change = Changed
因此 STATE_CHANGE 不应该与 NORMAL / FAILED 完全处于同一语义层。
ABNORMAL
表示发现需要进一步处理的异常事实。
例如:
Completed
+
Different
+
违反正常条件
→ ABNORMAL
4. 最终建议采用“四元统一模型”
第201章后续最好统一成:
FeedbackResult=(RS,RJ,FC,SC)FeedbackResult=(RS,RJ,FC,SC)
其中:
- RSRS:Result State,结果状态;
- RJRJ:Result Judgment,结果判断;
- FCFC:Feedback Classification,反馈分类;
- SCSC:State Change,状态变化。
即:
Result
↓
Result State
↓
Result Judgment
↓
Feedback Classification
↓
State Change
例如一个正常动作:
Result State = Completed
Result Judgment = Equal
Feedback Classification = Normal
State Change = Changed
Verification = Verified
一个失败动作:
Result State = Failed
Result Judgment = Failed
Feedback Classification = Failed
State Change = NoChange
Verification = Failed
一个部分完成动作:
Result State = Partial
Result Judgment = Partial
Feedback Classification = Partial
State Change = Changed
Verification = Unverified
一个结果无法确认的动作:
Result State = Unknown
Result Judgment = Unknown
Feedback Classification = Abnormal
State Change = Unknown
Verification = Unverified
5. 统一后的完整状态链
这样第199~201章可以统一成:
Behavior
↓
Action
↓
Execution
↓
Result
├── Result State
├── Result Judgment
├── Verification
└── Evidence
↓
Feedback
├── Feedback Classification
├── State Change
└── Environment Change
↓
StateEngine
↓
New State
最终形成:
Execution→ResultState→ResultJudgment→FeedbackClassification→StateChange→StateUpdateExecution \rightarrow ResultState \rightarrow ResultJudgment \rightarrow FeedbackClassification \rightarrow StateChange \rightarrow StateUpdate
这个统一之后,后面的 RiskEngine、ConflictEngine、DiagnosisEngine、MemoryEngine、LearningEngine 都可以直接消费统一结果,不需要各自重新定义 success/failure/normal/error 等状态。
尤其建议确定一个原则:
Result State描述“结果现在处于什么状态”;Result Judgment描述“结果与预期是什么关系”;Feedback Classification描述“反馈应该进入什么处理路径”;State Change描述“系统状态发生了什么变化”。
这样四者职责不会重叠。