第45章 ExperienceMemory
ExperienceMemory(经验记忆)是 ICAI 长期记忆体系中用于保存行为过程、处理结果、成功经验、失败经验以及环境反馈的记忆机制。
FactMemory 主要回答:
“什么是事实?”
ExperienceMemory 主要回答:
“过去做过什么?结果怎么样?从中获得了什么经验?”
因此,Fact 是对对象、属性、关系、状态等的记录,而 Experience 是对过程与结果之间关系的记录。
1. Experience
Experience(经验)是 ICAI 在执行某个行为、处理某个任务或面对某种环境后,根据行为、条件、过程、结果和反馈形成的可重复利用信息。
基本结构:
条件
↓
行为
↓
过程
↓
结果
↓
反馈
↓
经验
例如:
任务:
深圳 → 香港家具运输
条件:
origin = Shenzhen
destination = HongKong
object = Furniture
行为:
执行服务匹配
结果:
匹配成功
反馈:
结果有效
经验:
该条件下可以匹配 FurnitureDelivery
因此:
Experience
=
Condition
+
Action
+
Process
+
Result
+
Feedback
经验不是单纯保存“成功”或“失败”。
真正有价值的是:
什么条件下,采取了什么行为,产生了什么结果。
2. 成功经验
成功经验是行为执行后达到预期结果,或者经过验证确认有效的经验。
例如:
Condition:
destination = HongKong
object = Furniture
Action:
match(FurnitureDelivery)
Result:
matched
Verification:
confirmed
形成:
SuccessExperience
{
condition: {
destination: "HongKong",
object: "Furniture"
},
action: "match_delivery_service",
result: "matched",
verification: "confirmed"
}
成功经验可以帮助 ICAI 在以后遇到类似条件时:
当前条件
↓
读取历史成功经验
↓
比较条件
↓
判断是否适用
↓
形成行动依据
注意:
成功经验不是固定命令。
过去成功:
A条件 → B行为 → 成功
并不意味着:
所有类似条件 → B行为 → 必然成功
所以 ExperienceMemory 仍然需要经过当前条件匹配和验证。
3. 失败经验
失败经验同样具有重要价值。
如果 ICAI 执行:
Action_A
结果:
failed
不能简单删除。
应该形成:
Condition
↓
Action_A
↓
Failure
↓
Reason
↓
ExperienceMemory
例如:
Condition:
destination = HongKong
Action:
Route_A
Result:
failed
Reason:
Route_A 不支持当前运输条件
保存为:
FailureExperience
{
condition: {
destination: "HongKong"
},
action: "Route_A",
result: "failed",
reason: "condition_not_supported"
}
以后再次遇到相同或者高度接近的条件:
当前条件
↓
读取失败经验
↓
发现历史失败
↓
降低再次采用该行为的优先级
因此:
成功经验 → 支持行为选择
失败经验 → 避免错误重复
成功与失败共同构成 ICAI 的经验资源。
4. 行为经验
行为经验重点记录:
ICAI 做过什么,以及行为产生了什么结果。
基本模型:
Condition
↓
Action
↓
Result
例如:
Condition:
battery < 30%
Action:
charge()
Result:
battery = 80%
可以形成:
Experience
{
condition: "battery < 30%",
action: "charge",
result: "battery increased"
}
再例如:
Condition:
object = Furniture
destination = HongKong
Action:
select_delivery_service
Result:
service_matched
行为经验可以进一步记录:
行为对象
行为方法
行为参数
执行时间
执行条件
执行结果
执行状态
因此:
BehaviorExperience
=
Condition
+
Action
+
Result
如果需要更完整:
BehaviorExperience
=
Condition
+
Action
+
Process
+
Result
+
Feedback
这为后续 Decision 和 Action 提供历史依据。
5. 环境经验
Experience 不仅来自 ICAI 自己的行为,也来自对环境变化的长期观察。
环境经验主要描述:
环境
↓
状态变化
↓
事件
↓
结果
例如:
Environment:
temperature > 35°C
Object:
Machine_A
State:
overheat
Result:
machine stopped
形成:
EnvironmentExperience
{
condition: "temperature > 35",
object: "Machine_A",
state: "overheat",
result: "machine_stopped"
}
环境经验还可以包括:
时间变化
地点变化
对象变化
状态变化
环境条件
事件发生
环境反馈
例如:
时间:
08:00
环境状态:
正常
12:00:
温度升高
13:00:
设备过热
14:00:
设备停止
经过多次记录,ICAI 可以形成:
环境条件
↓
状态变化
↓
事件
↓
结果
这种经验可以参与后续:
Perception
↓
Cognition
↓
Matching
↓
ExperienceMemory
↓
Reasoning
↓
Decision
6. 经验保存
Experience 保存不能只保存最终结果。
完整保存过程应该尽可能保留:
Task
Condition
Action
Process
Result
Feedback
Environment
Time
Source
State
例如:
Experience
{
"id": 2001,
"task": "delivery_matching",
"condition": {
"origin": "Shenzhen",
"destination": "HongKong",
"object": "Furniture"
},
"action": "match_delivery_service",
"process": [
"read_current_information",
"match_object",
"match_destination",
"match_service"
],
"result": "matched",
"feedback": "confirmed",
"state": "success",
"created_at": "2026-09-12"
}
保存流程:
行为完成
↓
获取结果
↓
获取反馈
↓
整理条件
↓
整理行为
↓
整理过程
↓
整理结果
↓
形成 Experience
↓
保存 ExperienceMemory
经验保存的必要判断
不是所有执行过程都需要永久保存。
可以先判断:
是否具有重复利用价值?
↓
是 → 保存
↓
否 → 临时记录 / 清理
还可以判断:
是否成功?
是否失败?
是否产生异常?
是否产生重要反馈?
是否产生新的行为关系?
是否能够帮助以后决策?
只有具有认知价值的经验,才适合进入长期 ExperienceMemory。
7. 经验读取
ExperienceMemory 的读取与 FactMemory 不同。
FactMemory 主要查询:
“某个事实是什么?”
ExperienceMemory 主要查询:
“过去遇到类似情况时做了什么?”
“过去采取这个行为结果如何?”
“有没有成功经验?”
“有没有失败经验?”
基本过程:
Current Condition
↓
Experience Query
↓
Condition Matching
↓
Behavior Matching
↓
Result Matching
↓
Experience Filtering
↓
Relevant Experience
例如当前:
destination = HongKong
object = Furniture
系统查询:
ExperienceMemory
得到:
Experience 001
条件相似
结果成功
Experience 002
条件相似
结果失败
Experience 003
条件部分相似
结果成功
然后根据当前条件进一步判断:
Experience
↓
Matching
↓
Applicable Experience
经验不是直接执行命令,而是作为当前推理和决策的历史依据。
8. ExperienceMemory 示例
下面建立一个完整的 ICAI 经验案例。
当前任务:
用户:
深圳到香港家具送货上门
经过感知和认知:
Object:
Furniture
Origin:
Shenzhen
Destination:
HongKong
Service:
DoorToDoorDelivery
ICAI 读取 ExperienceMemory。
发现历史经验:
Experience 001
Condition:
Furniture
Shenzhen → HongKong
Action:
select Service_A
Result:
success
Feedback:
confirmed
同时发现:
Experience 002
Condition:
Furniture
Shenzhen → HongKong
Action:
select Service_B
Result:
failed
Reason:
service_condition_not_supported
当前条件与两个历史经验进行匹配:
Current Condition
↓
┌─────┴─────┐
↓ ↓
Exp001 Exp002
↓ ↓
Success Failure
因此 ICAI 得到经验依据:
Service_A
↓
历史成功经验
Service_B
↓
历史失败经验
再交给 Reasoning:
Current Condition
+
Historical Experience
↓
Reasoning
↓
Decision
↓
Action
如果这次实际执行 Service_A 后再次成功:
旧经验
↓
再次验证
↓
成功
↓
Experience Strengthening
如果失败:
旧经验
↓
当前失败
↓
Experience Conflict
↓
重新验证
↓
更新经验
这就形成了经验的动态生命周期。
ExperienceMemory核心结构
综合本章:
ExperienceMemory
{
id,
task,
condition,
environment,
action,
process,
result,
feedback,
state,
source,
created_at,
updated_at
}
核心关系:
Condition
↓
Action
↓
Process
↓
Result
↓
Feedback
↓
Experience
↓
ExperienceMemory
进一步形成:
FactMemory
↓
知道“是什么”
ExperienceMemory
↓
知道“过去怎么做、结果如何”
Reasoning
↓
根据事实 + 经验进行推理
Decision
↓
选择当前行为
Action
↓
执行
New Result
↓
形成新的 Experience
因此,ExperienceMemory 让 ICAI 的行为不再是每一次都从零开始,而是能够利用过去的成功、失败、行为和环境经验。
本章核心定义
ExperienceMemory 是 ICAI 用于长期保存行为过程、执行条件、环境状态、执行结果和反馈,并在后续任务中通过条件匹配读取相关经验,为推理、决策和行动提供历史依据的经验记忆机制。
核心区别:
FactMemory
= 记住事实
LongMemory
= 记住长期历史
ExperienceMemory
= 记住经历
最终形成:
过去发生了什么?
↓
LongMemory
过去确定了什么?
↓
FactMemory
过去做了什么?
↓
ExperienceMemory
过去结果如何?
↓
Success / Failure Experience
现在应该怎么做?
↓
Reasoning → Decision → Action
这使 ICAI 的 Memory → Reasoning → Decision → Action → Experience → Learning 开始形成真正的闭环。