第163章 Feedback类
163.1 提出背景
在第162章中,已经建立了:
Behavior → Action → Execution → Result → State
但是,一个行为执行完成以后,如果系统仅仅保存Result和State,仍然存在一个重要问题:
执行以后发生的变化,如何重新进入个体认知系统?
例如,个体执行“拿起杯子”的行为。
系统可能得到:
Action = GripCup
Execution = Completed
Result = CupGripped
State = Completed
但是,仅仅知道“动作完成”还不够。
系统还需要知道:
- 杯子是否真的被拿起来;
- 手的位置是否发生变化;
- 杯子的状态是否发生变化;
- 周围环境是否发生变化;
- 原来的目标是否已经达到;
- 当前条件是否仍然满足;
- 是否需要继续执行后续Action。
因此,行为执行之后必须建立一条反向信息通道:
Execution → Result → Feedback → Cognition
这种反向信息传递就是Feedback。
163.2 Feedback概念定义
**Feedback(反馈)**是个体在行为执行之后,对执行结果、个体状态变化以及环境状态变化进行获取、记录、比较和传递的认知信息对象。
Feedback回答的问题是:
“行为执行以后,系统现在获得了什么新的信息?”
因此Feedback不是Result本身。
Result描述:
“这次执行产生了什么结果?”
Feedback描述:
“这个结果以及相关变化对当前系统产生了什么反馈信息?”
可以定义:
F=(R,S,E,C,T)F=(R,S,E,C,T)
其中:
- FF:Feedback,反馈;
- RR:Result Feedback,结果反馈;
- SS:State Feedback,状态反馈;
- EE:Environment Feedback,环境反馈;
- CC:Comparison,反馈比较;
- TT:Time,反馈产生时间。
因此:
Feedback = Result Feedback + State Feedback + Environment Feedback + Comparison
Feedback的核心作用是把行为执行后的变化重新输入认知系统。
形成:
Behavior → Action → Execution → Result → Feedback → Cognition
163.3 Feedback与Result的区别
Feedback最容易与Result混淆。
二者虽然紧密相关,但职责不同。
Result:
执行产生的结果。
Feedback:
系统接收到并处理的执行后信息。
例如:
Action:
LiftCup
Execution:
Completed
Result:
CupLifted
此时Result只是说明:
杯子被抬起。
系统进一步检查:
Expected:
Cup height > original height
Actual:
Cup height = original height + 10cm
形成:
Result Feedback:
CupLifted = True
同时发现:
Hand Position Changed
Cup Position Changed
形成State Feedback。
如果环境中的桌面、其他物体等发生变化,则形成Environment Feedback。
因此:
Result → Feedback
但:
Result ≠ Feedback
Result是执行结果。
Feedback是对结果及相关状态变化的反馈信息。
163.4 Result Feedback
**Result Feedback(结果反馈)**是针对Behavior、Action或Execution实际结果产生的反馈信息。
Result Feedback主要回答:
“执行结果是否达到预期?”
例如:
Expected Result:
Cup Lifted
Actual Result:
Cup Lifted
Feedback:
Success
也可能:
Expected Result:
Cup Lifted
Actual Result:
Cup Not Lifted
Feedback:
Failure
因此Result Feedback可以建立:
Fr=(E,A,C,S)F_r=(E,A,C,S)
其中:
- EE:Expected Result,预期结果;
- AA:Actual Result,实际结果;
- CC:Comparison,比较结果;
- SS:Feedback Status,反馈状态。
比较过程:
Expected Result + Actual Result → Comparison → Result Feedback
例如:
Expected = CupLifted
Actual = CupLifted
Comparison = Equal
Feedback = Success
或者:
Expected = CupLifted
Actual = CupMovedButNotLifted
Comparison = Partial
Feedback = PartialSuccess
因此Result Feedback不能简单使用:
true / false
而应该保留实际结果和比较过程。
163.5 State Feedback
**State Feedback(状态反馈)**是对个体自身状态、对象状态以及行为运行状态变化进行反馈的信息。
第162章已经定义State。
但是State本身只是状态。
Feedback则关注:
状态发生了什么变化。
例如:
Before:
HandPosition = A
CupPosition = B
CupState = Stable
执行:
GripCup → LiftCup
以后:
After:
HandPosition = C
CupPosition = D
CupState = Lifted
系统因此获得:
State Feedback:
HandPosition Changed
CupPosition Changed
CupState Stable → Lifted
可以定义:
Fs=(Sbefore,Safter,ΔS)F_s=(S_{before},S_{after},\Delta S)
其中:
- SbeforeS_{before}:执行前状态;
- SafterS_{after}:执行后状态;
- ΔS\Delta S:状态变化。
因此:
Before State → Execution → After State → State Feedback
状态反馈的核心不是记录某一个静态State,而是记录:
状态变化事实。
163.6 Environment Feedback
**Environment Feedback(环境反馈)**是行为执行以后,个体从外部环境获得的状态变化信息。
环境并不是个体内部对象。
例如个体抓取杯子以后:
Hand = Changed
Cup = Changed
Table = Unchanged
Other Object = Changed
其中:
- Hand属于个体状态;
- Cup属于行为对象;
- Table属于环境;
- Other Object可能属于环境对象。
如果环境发生变化:
Environment Before
↓
Behavior Execution
↓
Environment After
↓
Environment Feedback
例如:
Before:
CupOnTable = True
After:
CupOnTable = False
CupInHand = True
系统获得:
Environment Feedback:
Cup removed from table
因此环境反馈使系统能够知道:
行为是否真正改变了外部世界。
163.7 三类Feedback的统一模型
Feedback至少可以划分为三个核心部分:
F={Fr,Fs,Fe}F=\{F_r,F_s,F_e\}
其中:
- FrF_r:Result Feedback;
- FsF_s:State Feedback;
- FeF_e:Environment Feedback。
形成:
Execution → Result Feedback
Execution → State Feedback
Execution → Environment Feedback
最后:
Result Feedback + State Feedback + Environment Feedback → Feedback
例如:
Behavior
↓
Action
↓
Execution
↓
┌──────────────┬──────────────┬──────────────────┐
│ Result │ State │ Environment │
│ Feedback │ Feedback │ Feedback │
└──────────────┴──────────────┴──────────────────┘
↓
Feedback
↓
Cognition
这构成完整的行为反馈结构。
163.8 Feedback的时间结构
Feedback具有明显的时间属性。
同一个Behavior至少存在三个重要时间状态:
Sbefore→E→SafterS_{before}\rightarrow E\rightarrow S_{after}
即:
执行前状态 → 执行 → 执行后状态
Feedback就是对这一变化过程进行记录。
因此:
ΔS=Safter−Sbefore\Delta S=S_{after}-S_{before}
这里的“−-”表示状态差异,而不是要求所有状态都必须是数值。
例如:
Before:
Cup = OnTable
After:
Cup = InHand
则:
State Change:
OnTable → InHand
这种离散状态变化就是一种反馈事实。
因此ICAI的Feedback可以建立在:
离散状态变化 + 事实变化 + 规则比较
基础之上。
163.9 Feedback与Condition的关系
Feedback并不是单纯保存信息。
反馈还可以重新进入Condition判断。
例如:
Behavior:
PickUpCup
执行后:
Result Feedback:
CupLifted = True
新的Condition:
CupLifted = True
满足:
Next Action = MoveCup
因此形成:
Execution → Feedback → Condition → Next Action
如果反馈是:
CupLifted = False
则:
Execution → Feedback → Condition Failure → Recovery / Retry / New Decision
所以Feedback是连接“当前行为”和“下一步行为”的重要对象。
163.10 Feedback与Decision的关系
Feedback还可以影响下一次Decision。
例如有两个方法:
Method A
Method B
第一次Decision:
Select Method A
执行后:
Result = Failure
Feedback = Method A Failed
系统下一次进行Decision时:
Candidate A = Failed
Candidate B = Available
因此:
Feedback → Candidate State Update → Decision
这样过去的行为结果就能够影响后续选择。
因此Feedback成为:
Behavior → Decision
之间的重要信息通道。
163.11 Feedback与Experience的关系
Feedback并不直接等于Experience。
二者关系可以定义为:
Feedback → Experience Formation
Feedback是一次行为执行后获得的信息。
Experience是系统对多次相关行为事实进行组织以后形成的经验结构。
例如一次反馈:
Method A
Result = Failure
Feedback = Object Slipped
这只是一次Feedback。
如果多次发生:
Method A → Failure
Method A → Failure
Method A → Failure
系统可以形成:
Experience:
Method A has low success under Condition X
因此:
Result → Feedback → Experience → Learning
Feedback是经验形成的重要输入,但不能把每一条Feedback直接当作Experience。
163.12 Feedback对象模型
在PHP OOP工程中,可以建立基础Feedback类:
class Feedback
{
protected $id;
protected $behaviorId;
protected $actionId;
protected $executionId;
protected $feedbackType;
protected $data;
protected $status;
protected $createdAt;
public function setData($data)
{
$this->data = $data;
}
public function getData()
{
return $this->data;
}
public function setStatus($status)
{
$this->status = $status;
}
public function getStatus()
{
return $this->status;
}
}
Feedback作为基础对象。
然后建立三种专门类型。
163.13 ResultFeedback类
class ResultFeedback extends Feedback
{
protected $expected;
protected $actual;
protected $comparison;
public function compare()
{
if ($this->expected == $this->actual) {
$this->comparison = 'equal';
$this->status = 'success';
return true;
}
$this->comparison = 'different';
$this->status = 'failure';
return false;
}
}
ResultFeedback负责:
Expected → Actual → Comparison
而不是直接修改Behavior。
163.14 StateFeedback类
class StateFeedback extends Feedback
{
protected $beforeState;
protected $afterState;
protected $changes;
public function calculateChange()
{
if ($this->beforeState != $this->afterState) {
$this->changes = array(
'before' => $this->beforeState,
'after' => $this->afterState
);
$this->status = 'changed';
return true;
}
$this->status = 'unchanged';
return false;
}
}
StateFeedback负责记录:
Before State → After State
并确定:
Changed / Unchanged
163.15 EnvironmentFeedback类
class EnvironmentFeedback extends Feedback
{
protected $environmentBefore;
protected $environmentAfter;
protected $changes;
public function detectChanges()
{
if ($this->environmentBefore != $this->environmentAfter) {
$this->changes = array(
'before' => $this->environmentBefore,
'after' => $this->environmentAfter
);
$this->status = 'changed';
return true;
}
$this->status = 'unchanged';
return false;
}
}
EnvironmentFeedback负责:
Environment Before → Environment After → Environment Change
163.16 FeedbackManager
当系统产生大量反馈以后,需要建立统一的FeedbackManager。
class FeedbackManager
{
protected $feedbacks;
public function add($feedback)
{
$this->feedbacks[] = $feedback;
}
public function getByBehavior($behaviorId)
{
$result = array();
foreach ($this->feedbacks as $feedback) {
if ($feedback->getBehaviorId() == $behaviorId) {
$result[] = $feedback;
}
}
return $result;
}
}
FeedbackManager主要负责:
- 创建Feedback;
- 保存Feedback;
- 查询Feedback;
- 按Behavior查询;
- 按Action查询;
- 按Execution查询;
- 区分Feedback类型;
- 将Feedback传递给Condition;
- 将Feedback传递给Decision;
- 将Feedback传递给Experience系统。
它不负责替代Result,也不负责替代Experience。
163.17 数据库模型
Feedback可以建立统一基础表:
feedbacks
主要字段:
id
behavior_id
action_id
execution_id
feedback_type
status
data
created_at
Result Feedback可以建立:
result_feedbacks
主要字段:
id
feedback_id
expected_result
actual_result
comparison
status
State Feedback:
state_feedbacks
主要字段:
id
feedback_id
object_id
state_before
state_after
state_change
Environment Feedback:
environment_feedbacks
主要字段:
id
feedback_id
environment_before
environment_after
environment_change
形成:
Behavior → Execution → Feedback → Feedback Type
其中:
Feedback Type
├── Result Feedback
├── State Feedback
└── Environment Feedback
这种结构可以避免把所有反馈信息塞进单一字段。
163.18 Feedback运行流程
完整Feedback运行过程可以定义为:
Behavior → Action → Execution → Result → Feedback Collection → Feedback Classification → Feedback Comparison → State Update → Cognition
具体过程:
第一步,Behavior执行Action。
第二步,Execution产生Actual Result。
第三步,系统采集执行后的相关信息。
第四步,将信息分类为:
Result Feedback
State Feedback
Environment Feedback
第五步,将反馈与原有状态、预期结果进行比较。
第六步,更新系统状态。
第七步,将反馈传递给后续认知过程。
因此:
Execution → Result → Feedback → Comparison → Update
成为行为闭环的重要部分。
163.19 Feedback驱动的行为调整
Feedback的一个重要功能是改变后续行为。
例如:
Goal = PickUpCup
Method = DirectGrasp
Behavior = PickUpCupBehavior
Action = GripCup
Execution = Failed
Result = CupSlipped
Feedback = GripFailure
系统发现:
Condition:
ObjectSurface = Smooth
于是下一次可以形成:
Feedback → Condition Change → Method Re-evaluation → Decision → New Behavior
例如选择另一种抓取方法:
DirectGrasp
↓
Failure
↓
Feedback
↓
Condition Update
↓
Decision
↓
Alternative Method
↓
New Behavior
这说明Feedback不是简单的日志系统。
它是行为系统与认知系统之间的动态连接机制。
163.20 Feedback的工程职责边界
为了保持ICAI对象模型清晰,必须明确不同对象的职责。
| 对象 | 核心问题 |
|---|---|
| Result | 执行产生了什么结果? |
| State | 当前处于什么状态? |
| Feedback | 执行后获得了什么信息? |
| Experience | 从过去行为中形成了什么经验? |
| Decision | 下一步选择什么? |
| Method | 可以采用什么方法? |
| Behavior | 当前实施什么行为? |
| Action | 当前执行什么具体动作? |
因此:
Result不是Feedback。
Feedback不是Experience。
Feedback也不是Decision。
它们之间是连续的数据和认知关系:
Result → Feedback → Experience / Condition / Decision
163.21 Feedback闭环模型
综合前面的Capability、Method、Decision、Behavior和Action,可以建立完整模型:
Need→Goal→Capability→Method→Decision→Behavior→Action→Execution→Result→Feedback→State→Experience→LearningNeed \rightarrow Goal \rightarrow Capability \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow Feedback \rightarrow State \rightarrow Experience \rightarrow Learning
其中Feedback位于:
Result → Feedback → State / Experience / Decision
之间。
进一步形成行为闭环:
Decision → Behavior → Action → Execution → Result → Feedback → State Update → Decision
这意味着个体不是:
Decision → Execute → End
而是:
Decision → Execute → Observe Result → Receive Feedback → Update → Continue
因此系统才具备连续运行能力。
163.22 Feedback统一对象模型
最终可以定义:
F=(Rf,Sf,Ef,C,T)F=(R_f,S_f,E_f,C,T)
其中:
- FF:Feedback;
- RfR_f:Result Feedback;
- SfS_f:State Feedback;
- EfE_f:Environment Feedback;
- CC:Comparison;
- TT:Feedback Time。
其运行关系为:
Execution → Result
同时:
Execution → State Change
以及:
Execution → Environment Change
三条信息路径最终汇合:
Result + State Change + Environment Change → Feedback
再进入:
Feedback → State Update → Experience → Decision / Learning
163.23 本章总结
Feedback是ICAI行为系统中的反向信息机制。
第162章建立了:
Behavior → Action → Execution → Result → State
第163章继续建立:
Result → Feedback → Update
其中:
Result Feedback负责回答:
执行结果是否达到预期?
State Feedback负责回答:
个体、对象或行为状态发生了什么变化?
Environment Feedback负责回答:
外部环境发生了什么变化?
三者共同形成:
Result Feedback + State Feedback + Environment Feedback → Feedback
然后:
Feedback → Condition / State / Decision / Experience
因此,Feedback不是简单的日志记录,也不是Result的别名,而是行为执行结果重新进入认知系统的结构化信息对象。
最终,ICAI形成:
Need → Goal → Capability → Method → Decision → Behavior → Action → Execution → Result → Feedback → State → Experience → Learning
由此,个体从一次性的“执行行为”,进入持续的:
行为 → 结果 → 反馈 → 状态变化 → 经验 → 后续决策
闭环。
这也是ICAI从静态认知模型进一步进入动态个体运行模型的重要基础。