第六篇
记忆、经验与进化系统工程实现
第15章
记忆系统 Memory Engine
15.1 记忆系统概述
在 WSaiOS-ICAI 个体人工智能体系中:
学习让人工个体获得新知识。
但是:
如果没有记忆:
每一次面对问题都需要重新开始。
人的智能:
不仅来自当前思考。
还来自:
- 过去经历;
- 已有知识;
- 历史经验;
- 行为结果。
因此:
WSaiOS-ICAI 定义:
记忆系统是人工个体保存过去信息、经验状态和认知结果,并支持未来行为决策的内部状态系统。
15.2 记忆不是数据库
这是 WSaiOS-ICAI 的重要区别。
普通数据库:
保存:
数据
记录
文件
记忆系统:
保存:
经历
状态
关系
经验
意义
例如:
数据库:
服务器CPU=95%
记忆:
某次网站性能问题中,
CPU高负载导致访问下降,
最终通过优化程序解决。
记忆包含:
事件 + 关系 + 结果。
15.3 记忆在人工个体中的作用
记忆支持:
第一:
快速判断。
过去经验:
帮助当前问题分析。
第二:
能力成长。
过去行为:
形成经验。
第三:
个体连续性。
保持:
“过去的自己”。
完整循环:
行为
↓
结果
↓
记忆
↓
经验
↓
能力
↓
未来行为
15.4 记忆模型设计
WSaiOS-ICAI 模拟人的记忆:
分为:
Memory System
|
|
┌─────┼─────┐
↓ ↓ ↓
短期记忆 工作记忆 长期记忆
15.5 短期记忆 Short Term Memory
15.5.1 定义
短期记忆:
保存当前任务相关信息。
例如:
正在解决:
网站性能问题。
短期记忆:
保存:
当前问题
当前分析
当前方案
特点:
- 生命周期短;
- 高频访问;
- 服务当前任务。
对象:
ShortMemoryObject
PHP:
class ShortMemory
{
protected $data=[];
public function store($item)
{
$this->data[]=$item;
}
public function get()
{
return $this->data;
}
}
15.6 工作记忆 Working Memory
15.6.1 定义
工作记忆:
负责当前思考过程。
人的思考:
例如:
解决问题时:
同时保持:
问题
目标
条件
方案
限制
WSaiOS-ICAI:
工作记忆:
保存:
当前认知状态。
模型:
Input
↓
Working Memory
↓
Reasoning
↓
Decision
PHP:
class WorkingMemory
{
protected $state;
public function setState($data)
{
$this->state=$data;
}
public function getState()
{
return $this->state;
}
}
15.7 长期记忆 Long Term Memory
15.7.1 定义
长期记忆:
保存长期有效的信息。
包括:
- 知识;
- 经验;
- 方法;
- 历史任务。
例如:
网站优化经验:
遇到访问慢,
优先检查数据库。
长期记忆特点:
- 生命周期长;
- 可重复调用;
- 支撑能力。
对象:
LongMemoryObject
15.8 记忆对象模型 Memory Object
按照 EOM:
记忆也是对象。
MemoryObject:
MemoryObject
属性:
id
type
content
time
relation
importance
方法:
save()
retrieve()
update()
PHP:
class MemoryObject
{
protected $type;
protected $content;
public function save()
{
}
public function retrieve()
{
}
}
15.9 Memory Engine 总体架构
Memory Engine
|
┌───────────┼───────────┐
↓ ↓ ↓
ShortMemory WorkingMemory LongMemory
目录:
modules/
└── memory/
├── MemoryEngine.php
├── MemoryObject.php
├── ShortMemory.php
├── WorkingMemory.php
├── LongMemory.php
└── MemoryStorage.php
15.10 MemoryEngine 核心实现
class MemoryEngine
{
protected $short;
protected $working;
protected $long;
public function remember(
$data,
$type
)
{
switch($type)
{
case ‘short’:
$this->short
->store($data);
break;
case ‘long’:
$this->long
->store($data);
break;
}
}
}
15.11 记忆调用流程
当人工个体面对新问题:
流程:
新问题
↓
认知分析
↓
查询记忆
↓
匹配经验
↓
辅助决策
例如:
当前:
服务器异常。
查询:
长期记忆:
发现:
过去类似问题。
调用:
历史解决方案
↓
当前问题优化
15.12 记忆与知识关系
知识:
一般资源。
记忆:
个体经历。
区别:
知识:
数据库索引可以提高查询效率
记忆:
上次优化项目中,
使用索引后查询速度提高。
关系:
经验记忆
↓
知识沉淀
↓
能力提升
15.13 记忆与学习关系
学习:
产生新知识。
记忆:
保存学习过程。
流程:
学习
↓
知识
↓
记忆保存
↓
未来调用
15.14 MySQL 数据结构设计
表:
ai_memory
CREATE TABLE ai_memory
(
id INT PRIMARY KEY AUTO_INCREMENT,
type VARCHAR(50),
content TEXT,
relation TEXT,
importance INT,
created_time DATETIME
);
字段说明:
| 字段 | 作用 |
|---|---|
| type | 记忆类型 |
| content | 记忆内容 |
| relation | 关系 |
| importance | 重要程度 |
| created_time | 产生时间 |
15.15 记忆系统设计原则
原则一:
记忆必须保存意义。
原则二:
记忆必须支持调用。
原则三:
记忆必须影响未来行为。
原则四:
重要经验必须长期保存。
原则五:
记忆必须服务能力成长。
15.16 本章总结
WSaiOS-ICAI 记忆系统:
不是简单数据库。
而是:
保存人工个体历史状态、经验和认知结果,使人工个体具有连续成长能力的内部系统。
完整结构:
行为
↓
结果
↓
记忆
↓
经验
↓
能力
↓
未来行为
工程结构:
ShortMemory
+
WorkingMemory
+
LongMemory
+
MemoryEngine
=
记忆系统
下一章:
第16章 经验系统 Experience Engine
重点:
- 经验不是知识;
- 经验如何从行为结果产生;
- 成功经验与失败经验;
- 经验评价模型;
- 经验如何优化能力;
- Experience Engine PHP OOP 实现。