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

第193章 CapabilityEngine

第193章 CapabilityEngine

在 ICAI 的认知工程体系中,能力是连接“个体当前状态”和“实际可执行方法”的重要中间层。

第159章已经定义了 Capability(能力):

C=(T,Co,S,R,V)C=(T,Co,S,R,V)

其中:

  • TT = Type,能力类型;
  • CoCo = Condition,能力成立条件;
  • SS = State,能力当前状态;
  • RR = Range,能力适用范围;
  • VV = Verification,能力验证状态。

Capability 回答的是:

当前这个 Individual、Object 或系统,是否具备完成某项任务所需要的能力?

而第176章的 CapabilityService 负责能力对象的读取、匹配、验证、更新以及服务层编排。

本章进一步进入 Engine 层,建立 CapabilityEngine(能力计算引擎)

CapabilityEngine 的核心职责不是保存能力,也不是执行行为,而是对能力进行:

CapabilityCalculation+CapabilityMatching+CapabilityVerification\boxed{ CapabilityCalculation+ CapabilityMatching+ CapabilityVerification }

即:

能力计算 + 能力匹配 + 能力验证。

它负责根据对象、状态、知识、条件、范围、资源和实际执行证据,计算当前能力是否成立、是否适用,以及实际执行是否证明该能力真实存在。


193.1 Capability 的基本定义

能力不是一个简单的布尔值。

不能简单定义:

can = true

因为一个能力通常具有:

  • 类型;
  • 成立条件;
  • 当前状态;
  • 适用范围;
  • 验证依据。

因此:

Capability=(Type,Condition,State,Range,Verification)Capability=(Type,Condition,State,Range,Verification)

例如:

Individual A
Capability:
Process Order

Condition:
Order data is complete

State:
Available

Range:
Orders <= 1000/day

Verification:
Verified

这比:

A can process orders

具有更准确的工程含义。

因为能力可能:

存在

但:

当前不可用

也可能:

能够处理

但:

超过能力范围

因此:

CapabilityExists≠CapabilityAvailableCapabilityExists \neq CapabilityAvailable

同时:

CapabilityAvailable≠CapabilityVerifiedCapabilityAvailable \neq CapabilityVerified


193.2 CapabilityEngine 的定义

CapabilityEngine 是根据当前对象、状态、条件、知识、范围和验证证据,对能力进行确定性计算、匹配和验证的 Engine。

可以定义:

CE=(C,O,S,K,M,R,V,D)CE=(C,O,S,K,M,R,V,D)

其中:

  • CC = Capability;
  • OO = Object;
  • SS = State;
  • KK = Knowledge;
  • MM = Method;
  • RR = Range;
  • VV = Verification;
  • DD = Discrete Calculation。

CapabilityEngine 的基本输入:

Input=(C,O,S,K,Co,R,E,T)Input=(C,O,S,K,Co,R,E,T)

其中:

  • CC = 当前能力;
  • OO = 当前对象;
  • SS = 当前状态;
  • KK = 相关知识;
  • CoCo = 能力条件;
  • RR = 能力范围;
  • EE = 实际证据;
  • TT = 时间。

输出:

CapabilityResult=(Calc,Match,Verify,State,Evidence,Change,T)CapabilityResult= (Calc,Match,Verify,State,Evidence,Change,T)

即:

  • 能力计算结果;
  • 能力匹配结果;
  • 能力验证结果;
  • 能力状态;
  • 验证证据;
  • 能力变化;
  • 计算时间。

193.3 能力计算

能力计算是 CapabilityEngine 的第一项核心职责。

它解决:

根据当前事实,能力是否具备成立的基础?

能力不能凭名称直接判断。

例如:

Capability:
Process Order

不能直接得出:

Available = true

必须计算:

Individual存在
+
Capability类型正确
+
必要条件满足
+
当前状态允许
+
能力范围覆盖目标

可以定义:

CapabilityAvailable=T∧Co∧S∧RCapabilityAvailable= T\land Co\land S\land R

其中:

  • TT = 能力类型成立;
  • CoCo = 条件成立;
  • SS = 当前状态允许;
  • RR = 范围覆盖。

如果还要求经过验证:

CapabilityVerified=T∧Co∧S∧R∧VCapabilityVerified= T\land Co\land S\land R\land V


193.4 能力计算不是能力执行

CapabilityEngine 只计算:

能不能做。

它不负责:

现在就做。

因此:

CapabilityEngine≠BehaviorEngineCapabilityEngine\neq BehaviorEngine

也:

CapabilityEngine≠ActionEngineCapabilityEngine\neq ActionEngine

例如:

Capability:
Repair Device

CapabilityEngine 可以计算:

Capability = Available

但不会执行:

Repair Device

正确链路:

CapabilityEngine→MethodEngine→DecisionEngine→BehaviorEngine→ActionEngineCapabilityEngine \rightarrow MethodEngine \rightarrow DecisionEngine \rightarrow BehaviorEngine \rightarrow ActionEngine


193.5 能力计算的基本输入

CapabilityEngine 的计算至少需要考虑以下信息:

Individual
Object
Capability
State
Condition
Range
Knowledge
Resource
Time
Evidence

可以表示:

Ccalc=F(I,O,C,S,Co,R,K,Res,T,E)C_{calc} = F(I,O,C,S,Co,R,K,Res,T,E)

其中:

  • II = Individual;
  • OO = Object;
  • CC = Capability;
  • SS = State;
  • CoCo = Condition;
  • RR = Range;
  • KK = Knowledge;
  • ResRes = Resource;
  • TT = Time;
  • EE = Evidence。

193.6 能力计算的条件

能力成立通常需要多个条件同时满足。

例如:

Capability:
Operate Machine A

Conditions:
Operator is authorized
Machine is active
Training is verified
Operating range is valid

那么:

CanOperate=Authorization∧MachineActive∧TrainingVerified∧RangeValidCanOperate= Authorization \land MachineActive \land TrainingVerified \land RangeValid

只要其中一个必要条件不满足:

CanOperate=FalseCanOperate=False

但是工程系统不能只返回:

false

还应该知道:

原因:
TrainingVerified = false

因此能力计算结果必须具有可解释性。


193.7 能力计算结果

可以定义:

CapabilityCalculationResult=(T,Co,S,R,V,E,Reason)CapabilityCalculationResult= (T,Co,S,R,V,E,Reason)

其中:

  • TT = 类型结果;
  • CoCo = 条件结果;
  • SS = 状态结果;
  • RR = 范围结果;
  • VV = 验证结果;
  • EE = 证据;
  • ReasonReason = 计算原因。

例如:

Capability:
Process Order

Type:
Matched

Condition:
Matched

State:
Available

Range:
Matched

Verification:
Verified

Result:
Available

如果范围不满足:

Range:
Exceeded

Result:
Unavailable

Reason:
Target quantity exceeds capability range

193.8 能力状态

CapabilityEngine 需要对能力状态进行计算。

可以定义:

Unknown
Unavailable
Available
Blocked
Limited
Expired
Suspended
Verified
Unverified
Invalid

这些状态不是简单标签,而应该由事实计算得到。

例如:

Capability = Available

如果资源被占用:

Capability = Blocked

如果能力范围只有:

0–100

但目标是:

150

则能力本身可能仍然存在:

Capability = Available

但对于当前任务:

Capability Match = Limited / Unmatched

这说明:

能力状态与能力匹配状态不能混为一谈。


193.9 能力范围计算

Range 是 Capability 的重要组成部分。

范围可以表示:

Range=(Min,Max,Unit,Scope)Range=(Min,Max,Unit,Scope)

例如:

Capacity:
1000

Unit:
orders/day

Scope:
Standard Orders

目标:

800 orders/day

则:

800≤1000800\leq1000

范围满足。

如果:

1200 orders/day

则:

1200>10001200>1000

能力范围不覆盖目标。

因此:

RangeMatch(Target,CapabilityRange)→Matched/Partial/UnmatchedRangeMatch(Target,CapabilityRange) \rightarrow Matched/Partial/Unmatched


193.10 能力范围不只是数量

Range 不仅是数量。

还可以包括:

Object Type
Size
Distance
Time
Frequency
Capacity
Environment
Geographic Scope
Operational Scope

例如:

Capability:
Deliver Goods

Range:
Distance <= 50 km
Weight <= 500 kg
Frequency <= 20 orders/day

那么一个任务:

Distance = 30 km
Weight = 300 kg
Frequency = 10/day

属于:

Fully Matched

而:

Distance = 80 km

则:

Range Exceeded

193.11 能力匹配

Capability Matching 是 CapabilityEngine 的第二项核心职责。

它解决:

当前任务、目标或对象需要的能力,与现有能力是否匹配?

基本模型:

Match(Capability,Requirement,Context)→MMatch(Capability,Requirement,Context) \rightarrow M

其中:

  • Capability = 已有能力;
  • Requirement = 能力要求;
  • Context = 当前上下文;
  • M = 匹配结果。

193.12 能力要求

Goal 或 Method 可以提出 Capability Requirement。

可以定义:

CR=(T,C,R,S)CR=(T,C,R,S)

其中:

  • TT = Required Type;
  • CC = Required Condition;
  • RR = Required Range;
  • SS = Required State。

例如:

Goal:
Process 500 orders

Required Capability:
Order Processing

Required Range:
>= 500 orders/day

Required State:
Available

CapabilityEngine 接收这个要求后,与已有能力进行匹配。


193.13 能力匹配维度

能力匹配至少包含:

Type Match
Condition Match
State Match
Range Match
Verification Match
Object Match
Resource Match
Time Match

可以表示:

M=T∧Co∧S∧R∧VM= T\land Co\land S\land R\land V

但实际系统中也需要允许:

Partial

因此可以使用离散匹配状态:

Matched
Partial
Unmatched
Unknown
Blocked
Conflicted
Expired

193.14 能力匹配不是能力计算

两者虽然相关,但职责不同。

能力计算:

这个能力当前是否成立?

能力匹配:

这个能力是否适合当前需求?

例如:

Capability:
Process 1000 orders/day

能力计算结果:

Available

当前 Goal:

Process 500 orders/day

能力匹配:

Matched

如果 Goal:

Process 2000 orders/day

能力本身仍可能:

Available

但是:

Capability Match = Unmatched

因此:

CapabilityAvailable≠CapabilityMatchedCapabilityAvailable \neq CapabilityMatched


193.15 能力匹配的结果模型

可以定义:

CM=(C,CR,M,D,E,T)CM=(C,CR,M,D,E,T)

其中:

  • CC = 当前能力;
  • CRCR = 能力要求;
  • MM = 匹配状态;
  • DD = 差异;
  • EE = 证据;
  • TT = 时间。

例如:

array(
    'capability_id' => 10,
    'requirement_id' => 20,
    'state' => 'partial',
    'difference' => array(
        'required_capacity' => 2000,
        'actual_capacity' => 1000
    )
);

这个结果可以直接交给 MethodEngine 或 DecisionEngine。


193.16 多能力组合

某些目标不能由单一能力完成。

例如:

Goal:
完成设备维修

可能需要:

Capability A:
Diagnosis

Capability B:
Repair

Capability C:
Testing

因此:

RequiredCapability=C1+C2+C3RequiredCapability= C_1+C_2+C_3

CapabilityEngine 可以分别计算:

C1 = Available
C2 = Available
C3 = Unavailable

最终:

GoalCapabilityAvailable=C1∧C2∧C3GoalCapabilityAvailable= C_1\land C_2\land C_3

结果:

Unavailable

原因:

Testing capability unavailable

这为后续 DecisionEngine 提供了明确依据。


193.17 能力依赖

能力之间也可以存在依赖关系。

例如:

Capability A:
Advanced Repair

依赖:

Capability B:
Basic Repair

可以表示:

A→requires→BA\rightarrow requires\rightarrow B

如果:

B=UnavailableB=Unavailable

则:

AA

可能变成:

Blocked

但不能简单认为:

A = Invalid

因为能力本身仍然存在,只是当前依赖条件不满足。


193.18 能力验证

Capability Verification 是 CapabilityEngine 的第三项核心职责。

它解决:

这个能力是否已经被实际事实证明?

这是能力系统最重要的区别之一。

理论上定义一个能力:

Capability:
Process Order

并不能证明:

这个 Individual 真正能够完成订单处理。

只有实际执行产生证据之后,才能验证。

因此:

CapabilityVerification=Execution+Result+Feedback+EvidenceCapabilityVerification= Execution+ Result+ Feedback+ Evidence


193.19 能力验证模型

可以定义:

VC=(C,E,R,F,S,T)V_C=(C,E,R,F,S,T)

其中:

  • CC = Capability;
  • EE = Execution;
  • RR = Result;
  • FF = Feedback;
  • SS = State;
  • TT = Time。

验证流程:

Capability
    ↓
Method
    ↓
Behavior
    ↓
Execution
    ↓
Result
    ↓
Feedback
    ↓
Verification

只有实际执行结果满足要求时:

Capability = Verified

193.20 能力验证不是能力声明

必须区分:

Declared Capability

和:

Verified Capability

例如系统记录:

Individual A
Capability:
Repair Device

这只是:

Declared

如果实际完成:

Device Repair

并且:

Result = Success
Verification = Passed

才可以进入:

Verified

因此:

DeclaredCapability≠VerifiedCapabilityDeclaredCapability \neq VerifiedCapability


193.21 能力验证的证据

验证需要 Evidence。

可以定义:

Evidence=(Source,Type,Value,Time)Evidence=(Source,Type,Value,Time)

例如:

Source:
Execution #1001

Type:
Actual Result

Value:
Repair completed successfully

Time:
2026-09-11

CapabilityEngine 根据证据计算:

Verification = Passed

如果结果不满足:

Verification = Failed

如果证据不足:

Verification = Unknown

193.22 能力验证状态

可以定义:

Unverified
Verified
Failed
Outdated
Invalid
Conflicted
Unknown

其中:

Unverified

只有能力定义,没有实际验证证据。

Verified

实际执行结果满足要求。

Failed

实际执行证明能力不能完成要求。

Outdated

过去验证过,但验证有效期已经过去。

Invalid

能力定义本身已经失效。

Conflicted

存在互相冲突的验证证据。

Unknown

目前无法得出确定结论。


193.23 验证与当前状态

即使能力过去已经验证,也不能永远认为当前可用。

例如:

昨天:
Capability = Verified

今天:

Resource = Unavailable

则:

Capability State = Blocked

而不是:

Capability = permanently available

因此必须区分:

VerificationStateVerificationState

和:

CurrentCapabilityStateCurrentCapabilityState

一个表示:

过去是否被证明。

另一个表示:

当前是否可用。


193.24 能力验证范围

验证也应该具有范围。

例如:

Capability:
Process Orders

Verified Range:
<= 1000 orders/day

这并不能证明:

2000 orders/day

同样可以完成。

因此:

VerifiedRange≠TheoreticalRangeVerifiedRange \neq TheoreticalRange

更准确地表示:

Capability=TheoryRange+VerifiedRangeCapability= TheoryRange+ VerifiedRange

实际匹配时优先使用已经验证的范围。


193.25 能力验证更新

当新的执行结果产生之后,CapabilityEngine 可以计算:

Vt+ΔE→Vt+1V_t+\Delta E\rightarrow V_{t+1}

例如:

原验证范围:
1000/day

实际验证:

1200/day

如果证据充分:

Verified Range
→
1200/day

但不能因为一次异常结果就直接把能力范围修改成更低值。

需要根据:

Evidence
+
Condition
+
Verification
+
History

进行判断。

因此:

CapabilityUpdate≠SimpleOverwriteCapabilityUpdate \neq SimpleOverwrite


193.26 能力失败

如果实际执行失败:

Capability
→
Method
→
Execution
→
Failure

不能立即得出:

Capability = Invalid

因为失败可能来自:

Resource Failure
Environment Failure
Method Failure
Action Failure
Condition Failure
Capability Failure

因此需要:

Failure
→
DiagnosisEngine
→
Cause

如果 DiagnosisEngine 确认:

Capability Cause

才可以进入:

Capability Verification Failed

这体现:

Result≠DiagnosisResult \neq Diagnosis

以及:

Failure≠CapabilityInvalidFailure \neq CapabilityInvalid


193.27 CapabilityEngine 与 DiagnosisEngine

CapabilityEngine 可以发现:

Capability Verification Failed

但不能直接决定:

为什么失败?

例如:

Capability:
Operate Machine

实际失败。

原因可能:

Machine Broken

也可能:

Operator Not Authorized

也可能:

Method Incorrect

因此:

CapabilityEngine→DiagnosisEngineCapabilityEngine \rightarrow DiagnosisEngine

CapabilityEngine 提供证据。

DiagnosisEngine 负责原因分析。


193.28 CapabilityEngine 与 KnowledgeEngine

KnowledgeEngine 可以提供能力计算所需要的知识。

例如:

Knowledge:
Method A requires Capability B

或者:

Knowledge:
Object X supports Operation Y

CapabilityEngine 根据这些知识进一步计算:

Capability Requirement

关系:

KnowledgeEngine→CapabilityEngineKnowledgeEngine \rightarrow CapabilityEngine

但:

Knowledge≠CapabilityKnowledge\neq Capability

Knowledge 描述事实。

Capability 描述能否执行某类操作。


193.29 CapabilityEngine 与 StateEngine

StateEngine 提供当前状态。

例如:

Machine = Active

CapabilityEngine 可以计算:

Operate Machine

是否可用。

因此:

StateEngine→CapabilityEngineStateEngine \rightarrow CapabilityEngine

但是:

Machine Active

并不自动等于:

Operate Machine = Available

还需要:

Authorization
Condition
Range
Verification

等其他条件。


193.30 CapabilityEngine 与 MethodEngine

MethodEngine 需要能力作为方法执行前提。

关系:

Capability→MethodCapability \rightarrow Method

例如:

Method:
Repair Machine

要求:

Capability:
Diagnosis
Capability:
Repair
Capability:
Testing

CapabilityEngine 计算:

C1 = Available
C2 = Available
C3 = Available

MethodEngine 才能判断:

Method = Applicable

因此:

CapabilityEngine→MethodEngineCapabilityEngine \rightarrow MethodEngine


193.31 CapabilityEngine 与 DecisionEngine

当存在多个能力或多个个体时,DecisionEngine 可以使用 CapabilityEngine 的计算结果。

例如:

Individual A
Capability = Available

Individual B
Capability = Available

Individual C
Capability = Blocked

CapabilityEngine 输出三个候选能力状态。

DecisionEngine 再选择:

A

或者:

B

因此:

CapabilityEngine≠DecisionEngineCapabilityEngine\neq DecisionEngine

CapabilityEngine 负责:

谁具备什么能力。

DecisionEngine 负责:

当前应该选择谁或选择哪个方案。


193.32 能力计算的确定性原则

CapabilityEngine 必须保持确定性。

对于相同输入:

I,O,S,K,C,R,VI,O,S,K,C,R,V

在相同规则:

RulesRules

下:

F(Input,Rules)=ResultF(Input,Rules)=Result

应该得到相同结果。

不能通过:

随机选择

或者:

生成式模型

决定能力。

CapabilityEngine 不使用:

  • LLM;
  • Transformer;
  • Embedding;
  • Vector Search;
  • Prompt Engineering;
  • Neural Network;
  • LLM API;
  • 生成式大模型机制。

能力计算来源于:

Object
+
State
+
Condition
+
Range
+
Knowledge
+
Evidence
+
Rule

193.33 PHP OOP 工程实现

CapabilityEngine 可以保持 PHP 5.6 / 7.0 兼容。

基础 Engine:

abstract class Engine
{
    abstract public function calculate($input);
}

CapabilityEngine:

class CapabilityEngine extends Engine
{
    public function calculate($input)
    {
        $capability = isset($input['capability'])
            ? $input['capability']
            : array();

        $state = isset($input['state'])
            ? $input['state']
            : array();

        $condition = isset($input['condition'])
            ? $input['condition']
            : array();

        $range = isset($input['range'])
            ? $input['range']
            : array();

        $evidence = isset($input['evidence'])
            ? $input['evidence']
            : array();

        $calculation = $this->calculateCapability(
            $capability,
            $state,
            $condition,
            $range
        );

        $match = $this->matchCapability(
            $capability,
            isset($input['requirement'])
                ? $input['requirement']
                : array()
        );

        $verification = $this->verifyCapability(
            $capability,
            $evidence
        );

        return new EngineResult(
            true,
            array(
                'calculation' => $calculation,
                'match' => $match,
                'verification' => $verification
            ),
            'capability_calculated'
        );
    }

    protected function calculateCapability(
        $capability,
        $state,
        $condition,
        $range
    ) {
        $typeValid = !empty($capability['type']);
        $stateValid = !empty($state['available']);
        $conditionValid = !empty($condition['valid']);
        $rangeValid = !empty($range['valid']);

        return array(
            'type' => $typeValid,
            'state' => $stateValid,
            'condition' => $conditionValid,
            'range' => $rangeValid,
            'available' => (
                $typeValid &&
                $stateValid &&
                $conditionValid &&
                $rangeValid
            )
        );
    }

    protected function matchCapability(
        $capability,
        $requirement
    ) {
        if (empty($capability) || empty($requirement)) {
            return array(
                'state' => 'unknown'
            );
        }

        if (
            isset($capability['type']) &&
            isset($requirement['type']) &&
            $capability['type'] == $requirement['type']
        ) {
            return array(
                'state' => 'matched'
            );
        }

        return array(
            'state' => 'unmatched'
        );
    }

    protected function verifyCapability(
        $capability,
        $evidence
    ) {
        if (empty($evidence)) {
            return array(
                'state' => 'unverified'
            );
        }

        return array(
            'state' => 'verified'
        );
    }
}

这里的示例重点是 Engine 的职责结构:

Capability
    ↓
Calculate
    ↓
Match
    ↓
Verify
    ↓
EngineResult

实际工程中,条件计算、范围计算、验证规则应进一步拆分为独立 Rule/Engine 组件,而不是全部堆积在一个方法中。


193.34 CapabilityEngine 不负责数据库

CapabilityEngine 不应该直接执行:

mysql_query();

也不应该直接:

INSERT capabilities
UPDATE capabilities
DELETE capabilities

其职责是:

Input
→
Calculation
→
Matching
→
Verification
→
EngineResult

保存由:

CapabilityService
    ↓
CapabilityRepository

完成。


193.35 CapabilityService 与 CapabilityEngine

两者的职责可以明确划分。

CapabilityService:

接收请求
→
加载 Individual
→
加载 Capability
→
加载 State
→
加载 Requirement
→
调用 CapabilityEngine
→
处理结果
→
保存验证结果
→
返回

CapabilityEngine:

读取输入
→
计算能力
→
匹配能力
→
验证能力
→
输出结果

因此:

CapabilityService=OrchestrationCapabilityService=Orchestration CapabilityEngine=ComputationCapabilityEngine=Computation


193.36 CapabilityRepository

Repository 负责能力持久化。

典型结构:

CapabilityService
    ↓
CapabilityRepository
    ↓
MySQL

Repository 可以负责:

find()
findByIndividual()
findByType()
save()
update()
saveVerification()
saveHistory()

但不能把复杂能力计算全部放进 Repository。

否则:

Repository≠PersistenceOnlyRepository\neq PersistenceOnly

就会破坏 Engine 与 Repository 的职责分离。


193.37 数据库结构

Capability 主表:

capabilities

可以包含:

id
individual_id
capability_type
state
verification_state
created_at
updated_at

能力条件:

capability_conditions

包括:

id
capability_id
condition_type
condition_value
state

能力范围:

capability_ranges

包括:

id
capability_id
range_type
min_value
max_value
unit
scope

能力验证:

capability_verifications

包括:

id
capability_id
execution_id
result_id
evidence
verification_state
verified_range
verified_at

能力历史:

capability_history

包括:

id
capability_id
old_state
new_state
change_type
reason
evidence_id
created_at

193.38 能力计算记录

为了实现可审计性,可以增加:

capability_calculations

保存:

id
capability_id
input_context
condition_result
range_result
state_result
calculation_result
created_at

这样可以追踪:

为什么系统认为这个能力当前可用?

答案可以沿着:

Capability
↓
State
↓
Condition
↓
Range
↓
Rule
↓
Evidence
↓
Calculation

逐层追溯。


193.39 能力变化

CapabilityEngine 还应该计算能力变化。

可以定义:

ΔC=Compare(Ct,Ct+1)\Delta C= Compare(C_t,C_{t+1})

变化类型包括:

Created
Activated
Deactivated
Blocked
Unblocked
Expanded
Reduced
Verified
VerificationFailed
Expired
Invalidated
Recovered
NoChange

例如:

Capacity:
1000/day

变成:

Capacity:
1500/day

则:

Range Expanded

如果:

Verification:
Verified → Failed

则:

VerificationFailed

193.40 能力变化与能力更新

必须区分:

Capability Change

和:

Capability Update

Capability Change 表示:

计算发现能力发生了变化。

Capability Update 表示:

经过验证之后,系统实际保存了能力的新状态。

因此:

CalculatedChange≠PersistedUpdateCalculatedChange \neq PersistedUpdate

正确流程:

Capability
    ↓
Calculate
    ↓
Change Candidate
    ↓
Validate
    ↓
Verify
    ↓
Capability Update

193.41 能力验证的闭环

完整能力验证链为:

Capability
    ↓
Capability Requirement
    ↓
Capability Matching
    ↓
Method
    ↓
Decision
    ↓
Behavior
    ↓
Action
    ↓
Execution
    ↓
Result
    ↓
Feedback
    ↓
Capability Verification

验证结果之后:

Verification
    ↓
Capability State Update
    ↓
Capability History
    ↓
Memory
    ↓
Experience
    ↓
Learning

最终:

Learning
    ↓
Capability Update

形成闭环。


193.42 能力验证不是一次性永久结论

能力具有时间属性。

可以定义:

Vt≠Vt+1V_t\neq V_{t+1}

因为:

Individual changed
Object changed
Resource changed
Environment changed
Condition changed
Range changed
Time changed

都可能使原能力失效。

因此:

过去验证通过

不能直接推出:

现在永久有效

CapabilityEngine 必须结合当前状态重新计算。


193.43 能力与场景

第190章 SceneEngine 已经建立当前场景。

CapabilityEngine 可以根据当前场景计算能力适用性:

Scene+Capability+Condition→CapabilityStateScene + Capability + Condition \rightarrow CapabilityState

例如:

Scene:
Machine Active
Temperature Normal
Operator Present
Resource Available

则:

Capability:
Operate Machine

可以计算为:

Available

如果场景变化:

Machine = Offline

则:

Capability:
Operate Machine

变成:

Blocked

因此:

SceneChange→CapabilityRecalculationSceneChange \rightarrow CapabilityRecalculation


193.44 能力与知识

KnowledgeEngine 输出的知识可以作为 CapabilityEngine 的计算依据。

例如:

Knowledge:
Operation A requires Skill B

CapabilityEngine 检查:

Individual A
has Skill B

然后继续判断:

Skill B
State = Verified

最终:

Capability A = Available

所以:

Knowledge→CapabilityCalculationKnowledge \rightarrow CapabilityCalculation

但知识不能直接替代能力。


193.45 能力与风险

能力不足可能成为 Risk。

例如:

Required Capability:
Testing

Current Capability:
Unavailable

则:

Risk:
Testing cannot be completed

CapabilityEngine 提供:

Capability State
Capability Match
Capability Range
Verification State

RiskEngine 再计算:

RiskScore=Probability×ImpactRiskScore= Probability\times Impact

因此:

CapabilityEngine→RiskEngineCapabilityEngine \rightarrow RiskEngine


193.46 能力与冲突

如果 Goal 要求:

Capability A

而当前 Individual:

Capability A = Blocked

则可能产生:

Capability Conflict

CapabilityEngine 提供事实:

Required = Available
Current = Blocked

ConflictEngine 再判断:

Goal vs Capability Conflict

因此:

CapabilityConflict≠CapabilityEngineCapabilityConflict \neq CapabilityEngine

CapabilityEngine 负责计算事实。

ConflictEngine 负责冲突判断。


193.47 能力与决策

DecisionEngine 可以使用多个 CapabilityEngine 结果。

例如:

Candidate A
Capability Match = Full

Candidate B
Capability Match = Partial

Candidate C
Capability Match = Blocked

DecisionEngine 可以依据确定性规则:

Score(Ci)=∑WjVijScore(C_i)= \sum W_jV_{ij}

进行候选选择。

因此:

CapabilityEngine
    ↓
Capability Evidence
    ↓
DecisionEngine
    ↓
Selected Candidate

CapabilityEngine 不直接进行最终方案选择。


193.48 能力计算中的“未知”

ICAI 必须允许:

Unknown

不能把:

没有证据

直接解释成:

没有能力

例如:

Capability:
Operate Device

但系统没有验证记录。

正确:

Verification = Unknown / Unverified

而不是:

Capability = Invalid

同样:

Current State Unknown

也不能直接:

Capability = Unavailable

因此:

Unknown≠FalseUnknown\neq False

这是 CapabilityEngine 的重要逻辑原则。


193.49 能力计算中的“不可用”

Unavailable 必须有原因。

例如:

State Blocked

或者:

Condition Failed

或者:

Range Exceeded

或者:

Verification Failed

因此:

Unavailable=Reason+EvidenceUnavailable= Reason + Evidence

而不是简单:

available = 0

193.50 CapabilityEngine 的完整架构

CapabilityEngine 在 ICAI 中的位置可以表示为:

Individual
    ↓
Object
    ↓
State
    ↓
Scene
    ↓
Knowledge
    ↓
CapabilityEngine
    ├── Capability Calculation
    ├── Capability Matching
    └── Capability Verification
    ↓
MethodEngine
    ↓
DecisionEngine
    ↓
BehaviorEngine

其中:

Knowledge

提供认知事实;

Scene

提供当前环境;

State

提供当前状态;

Capability

提供可执行能力;

Method

提供实现路径;

Decision

选择当前方案。


193.51 CapabilityEngine 的完整工作流程

可以统一表示为:

Load Individual
    ↓
Load Object
    ↓
Load Current State
    ↓
Load Scene
    ↓
Load Knowledge
    ↓
Load Capability
    ↓
Load Requirement
    ↓
Calculate Conditions
    ↓
Calculate Range
    ↓
Calculate Current Capability
    ↓
Match Requirement
    ↓
Load Verification Evidence
    ↓
Verify Capability
    ↓
Calculate Capability Change
    ↓
Return EngineResult

如果验证失败:

Verification Failed
    ↓
DiagnosisEngine

如果能力阻塞:

Blocked
    ↓
RiskEngine / ConflictEngine

如果能力满足:

Matched
    ↓
MethodEngine

193.52 CapabilityResult

最终可以定义:

CR=(I,O,C,Co,S,R,M,V,E,D,T)CR= (I,O,C,Co,S,R,M,V,E,D,T)

其中:

  • II = Individual;
  • OO = Object;
  • CC = Capability;
  • CoCo = Condition;
  • SS = Current State;
  • RR = Range;
  • MM = Match;
  • VV = Verification;
  • EE = Evidence;
  • DD = Difference;
  • TT = Time。

例如:

array(
    'capability_id' => 101,

    'calculation' => array(
        'available' => true,
        'condition' => true,
        'range' => true,
        'state' => true
    ),

    'match' => array(
        'state' => 'matched'
    ),

    'verification' => array(
        'state' => 'verified'
    ),

    'change' => array(
        'type' => 'no_change'
    )
);

这个结果可以作为 MethodEngine 的输入。


193.53 CapabilityEngine 的确定性闭环

CapabilityEngine 的核心循环可以表示为:

Ct→Calculate→Match→Verify→Compare→Ct+1C_t \rightarrow Calculate \rightarrow Match \rightarrow Verify \rightarrow Compare \rightarrow C_{t+1}

其中:

  • CtC_t = 当前能力;
  • Calculate = 能力计算;
  • Match = 能力匹配;
  • Verify = 能力验证;
  • Compare = 能力比较;
  • Ct+1C_{t+1} = 新能力状态。

如果:

ΔC=0\Delta C=0

则:

No Change

如果:

ΔC≠0\Delta C\neq0

则产生:

Capability Change Candidate

然后交由 Service 层处理实际更新。


193.54 CapabilityEngine 在 ICAI Engine 体系中的意义

经过前面的 Engine:

ObjectEngine→StateEngine→RelationEngine→SceneEngine→KnowledgeEngineObjectEngine \rightarrow StateEngine \rightarrow RelationEngine \rightarrow SceneEngine \rightarrow KnowledgeEngine

系统已经具备:

对象事实
状态事实
关系事实
场景事实
知识事实

CapabilityEngine 在此基础上进一步回答:

在当前对象、当前状态、当前场景和当前知识条件下,当前个体或系统到底具备什么能力?

因此形成:

Knowledge+Scene+State+Condition+Range→CapabilityKnowledge + Scene + State + Condition + Range \rightarrow Capability

这使 Capability 不再是静态配置,而成为一个可以持续计算和验证的动态认知对象。


193.55 本章小结

CapabilityEngine 是 ICAI Engine 层中负责能力计算的核心组件。

其基本能力模型:

Capability=(Type,Condition,State,Range,Verification)\boxed{ Capability=(Type,Condition,State,Range,Verification) }

其三个核心职责:

CapabilityCalculation+CapabilityMatching+CapabilityVerification\boxed{ CapabilityCalculation+ CapabilityMatching+ CapabilityVerification }

能力计算解决:

当前能力是否具备成立条件?

能力匹配解决:

当前能力是否满足当前 Goal、Method 或任务的能力要求?

能力验证解决:

这个能力是否已经被实际执行结果和证据证明?

三者不能混为一谈:

CapabilityExists≠CapabilityAvailableCapabilityExists \neq CapabilityAvailable CapabilityAvailable≠CapabilityMatchedCapabilityAvailable \neq CapabilityMatched CapabilityMatched≠CapabilityVerifiedCapabilityMatched \neq CapabilityVerified

因此,一个完整的能力判断必须经历:

Capability
    ↓
Condition
    ↓
State
    ↓
Range
    ↓
Calculation
    ↓
Matching
    ↓
Actual Execution
    ↓
Result
    ↓
Evidence
    ↓
Verification

最终形成:

Capabilityt→Calculate→Match→Verify→Compare→Capabilityt+1\boxed{ Capability_t \rightarrow Calculate \rightarrow Match \rightarrow Verify \rightarrow Compare \rightarrow Capability_{t+1} }

CapabilityEngine 不执行任务,不负责方法选择,不负责行为执行,也不负责数据库持久化。

其工程职责严格限定为:

Engine=Capability Calculation+Matching+Verification\boxed{ Engine=Capability\ Calculation+Matching+Verification }

最终在 ICAI 总体结构中形成:

Object→State→Relation→Scene→Knowledge→Capability→Method→Decision→Behavior→Action→Execution\boxed{ Object \rightarrow State \rightarrow Relation \rightarrow Scene \rightarrow Knowledge \rightarrow Capability \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Execution }

由此,ICAI 从“知道当前环境是什么”,进一步进入“知道当前能够做什么”的阶段。

整个过程仍然建立在对象、状态、关系、场景、知识、条件、范围、规则、证据和实际执行结果之上,不需要 LLM、Transformer、Embedding、Vector Search、Prompt Engineering、神经网络或其他生成式大模型机制。

Leave a Reply

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