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

第16章 能力结构

第16章 能力结构

在第15章中,我们建立了:

Knowledge
↓
Parameter Extraction
↓
Parameter Assignment
↓
Capability Instance

第16章进一步回答:

一个 Capability 到底由什么组成?

在 WSaiOS-ICAI 中,能力不能只是一个名称,例如:

Movement Capability
Recognition Capability
Grasp Capability
Learning Capability

一个真正可以被认知系统调用的能力,必须具有明确的定义、参数、约束、输入和输出

因此,可以建立基本能力结构:

Capability
│
├── Capability Definition
├── Capability Parameter
├── Capability Constraint
├── Capability Input
└── Capability Output

这五个部分构成 Capability 的基本结构。


16.1 Capability Definition

**Capability Definition(能力定义)**回答的是:

这个能力是什么?

它负责确定能力的身份、类型和基本语义。

例如:

Capability Definition

Name:
Object Recognition

Type:
Perception Capability

Purpose:
Identify an object from available perception data.

一个能力定义可以包含:

CapabilityDefinition
│
├── ID
├── Name
├── Type
├── Description
├── Purpose
├── Target
└── Version

例如:

id = CAP-001
name = ObjectRecognition
type = Perception
target = Object
purpose = Identify Object

Capability Definition 本身并不负责执行。

它只是告诉系统:

“这是一个什么能力”

因此:

Definition = Identity + Meaning

16.2 Capability Parameter

**Capability Parameter(能力参数)**描述能力运行过程中需要使用的变量。

例如:

Object Recognition

可能需要:

image
object_type
feature
confidence_threshold

而移动能力可能需要:

start_position
target_position
speed
direction
distance

因此:

Capability
    ↓
Parameters

能力参数可以进一步定义:

CapabilityParameter
│
├── Name
├── Type
├── Data Type
├── Default Value
├── Current Value
├── Range
└── Source

例如:

Parameter:
speed

Type:
Physical Parameter

Data Type:
Float

Range:
0 ~ 2 m/s

Current Value:
1.5 m/s

这里需要特别区分:

Parameter Definition

和:

Parameter Value

例如:

speed

是参数。

而:

speed = 1.5 m/s

是参数赋值。

这与上一章的:

Parameter Assignment

直接连接。


16.3 Capability Constraint

**Capability Constraint(能力约束)**定义:

能力在什么条件下可以成立、可以运行,以及参数允许达到什么范围。

没有约束的能力是不完整的。

例如:

Movement Capability

存在:

speed <= max_speed
distance <= operating_range

又例如抓取能力:

Grasp Capability

可能存在:

object_weight <= maximum_load
object_position must be reachable
gripper must be available

因此:

Capability Constraint

可以包括:

├── Parameter Constraint
├── State Constraint
├── Object Constraint
├── Scene Constraint
├── Resource Constraint
└── Execution Constraint

例如:

speed <= 2 m/s

属于参数约束。

而:

robot_state = READY

属于状态约束。

再例如:

target_distance <= arm_reach

属于执行范围约束。


16.4 Constraint 的作用

约束并不是为了限制能力本身,而是为了确定:

Capability
    ↓
Can Execute?

因此可以形成:

Input
  ↓
Parameter
  ↓
Constraint Evaluation
  ↓
Valid
 /    \
Yes    No
 ↓      ↓
Execute  Reject

这使能力具备了可判断性

系统不是简单地:

调用能力

而是:

判断能力
↓
确认条件
↓
确定参数
↓
允许执行

这也是 ICAI 与简单函数调用之间的重要区别。


16.5 Capability Input

**Capability Input(能力输入)**定义:

能力启动时需要获得什么信息或对象。

例如:

Object Recognition

输入可能是:

Image

进一步可能包括:

Image
+
Scene
+
Known Objects

移动能力:

Current Position
+
Target Position
+
Environment

抓取能力:

Target Object
+
Object Position
+
Object State

因此:

Capability Input

并不一定等同于参数。

这是一个重要区别。

例如:

Input:
Target Object

而:

Parameter:
grasp_force
grasp_position

输入是能力获得的数据、对象或状态。

参数则是能力运行过程中需要使用的变量。

因此:

Input → Provides Information
Parameter → Controls Processing

二者存在联系,但不能完全等同。


16.6 Capability Output

**Capability Output(能力输出)**定义:

能力执行之后产生什么结果。

例如:

Object Recognition

输出:

Object Identity
Confidence
Object State

移动能力:

Final Position
Movement State
Execution Result

抓取能力:

Grasp State
Object Position
Execution Result

因此:

Capability
      ↓
Execution
      ↓
Output

输出可以进一步成为下一层能力的输入。

例如:

Visual Recognition
        ↓
Object = Cup
        ↓
Grasp Capability Input
        ↓
Grasp
        ↓
Object State = Held

这样不同能力之间就可以形成连续的能力链。


16.7 Capability 的五层结构

因此,一个完整的 Capability 可以表示为:

┌──────────────────────────────┐
│        Capability            │
├──────────────────────────────┤
│ Definition                   │
│                              │
│ Parameter                    │
│                              │
│ Constraint                   │
│                              │
│ Input                        │
│                              │
│ Output                       │
└──────────────────────────────┘

它们分别回答五个问题:

结构 核心问题
Capability Definition 这是什么能力?
Capability Parameter 运行需要哪些变量?
Capability Constraint 在什么条件下成立?
Capability Input 需要获得什么?
Capability Output 最终产生什么?

因此可以形成:

Definition
    ↓
Parameter
    ↓
Constraint
    ↓
Input
    ↓
Capability Processing
    ↓
Output

16.8 一个完整示例:Object Recognition

假设建立一个:

Object Recognition Capability

其结构可以是:

Capability Definition
    name = ObjectRecognition
    type = Perception
    target = Object

参数:

Capability Parameter
    feature_set
    confidence_threshold
    object_category

约束:

Capability Constraint
    input must be valid
    confidence >= threshold

输入:

Capability Input
    image
    scene

输出:

Capability Output
    object
    category
    confidence
    state

于是:

Image
  ↓
Object Recognition Capability
  ↓
Object
  +
Category
  +
Confidence
  +
State

输出的 Object 又可以成为下一项能力的输入:

Object
 ↓
Grasp Capability

这就形成了能力之间的组合关系。


16.9 Capability 不是一个 Function

在传统程序设计中,可以简单表示:

recognize(image)

返回:

object

但是 ICAI 的 Capability 更接近:

Capability
│
├── Definition
├── Input
├── Parameters
├── Constraints
├── Method
├── Behavior
├── Execution
└── Output

所以:

Function

只是一个执行机制。

而:

Capability

是一个完整的认知—执行结构。

可以表示为:

Function
    ↓
Method
    ↓
Capability

或者从能力运行角度:

Capability
    ↓
Method Selection
    ↓
Function / Method Execution

因此 Capability 比 Function 更高一个抽象层级。


16.10 Capability 与 Method 的关系

前面已经定义:

Capability ≠ Method

现在可以进一步明确:

Capability
│
├── Definition
├── Parameters
├── Constraints
├── Input
├── Output
└── Methods
       ├── Method A
       ├── Method B
       └── Method C

一个能力可以拥有多个方法。

例如:

Recognition Capability

可以存在:

Feature Matching
Pattern Matching
Historical Matching
Scene Matching

系统根据:

Input
+
State
+
Constraint
+
Experience

选择适合的方法。

因此:

Capability
    ↓
Method Selection
    ↓
Method

能力负责“能够完成什么”。

方法负责“采用什么方式完成”。


16.11 Capability Input → Output

能力结构最重要的动态关系之一,就是:

Input
   ↓
Capability
   ↓
Output

例如:

Image
   ↓
Object Recognition
   ↓
Object

但是 ICAI 中还应该加入:

Input
   ↓
Parameter Assignment
   ↓
Constraint Evaluation
   ↓
Method Selection
   ↓
Behavior
   ↓
Execution
   ↓
Output

因此完整结构变成:

Input
  ↓
Parameters
  ↓
Constraints
  ↓
Capability
  ↓
Method
  ↓
Behavior
  ↓
Execution
  ↓
Output

这已经开始形成一个真正的能力运行模型


16.12 Capability Output → New Capability Input

能力输出并不是流程终点。

输出可以进入下一能力:

Capability A
    ↓
Output A
    ↓
Input B
    ↓
Capability B
    ↓
Output B

例如:

Visual Perception
      ↓
Object Recognition
      ↓
Object
      ↓
Object Positioning
      ↓
Position
      ↓
Grasp Planning
      ↓
Grasp Parameters
      ↓
Grasp Execution

于是多个能力可以形成:

Capability Chain

进一步形成:

Capability Network

这为后续的复杂行为、任务分解和认知执行提供基础。


16.13 Capability Instance 的结构

结合第15章,可以进一步得到:

Capability Definition
        ↓
Parameter Definition
        ↓
Constraint Definition
        ↓
Input
        ↓
Parameter Assignment
        ↓
Capability Instance

例如:

Capability:
Movement

实例化之后:

Capability Instance
│
├── capability_id = Movement
├── agent_id = Robot-A
├── input
│     ├── start = A
│     └── target = B
│
├── parameters
│     ├── speed = 1.5
│     ├── direction = 63°
│     └── distance = 22.36
│
├── constraints
│     ├── speed <= 2
│     └── obstacle = false
│
└── output
      ├── final_position
      └── execution_state

这时,Capability 已经从抽象定义进入当前场景。


16.14 能力结构的动态化

Capability 不是静态数据表。

在 ICAI 中,它应该随着:

State
Scene
Knowledge
Experience
Feedback

动态变化。

例如:

Capability
    ↓
Current Scene
    ↓
Parameter Assignment
    ↓
Constraint Evaluation
    ↓
Available

场景变化:

Obstacle Appears

于是:

Constraint
    ↓
Invalid

能力状态从:

Available

变成:

Unavailable

当障碍消失:

Unavailable
    ↓
Available

所以能力本身可以成为动态状态对象。


16.15 本章核心模型

第16章最终可以形成 WSaiOS-ICAI 的基础 Capability Model:

                         Capability
                              │
        ┌─────────────────────┼─────────────────────┐
        ↓                     ↓                     ↓
   Definition             Parameter            Constraint
        │                     │                     │
        └─────────────────────┼─────────────────────┘
                              ↓
                            Input
                              ↓
                    Parameter Assignment
                              ↓
                     Capability Instance
                              ↓
                       Method Selection
                              ↓
                           Behavior
                              ↓
                          Execution
                              ↓
                           Output
                              ↓
                    Next Capability Input

由此可以建立一个连续结构:

Knowledge
   ↓
Parameter
   ↓
Capability Definition
   ↓
Capability Instance
   ↓
Method
   ↓
Behavior
   ↓
Action
   ↓
Execution
   ↓
Output
   ↓
Feedback
   ↓
Knowledge / Capability Update

第16章核心结论

能力结构不是一个简单的功能名称,而是由 Capability Definition、Capability Parameter、Capability Constraint、Capability Input 和 Capability Output 共同构成的完整结构。Definition 确定能力是什么,Parameter 描述能力如何被参数化,Constraint 确定能力何时成立,Input 提供能力运行所需的信息,Output 表示能力执行产生的结果。通过这五个结构,抽象能力才能进一步实例化为当前场景中可判断、可调用、可执行的 Capability Instance。

Leave a Reply

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