第182章 RiskConflictService
在 ICAI(Individual Cognitive AI,个体认知人工智能)系统中,系统不能只处理正常执行路径。
一个真实运行的个体,在执行 Goal、Method、Behavior、Action 的过程中,可能出现:
- 当前状态存在潜在危险;
- 两个目标无法同时满足;
- 两个方法存在资源竞争;
- 两个规则相互矛盾;
- 当前环境发生变化;
- 某个能力不足;
- 某个行为继续执行可能导致更严重的问题。
因此,ICAI 必须在正常执行链之外建立风险与冲突处理机制。
第165章已经定义:
Risk = 潜在未来不利事件
Conflict = 两个或多个对象之间无法同时满足的结构关系
并进一步建立:
Risk → Protection
Conflict / Failure → Diagnosis → Repair
第181章又建立了:
Feedback → History → Memory → Experience → Learning Data
因此,第182章需要把这些信息真正连接到 Service 层。
RiskConflictService 的核心职责是:
风险识别 → 风险处理 → 冲突识别 → 冲突处理 → 保护执行 → 后续处理
可以定义为:
RCS = Risk + Conflict + Protection + Handling
其中:
- Risk:风险管理
- Conflict:冲突管理
- Protection:保护管理
- Handling:处理协调
最终形成:
State / Feedback / Experience → RiskConflictService → Risk / Conflict → Protection / Processing → Re-evaluation
一、RiskConflictService定义
RiskConflictService 是 ICAI Service 层中负责接收当前状态、反馈、知识、历史、经验和规则信息,识别潜在风险与结构冲突,并协调保护及后续处理流程的应用服务。
它不是 Risk 对象,也不是 Conflict 对象。
其职责是协调这些对象的生命周期。
因此:
Risk = 风险对象
Conflict = 冲突对象
Protection = 保护对象
RiskConflictService = 风险与冲突处理服务
核心模型:
RCS = (R,C,P,H)
其中:
- R(Risk):风险
- C(Conflict):冲突
- P(Protection):保护
- H(Handling):处理
其完整流程:
Detect → Evaluate → Protect / Process → Update → Re-evaluate
即:
检测 → 评估 → 保护/处理 → 更新 → 重新评估
二、风险
2.1 Risk定义
Risk 是根据当前状态、环境、能力、历史、经验和规则判断出的未来潜在不利事件。
第165章定义:
R = (C,E,P,I,S)
其中:
- C(Condition):风险条件
- E(Event):可能发生的事件
- P(Probability):发生概率
- I(Impact):影响程度
- S(State):风险状态
Risk 的核心问题是:
“如果继续按照当前条件运行,可能发生什么问题?”
因此:
Risk ≠ Failure
Failure 是已经发生的问题。
Risk 是可能发生的问题。
例如:
当前:
Battery = 15%
Task = LongDistanceMove
系统可能识别:
Risk:
Battery不足以完成任务
这时候任务还没有失败。
所以这是:
Risk
而不是:
Failure
三、风险生命周期
Risk 需要具有明确的状态生命周期:
Unknown → Detected → Evaluated → Active → Controlled → Resolved
也可以在检测后被判定为:
Detected → Rejected
例如:
Unknown
↓
Detected
↓
Evaluated
↓
Active
↓
Controlled
↓
Resolved
如果进一步检查发现风险证据不足:
Detected
↓
Rejected
RiskConflictService 不应该简单地把所有异常信息都定义为风险。
风险必须有条件、事件、概率、影响和状态。
四、风险识别
风险识别可以表示为:
Current State + Condition + Rule + Experience → Risk Candidate
例如:
State:
Battery = 15%
Goal:
MoveTo B
Experience:
LongDistanceMove + Battery < 20% → Failure Risk
RiskConflictService 根据规则形成:
RiskCandidate:
Battery insufficient
然后进行风险评估。
五、风险评估
风险评估可以采用明确的离散计算方式:
RiskScore = Probability × Impact
其中:
- Probability:风险发生概率
- Impact:风险发生后的影响程度
例如:
Probability = 0.8
Impact = 0.9
则:
RiskScore = 0.8 × 0.9 = 0.72
可以通过预先定义的规则划分:
0.00 - 0.29 → Low
0.30 - 0.59 → Medium
0.60 - 0.79 → High
0.80 - 1.00 → Critical
这里的计算是确定性的概率或权重计算。
它不是神经网络预测。
也不是大模型推理。
六、风险与Experience
第181章已经建立 Experience。
RiskConflictService 可以读取历史经验进行风险判断:
Current State + Experience → Risk Prediction
例如过去多次出现:
Condition X
+
Method A
+
Resource Low
→
Failure
形成 Experience:
Condition X + Resource Low
→ Method A具有较高失败经验
当前再次出现:
Condition X
Resource Low
Method A
RiskConflictService 可以识别:
Risk:
Method A may fail under current condition
因此经验可以成为风险检测的重要依据。
七、冲突
7.1 Conflict定义
Conflict 是两个或多个目标、条件、状态、方法、行为、资源或规则之间无法同时满足的结构关系。
第165章定义:
C = (O₁,T,O₂,K,S)
其中:
- O₁:对象 A
- T:Conflict Type,冲突类型
- O₂:对象 B
- K:Conflict Condition,冲突条件
- S:Conflict State,冲突状态
Conflict 回答:
“哪些要求不能同时成立?”
例如:
Goal A:
Move to A
Goal B:
Move to B
Condition:
Single robot
如果两个目标要求同一时间占据不同位置,就可能形成:
Goal Conflict
八、冲突类型
RiskConflictService 至少需要识别以下冲突类型:
Goal Conflict
两个目标无法同时完成。
Goal A ↔ Goal B
Condition Conflict
两个条件不能同时成立。
例如:
Temperature > 50
Temperature < 20
State Conflict
对象状态要求互相矛盾。
例如:
Door = Open
Door = Closed
Method Conflict
两个方法对同一资源提出互斥要求。
例如:
Method A requires Resource X
Method B locks Resource X
Action Conflict
两个 Action 无法同时执行。
例如:
MoveLeft
MoveRight
Resource Conflict
多个任务竞争同一个资源。
例如:
Task A → Printer 1
Task B → Printer 1
Rule Conflict
两个规则产生互相矛盾的结论。
例如:
Rule 1 → Allow
Rule 2 → Block
这类冲突尤其需要进入规则诊断。
九、风险与冲突的区别
Risk 和 Conflict 经常同时出现,但不能混为一谈。
例如:
Resource X
↓
Task A needs X
Task B needs X
这是:
Resource Conflict
如果系统继续让两个任务争抢资源,可能发生:
Execution Failure
那么:
Conflict → Risk
也就是说:
Conflict 可以成为 Risk 的来源。
但:
Risk 不一定来自 Conflict。
例如电量过低就是风险,但不一定存在冲突。
因此:
Conflict = 当前结构之间的矛盾关系
Risk = 未来可能发生的不利事件
十、保护
10.1 Protection定义
Protection 是为了避免风险发生、阻止风险扩大或让系统进入安全状态而采取的结构化措施。
第165章定义:
P = (R,C,A,S)
其中:
- R(Risk):风险
- C(Condition):保护条件
- A(Action):保护动作
- S(State):保护状态
保护回答:
“发现风险以后,如何避免问题发生或阻止问题扩大?”
例如:
Risk:
Battery insufficient
Protection:
Stop long-distance movement
状态变为:
Safe / Waiting
十一、Protection不是Repair
这是本章必须严格区分的对象。
Protection 发生在:
问题可能发生之前
Repair 发生在:
问题已经发生之后
因此:
Risk → Protection
而:
Failure → Diagnosis → Repair
例如:
Battery 15%
↓
Risk detected
↓
Protection
↓
Stop task
这是保护。
如果系统已经因为电量不足导致任务失败:
Failure
↓
Diagnosis
↓
Repair
这是修复。
所以:
Protection ≠ Repair
十二、冲突处理
冲突处理不是简单地删除一个对象。
RiskConflictService 首先需要判断冲突类型、对象、条件、优先级和影响。
基本流程:
Conflict Detection → Conflict Classification → Conflict Evaluation → Conflict Handling → Re-evaluation
例如:
Goal A
Goal B
↓
Conflict Detected
↓
Priority Comparison
↓
Select Goal A
↓
Block Goal B
↓
Re-evaluate
冲突处理可能采用:
- 优先级调整
- 延迟一个目标
- 暂停一个行为
- 更换方法
- 更换资源
- 修改执行顺序
- 分解目标
- 取消不可行目标
- 进入人工确认
- 重新进行 Decision
具体采用哪一种,不应该由 RiskConflictService 随意决定,而应该通过规则和 DecisionService 协同完成。
十三、保护处理
风险保护可以表示为:
Risk → Protection Rule → Protection Action → Safe State
例如:
Risk:
Object collision
Protection Rule:
If Distance < Threshold
Protection Action:
StopMovement
Safe State:
Stopped
形成:
Distance < Threshold → StopMovement → Stopped
这是典型的确定性规则。
十四、处理
14.1 Handling定义
Handling 是对已经检测出的 Risk、Conflict 或异常状态进行处理的过程。
它不是单独的认知对象,而是 Service 层的流程协调。
因此:
Handling = Detection + Evaluation + Action + Verification
即:
检测 → 判断 → 处理 → 验证
处理可能进入不同路径:
风险路径
Risk → Protection → Verification
冲突路径
Conflict → Decision / Resolution → Verification
已发生故障路径
Failure → Diagnosis → Repair → Verification
因此 RiskConflictService 不应该把所有问题都统一成一种处理方式。
十五、保护后的验证
保护动作执行完成后,不能直接假定风险已经消失。
例如:
Risk:
Collision
Protection:
StopMovement
不能直接认为:
Risk Resolved
必须实际验证:
Execution
↓
Result
↓
Feedback
↓
State
确认:
Movement = Stopped
Distance = Safe
之后才能:
Risk = Controlled
因此:
Protection Execution ≠ Protection Success
必须:
Protection → Execution → Result → Feedback → Verification
十六、RiskConflictService与StateService
风险和冲突通常会导致状态变化。
例如:
Running
↓
Risk Detected
↓
Protection
↓
Paused
或者:
Running
↓
Conflict Detected
↓
Blocked
但是 RiskConflictService 不应该直接:
$object->state = 'blocked';
正确结构仍然是:
RiskConflictService → StateService → StateEngine
StateEngine 判断:
Running → Blocked
是否合法。
因此:
RiskConflictService负责提出状态变化需求
StateService负责状态生命周期
StateEngine负责状态转换规则
十七、RiskConflictService与DecisionService
某些风险和冲突不能直接通过固定 Protection Action 解决。
例如:
Method A
Risk = High
Method B
Risk = Low
此时需要重新决策:
Risk → Candidate Evaluation → Decision
完整流程:
Goal → Capability → Methods → Risk Evaluation → Decision
DecisionService 可以将风险作为候选方案评价条件。
例如:
Score = Benefit – RiskWeight
或者:
CandidateValid = Capability ∧ Condition ∧ Resource ∧ RiskAcceptable
因此 RiskConflictService 可以向 DecisionService 提供:
- Risk Level
- Risk Score
- Risk State
- Conflict State
- Blocked Candidates
- Protection Requirements
但最终方案选择仍然属于 DecisionService。
十八、RiskConflictService与DiagnosisService
如果问题已经发生:
Failure → Diagnosis
RiskConflictService 可以负责识别:
Failure
并判断:
是否与已知Risk相关?
是否存在Conflict?
是否需要Protection?
是否必须进入Diagnosis?
例如:
Execution Failed
↓
Feedback
↓
Failure
↓
Risk/Conflict Analysis
↓
DiagnosisService
DiagnosisService 再进一步分析原因。
因此:
RiskConflictService负责问题结构入口
DiagnosisService负责原因分析
十九、RiskConflictService与MemoryExperienceService
第181章建立的 Experience 可以反过来影响风险判断。
例如:
Experience:
Condition X
Method A
Failure Risk
当前:
Condition X
Method A
RiskConflictService 可以生成:
Risk Candidate
而新产生的风险处理结果又会形成历史:
Risk Detection
Protection
Result
再进入:
History → Memory → Experience
形成:
Experience → Risk Detection
以及:
Risk Handling → History → Experience
因此风险系统本身也可以形成经验积累。
二十、风险闭环
风险闭环可以定义为:
State → Risk Detection → Risk Evaluation → Protection → Safe State → Re-evaluation
例如:
Battery = 15%
↓
Risk Detection
↓
Risk = BatteryInsufficient
↓
Protection
↓
StopMovement
↓
State = Safe
↓
Re-evaluation
如果风险仍然存在:
Safe State
↓
Risk Re-evaluation
↓
Risk Active
↓
Additional Protection
如果风险已经消失:
Risk
↓
Controlled
↓
Resolved
二十一、冲突闭环
冲突闭环可以定义为:
Conflict Detection → Conflict Evaluation → Resolution → State Update → Re-evaluation
例如:
Goal A
Goal B
↓
Conflict
↓
Priority Evaluation
↓
Goal A Selected
↓
Goal B Paused
↓
State Update
↓
Re-evaluation
如果无法解决:
Conflict
↓
No Valid Resolution
↓
Decision Failure
↓
Human / External Input
注意:
没有可行解决方案也是合法结果。
ICAI 不应该为了保证系统“必须做出决定”而制造一个虚假的解决方案。
二十二、PHP工程结构
RiskConflictService 可以采用 PHP OOP 结构:
class RiskConflictService
{
protected $riskRepository;
protected $conflictRepository;
protected $protectionRepository;
protected $stateService;
public function __construct(
$riskRepository,
$conflictRepository,
$protectionRepository,
$stateService
) {
$this->riskRepository = $riskRepository;
$this->conflictRepository = $conflictRepository;
$this->protectionRepository = $protectionRepository;
$this->stateService = $stateService;
}
public function detectRisk($context)
{
// 风险检测
}
public function evaluateRisk($risk)
{
// 风险评估
}
public function detectConflict($context)
{
// 冲突检测
}
public function handleConflict($conflict)
{
// 冲突处理
}
public function protect($risk)
{
// 保护协调
}
public function process($object)
{
// 综合风险与冲突处理
}
}
Service 本身不应该承担全部规则。
因此进一步可以拆分:
RiskConflictService
↓
RiskEngine
↓
ConflictEngine
↓
ProtectionEngine
↓
StateService
↓
Repository
其中:
RiskEngine 负责风险规则计算。
ConflictEngine 负责冲突检测和关系判断。
ProtectionEngine 负责保护规则。
StateService 负责状态生命周期。
二十三、数据库结构
23.1 risks
id
individual_id
object_id
risk_type
condition
event
probability
impact
risk_score
state
source_type
source_id
created_at
updated_at
用于保存风险对象。
23.2 conflicts
id
object_a_id
object_b_id
conflict_type
condition
state
reason
created_at
updated_at
用于保存冲突对象。
23.3 protections
id
risk_id
condition
action
state
result_id
verification_status
created_at
updated_at
用于保存保护对象。
23.4 risk_history
id
risk_id
action
old_state
new_state
reason
created_at
23.5 conflict_history
id
conflict_id
action
old_state
new_state
reason
created_at
这样可以保证:
Risk History ≠ Conflict History
因为两者是不同的认知对象。
二十四、风险、冲突、保护与处理的对象边界
必须建立明确边界:
| 对象 | 核心问题 |
|---|---|
| Risk | 未来可能发生什么问题 |
| Conflict | 当前哪些结构无法同时满足 |
| Protection | 如何阻止风险发生或扩大 |
| Diagnosis | 已发生问题的原因是什么 |
| Repair | 如何恢复正常状态 |
| Handling | 当前问题应该进入哪条处理流程 |
因此:
Risk → Protection
Conflict → Resolution / Decision
Failure → Diagnosis → Repair
而:
RiskConflictService → 负责协调这些流程
二十五、完整工程链
结合前面章节,可以形成:
Goal
↓
Capability
↓
Method
↓
Decision
↓
Behavior
↓
Action
↓
Execution
↓
Result
↓
Feedback
↓
Risk / Conflict Detection
↓
Protection / Processing
↓
State Update
↓
Verification
↓
History
↓
Memory
↓
Experience
↓
Learning Data
↓
Future Decision
如果出现已经发生的失败,则进入另一条路径:
Execution → Result → Feedback → Failure → Diagnosis → Repair → Verification → State Recovery
因此风险系统不是独立于认知系统之外的“安全插件”。
它本身就是 ICAI 认知闭环的一部分。
二十六、风险与冲突的统一模型
RiskConflictService 可以最终形成统一模型:
RCS = Detect + Evaluate + Protect + Process + Verify
即:
检测 + 评估 + 保护 + 处理 + 验证
进一步表示:
Context → Detection → Risk/Conflict → Evaluation → Protection/Resolution → Execution → Result → Feedback → Verification
这条链具有重要工程意义。
因为系统不能只说:
“发现风险。”
而必须继续回答:
“风险是什么?”
“风险有多大?”
“为什么产生?”
“应该采取什么保护?”
“保护是否真正执行?”
“保护之后是否安全?”
“如果不能保护怎么办?”
“是否需要重新决策?”
因此 RiskConflictService 的目标不是简单地“报错”,而是建立完整的问题控制链。
二十七、本章总结
RiskConflictService 是 ICAI Service 层中负责处理潜在风险、结构冲突以及安全保护流程的重要服务。
它首先从:
State + Feedback + Knowledge + Memory + Experience + Rules
中检测 Risk 和 Conflict。
Risk 用于描述:
未来可能发生的不利事件。
Conflict 用于描述:
当前多个对象、条件、目标、方法、资源或规则之间无法同时满足的结构关系。
发现 Risk 后进入:
Risk → Protection
发现 Conflict 后进入:
Conflict → Resolution / Decision
如果问题已经发生,则进入:
Failure → Diagnosis → Repair
保护和处理完成后必须经过:
Execution → Result → Feedback → Verification
确认实际结果,而不能根据计划直接宣布成功。
因此,本章最终建立:
RiskConflictService = Risk Detection + Conflict Detection + Evaluation + Protection + Processing + Verification
完整闭环为:
State → Risk/Conflict Detection → Evaluation → Protection/Resolution → Execution → Result → Feedback → Verification → State Update
再通过:
History → Memory → Experience → Learning Data
反向增强未来风险判断和决策。
最终形成:
Decision → Behavior → Execution → Result → Feedback → Risk/Conflict → Protection/Processing → Verification → Memory → Experience → Decision
这使 ICAI 不仅具备“完成任务”的能力,还具备:
发现潜在问题、识别结构冲突、主动保护、处理异常、验证处理结果以及从风险历史中形成经验
的完整工程能力。
整个体系仍然建立在:
对象 + 状态 + 关系 + 规则 + 历史 + 记忆 + 经验 + 离散计算
之上,不需要引入 LLM、Transformer、Embedding、Vector Search、神经网络或其他生成式模型机制。
因此,RiskConflictService 在 WSaiOS-ICAI 中的核心定位可以最终概括为:
让认知系统不仅知道“应该做什么”,还能够知道“什么可能出问题、什么彼此冲突、什么时候应该停止、如何保护、如何处理,以及处理之后是否真的恢复正常”。