第232章 Cognitive Controller|认知控制器
232.1 认知控制器的定义
在认知系统中,Model 负责保存认知状态,View 负责表达认知结果,而 Controller 负责决定认知系统下一步做什么。
因此,Cognitive Controller(认知控制器)不是普通的软件控制器,也不仅仅是一个流程调度器。
它承担的是:
根据当前认知状态、输入信息、目标、规则和反馈,决定下一步认知动作。
可以形式化为:
Controller=f(Input,Model,Goal,Rule,Feedback)Controller = f(Input, Model, Goal, Rule, Feedback)
输出:
Action=Controller(Input,Model,Goal,Rule,Feedback)Action = Controller(Input, Model, Goal, Rule, Feedback)
因此,认知控制器本质上是连接:
感知 → 认知模型 → 决策 → 行动 → 反馈
的中间控制机制。
232.2 MVC中的认知控制器
上一章提出:
Cognitive System=Model+Controller+View+FeedbackCognitive\ System = Model + Controller + View + Feedback
其中:
| MVC | 认知系统 |
|---|---|
| Model | Cognitive Model |
| Controller | Cognitive Controller |
| View | Cognitive View |
| User/Input | Cognitive Input |
| Feedback | Cognitive Feedback |
传统 MVC Controller 主要处理:
用户请求 → 调用业务逻辑 → 返回页面
而认知控制器处理的是:
输入 → 判断当前认知状态 → 选择认知路径 → 执行认知操作 → 更新状态 → 产生输出
因此二者虽然具有结构上的相似性,但认知控制器具有更强的状态性、目标性、条件性和反馈性。
232.3 Cognitive Controller不是简单的流程控制
普通程序中的流程控制通常是:
A
↓
B
↓
C
↓
D
这是确定性的程序流程。
认知控制则可能是:
Input
↓
Perception
↓
State
↓
判断
├── 已知 → Retrieve
├── 不确定 → Analyze
├── 缺失 → Learn
├── 需要生成 → Generate
└── 需要行动 → Execute
因此:
认知控制器不是预先规定所有步骤,而是根据当前状态选择处理路径。
这也是认知系统区别于普通内容处理程序的重要地方。
232.4 认知控制器的输入
认知控制器并不是孤立工作的。
它至少需要读取以下信息:
1. Input
外部输入:
用户问题
数据
事件
环境变化
系统请求
2. Cognitive Model
当前认知模型:
Entities
Objects
Elements
Attributes
Relations
States
Memory
Knowledge
Experience
3. Goal
当前目标:
识别
理解
查询
判断
学习
生成
决策
执行
4. Rules
系统规则:
判断规则
优先级规则
约束规则
安全规则
业务规则
认知规则
5. Feedback
过去动作产生的反馈:
正确
错误
成功
失败
用户评价
环境变化
结果变化
因此可以形成:
Ct=f(It,Mt,Gt,Rt,Ft−1)C_t = f(I_t,M_t,G_t,R_t,F_{t-1})
其中:
- ItI_t:当前输入
- MtM_t:当前认知模型
- GtG_t:当前目标
- RtR_t:规则
- Ft−1F_{t-1}:历史反馈
232.5 认知控制器的核心任务
认知控制器至少承担六类任务。
1. State Selection|状态选择
首先判断系统当前处于什么状态。
例如:
Unknown
Known
Analyzing
Learning
Generating
Executing
Waiting
Completed
控制器根据状态决定下一步操作。
2. Path Selection|路径选择
同一个输入可能存在不同认知路径。
例如用户提出:
“这个产品适合美国市场吗?”
系统可能选择:
Question
↓
Product Recognition
↓
Specification Retrieval
↓
Market Matching
↓
Application Analysis
↓
Decision
而不是直接生成文本。
因此:
Controller决定走哪条认知路径。
3. Operation Selection|操作选择
控制器决定具体执行什么操作:
READ
MATCH
RETRIEVE
COMPARE
ANALYZE
LEARN
GENERATE
VALIDATE
STORE
例如:
Knowledge exists
↓
RETRIEVE
如果不存在:
Knowledge missing
↓
LEARN
4. Resource Selection|资源选择
认知控制器还需要决定使用什么知识资源。
例如:
Memory
Knowledge Base
Database
Knowledge Graph
External Source
API
Search
Model
因此:
Resource=Controller(State,Goal)Resource = Controller(State, Goal)
不同任务可能使用不同资源。
5. Output Selection|输出选择
控制器决定最终应该产生什么形式的结果:
Answer
JSON
Report
Web Content
Knowledge Graph
API Response
Action
这正好对应上一章中的:
View
因此 Controller 并不负责“成为 View”,而是决定:
应该产生什么 View。
6. Learning Control|学习控制
认知系统不能永远重复同样的处理。
当控制器发现:
Knowledge Missing
可以进入:
Learning
当发现:
Prediction Error
可以进入:
Model Update
因此:
Feedback→Controller→LearningFeedback \rightarrow Controller \rightarrow Learning
最终:
Learning→ModelLearning \rightarrow Model
形成认知闭环。
232.6 Cognitive Controller的基本结构
可以将认知控制器抽象为:
Cognitive Input
│
▼
┌─────────────────┐
│ State Detector │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Goal Evaluator │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Path Selector │
└────────┬────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
Retrieve Analyze Learn
│ │ │
└────────────┼────────────┘
▼
┌─────────────────┐
│ Action Selector │
└────────┬────────┘
│
▼
Output
│
▼
Feedback
│
└──────→ Controller
这个结构说明:
认知控制器不是单一函数,而是一组围绕“下一步做什么”组织起来的控制机制。
232.7 Controller与Model的关系
Model和Controller必须明确分离。
Model回答:
“我现在知道什么?”
Controller回答:
“基于现在知道的东西,下一步应该做什么?”
例如:
Model:
Product = Electric Toothbrush
Battery = 120 min
Waterproof = IPX7
Modes = 5
Controller接收到:
用户问题:
Is this toothbrush suitable for travel?
Controller可能决定:
读取 Battery
读取 Charging
读取 Size
读取 Waterproof
读取 Travel Application
然后进入:
Comparison
↓
Assessment
↓
Answer
因此:
Model=Knowledge StateModel = Knowledge\ State Controller=Cognitive Action SelectionController = Cognitive\ Action\ Selection
二者不能混为一体。
232.8 Controller与Knowledge的关系
认知控制器本身也不等于知识。
例如:
Knowledge:
IPX7 = waterproof protection level
这是知识。
而:
如果用户询问防水能力
→ 查询IP等级
这是控制规则。
所以:
Knowledge告诉系统“是什么”,Controller决定“什么时候使用什么”。
可以表示为:
Knowledge→WhatKnowledge \rightarrow What Controller→When/HowController \rightarrow When/How
232.9 Controller与Decision的关系
Controller也不完全等于 Decision。
两者可以区分为:
Controller
决定:
是否需要进行判断?
以及:
使用什么判断路径?
Decision
产生:
判断结果是什么?
例如:
Controller
↓
发现需要比较两个产品
↓
调用 Comparison
↓
Decision
↓
Product A is more suitable
因此:
Controller≠DecisionController \neq Decision
Controller负责控制认知过程。
Decision负责产生判断结果。
232.10 Controller与Generator的关系
在内容系统中,这一区别尤其重要。
Generator负责:
生成内容。
Controller负责:
决定是否生成、生成什么、使用什么数据、采用什么结构。
例如:
Controller
↓
判断目标 = Product Page
↓
读取 Product Model
↓
选择 Product Template
↓
调用 Generator
↓
生成页面
因此:
Controller→GeneratorController \rightarrow Generator
而不是:
Generator=ControllerGenerator = Controller
232.11 Cognitive Controller与状态机
认知控制器天然适合与状态机结合。
例如:
INPUT
↓
PERCEIVED
↓
IDENTIFIED
↓
UNDERSTOOD
↓
RETRIEVING
↓
ANALYZING
↓
DECIDING
↓
GENERATING
↓
VALIDATING
↓
OUTPUT
如果发生知识缺失:
ANALYZING
↓
Knowledge Missing
↓
LEARNING
↓
MODEL UPDATE
↓
ANALYZING
因此:
Controller+StateMachineController + StateMachine
可以构成认知系统的重要执行骨架。
232.12 Cognitive Controller与反馈
没有反馈的控制器只能进行一次性处理。
有反馈以后:
Action
↓
Result
↓
Feedback
↓
Controller
↓
Next Action
这形成:
Actiont→FeedbacktAction_t \rightarrow Feedback_t Feedbackt→Controllert+1Feedback_t \rightarrow Controller_{t+1}
因此认知控制具有时间维度。
它不是:
Input→OutputInput \rightarrow Output
而是:
Inputt→Actiont→Feedbackt→Actiont+1Input_t \rightarrow Action_t \rightarrow Feedback_t \rightarrow Action_{t+1}
这使认知系统从静态处理器转变为动态系统。
232.13 Cognitive Controller与学习系统
学习系统与认知控制器之间存在重要关系。
传统学习系统:
Data
↓
Training
↓
Model
而认知学习系统可以进一步形成:
Experience
↓
Feedback
↓
Error Detection
↓
Controller
↓
Learning Decision
↓
Knowledge / Model Update
这里最重要的变化是:
学习不再只是数据进入模型,而成为认知控制器可以主动触发的一种认知行为。
例如:
Unknown Entity
↓
Controller
↓
Learning Required
↓
Learning System
↓
New Knowledge
↓
Model Update
232.14 Cognitive Controller与WSaiOS
在WSaiOS体系中,可以进一步形成:
WSaiOS
│
┌─────────┴─────────┐
│ │
Cognitive Model Cognitive Controller
│ │
│ ┌──────┼──────┐
│ │ │ │
│ Retrieve Analyze Learn
│ │ │ │
└────────────┴──────┴──────┘
│
▼
Generator
│
▼
View
│
▼
Feedback
│
└────→ Learning
这使WSaiOS的核心结构进一步明确:
WSaiOS=Model+Controller+Memory+Learning+Generator+View+FeedbackWSaiOS = Model + Controller + Memory + Learning + Generator + View + Feedback
232.15 Controller是认知系统的“执行中枢”
如果把认知系统比作一个组织:
Model = 认知记忆
Memory = 经验保存
Controller = 控制中枢
Generator = 表达能力
View = 外部表现
Feedback = 环境反馈
Learning = 自我更新
Controller并不拥有全部知识,也不负责全部计算。
它的核心职责只有一个:
根据当前认知状态决定下一步认知行为。
这实际上是认知系统能够连续运行的关键。
232.16 Cognitive Controller的最小形式
一个最小认知控制器可以抽象为:
def controller(input, model, goal):
state = detect_state(input, model)
action = select_action(
state=state,
goal=goal,
model=model
)
return action
进一步形成:
while True:
input = perceive()
state = model.update_state(input)
action = controller(
input,
model,
goal
)
result = execute(action)
feedback = evaluate(result)
model.update(feedback)
其本质不是代码本身,而是:
Perception→State→Control→Action→Feedback→State′Perception \rightarrow State \rightarrow Control \rightarrow Action \rightarrow Feedback \rightarrow State’
232.17 Cognitive Controller的核心原则
认知控制器可以归纳为七条原则:
原则一:状态驱动
控制行为由当前认知状态决定。
原则二:目标驱动
控制路径必须服务于当前目标。
原则三:知识驱动
控制器必须根据已有知识选择处理方式。
原则四:规则约束
控制行为受到规则和约束限制。
原则五:动态选择
不是所有输入都走同一条处理路径。
原则六:反馈修正
结果会影响下一次控制。
原则七:学习扩展
当现有认知能力不足时,可以触发学习。
232.18 Cognitive Controller的最终模型
综合以上内容,可以形成:
Input
│
▼
┌───────────┐
│ Perception│
└─────┬─────┘
│
▼
┌─────────────────┐
│ Cognitive Model │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Controller │
│ │
│ State Detection │
│ Goal Evaluation │
│ Path Selection │
│ Resource Select │
│ Action Selection│
└────────┬────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Retrieve Analyze Learn
│ │ │
└─────────────┼─────────────┘
▼
Action
│
▼
View
│
▼
Environment
│
▼
Feedback
│
▼
Learning
│
▼
Model Update
最终可以定义:
Cognitive Controller=State+Goal+Rule+Path+Action+Feedback\boxed{ Cognitive\ Controller = State + Goal + Rule + Path + Action + Feedback }
而整个认知循环可以表示为:
Perception→Model→Controller→Action→Feedback→Learning→Model′\boxed{ Perception \rightarrow Model \rightarrow Controller \rightarrow Action \rightarrow Feedback \rightarrow Learning \rightarrow Model’ }
232.19 本章核心结论
Cognitive Controller|认知控制器是认知架构中负责“下一步做什么”的核心机制。
它不等于知识,不等于模型,不等于决策,也不等于生成器。
它连接:
当前认知状态、目标、知识、规则、行动和反馈。
因此可以将其定义为:
认知控制器是根据当前认知状态、目标、知识、规则与反馈,动态选择认知路径、认知操作和下一步行动的控制机制。
进一步地:
Model回答“我知道什么”\boxed{ Model回答“我知道什么” } Controller回答“下一步做什么”\boxed{ Controller回答“下一步做什么” } Learning回答“我如何改变自己”\boxed{ Learning回答“我如何改变自己” } View回答“我如何表达出来”\boxed{ View回答“我如何表达出来” }
由此,上一章的 MVC Cognitive Architecture 在本章进一步获得了真正的“动态控制核心”:Model提供认知状态,Controller驱动认知过程,View表达认知结果,Feedback推动系统持续变化。