第20章
MySQL 数据库与人工个体状态存储设计
20.1 数据存储系统概述
在 WSaiOS-ICAI 个体人工智能工程中:
数据库不是人工智能本身。
数据库只是:
保存人工个体运行状态、知识资源、学习过程、经验记录和能力状态的数据基础。
必须明确:
数据库 ≠ 智能
数据 ≠ 知识
存储 ≠ 思考
人工个体智能:
产生于:
感知
↓
认知
↓
能力
↓
行为
↓
学习
↓
知识
↓
经验
数据库:
负责保存:
状态
资源
历史
结果
20.2 数据层在 WSaiOS-ICAI 中的位置
整体架构:
IndividualAI
↓
Intelligence Layer
↓
┌──────────────┬──────────────┐
↓ ↓
Object Layer Data Layer
智能对象 数据存储
↓
MySQL
数据层服务:
- 知识调用;
- 记忆保存;
- 学习记录;
- 经验沉淀;
- 能力状态。
20.3 人工个体数据库设计思想
普通系统:
数据库围绕业务设计。
例如:
商城:
用户
商品
订单
支付
WSaiOS-ICAI:
数据库围绕:
人工个体状态设计。
核心:
人工个体是谁?
知道什么?
记得什么?
学过什么?
会什么?
做过什么?
因此设计:
ai_knowledge
ai_memory
ai_learning
ai_experience
ai_capability
ai_task
ai_feedback
20.4 数据库总体结构
数据库:
wsaios_icai
表关系:
ai_task
↓
Behavior Result
↓
ai_experience
↓
ai_memory
↓
ai_capability
↑
ai_knowledge
↑
ai_learning
20.5 知识表 ai_knowledge
20.5.1 作用
保存:
人工个体拥有的知识资源。
注意:
这里保存的是:
知识对象。
不是简单文本。
表结构:
CREATE TABLE ai_knowledge
(
id INT AUTO_INCREMENT PRIMARY KEY,
type VARCHAR(50),
title VARCHAR(255),
content TEXT,
source VARCHAR(255),
relation TEXT,
confidence INT,
created_time DATETIME,
updated_time DATETIME
);
字段:
| 字段 | 作用 |
|---|---|
| type | 知识类型 |
| title | 知识名称 |
| content | 知识内容 |
| source | 来源 |
| relation | 关系 |
| confidence | 可信度 |
例如:
记录:
title:
PHP MVC架构
type:
method
content:
MVC通过Model、View、Controller分离系统结构
20.6 记忆表 ai_memory
20.6.1 作用
保存:
人工个体经历。
结构:
CREATE TABLE ai_memory
(
id INT AUTO_INCREMENT PRIMARY KEY,
type VARCHAR(50),
content TEXT,
importance INT,
relation TEXT,
created_time DATETIME
);
例如:
保存:
某次系统设计失败经验。
后来通过重新设计模块解决。
20.7 学习记录表 ai_learning
20.7.1 作用
记录:
学习行为。
因为:
学习不是知识。
学习需要被记录。
结构:
CREATE TABLE ai_learning
(
id INT AUTO_INCREMENT PRIMARY KEY,
goal VARCHAR(255),
source TEXT,
process TEXT,
result TEXT,
status VARCHAR(50),
created_time DATETIME
);
例如:
记录:
目标:
学习数据库优化
来源:
技术文档
结果:
形成优化能力
20.8 经验表 ai_experience
20.8.1 作用
保存:
实践形成的方法。
结构:
CREATE TABLE ai_experience
(
id INT AUTO_INCREMENT PRIMARY KEY,
problem TEXT,
method TEXT,
result TEXT,
evaluation INT,
confidence INT,
created_time DATETIME
);
例如:
经验:
问题:
网站访问慢
方法:
优化SQL索引
结果:
响应速度提高
20.9 能力表 ai_capability
20.9.1 作用
保存:
人工个体能力状态。
结构:
CREATE TABLE ai_capability
(
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
level INT,
knowledge_count INT,
experience_count INT,
score INT,
updated_time DATETIME
);
例如:
能力:
名称:
PHP系统开发
等级:
3
经验:
50
20.10 任务表 ai_task
任务:
是人工个体行为起点。
结构:
CREATE TABLE ai_task
(
id INT AUTO_INCREMENT PRIMARY KEY,
task TEXT,
status VARCHAR(50),
result TEXT,
created_time DATETIME
);
流程:
任务
↓
认知
↓
能力调用
↓
行为
↓
结果
20.11 反馈表 ai_feedback
反馈:
推动成长。
结构:
CREATE TABLE ai_feedback
(
id INT AUTO_INCREMENT PRIMARY KEY,
task_id INT,
evaluation INT,
suggestion TEXT,
created_time DATETIME
);
作用:
判断:
- 行为是否有效;
- 能力是否需要提升。
20.12 PHP 数据访问层设计
MVC 中:
Model负责数据。
目录:
app/
models/
├── KnowledgeModel.php
├── MemoryModel.php
├── LearningModel.php
├── ExperienceModel.php
└── CapabilityModel.php
20.13 基础 Model 类
文件:
core/Model.php
代码:
<?php
class Model
{
protected $db;
public function __construct(
$db
)
{
$this->db=$db;
}
}
20.14 KnowledgeModel实现
class KnowledgeModel
extends Model
{
public function save($data)
{
$sql=”
INSERT INTO ai_knowledge
(
type,
title,
content
)
VALUES
(
?,
?,
?
)
“;
}
public function search($keyword)
{
}
}
20.15 MemoryModel实现
class MemoryModel
extends Model
{
public function remember(
$content
)
{
}
public function recall(
$keyword
)
{
}
}
20.16 数据库与智能对象连接
对象:
KnowledgeObject
数据库:
ai_knowledge
关系:
Object
↓
Model
↓
Database
例如:
$knowledge =
new KnowledgeObject();
$model =
new KnowledgeModel();
$model->save(
$knowledge
);
20.17 人工个体状态保存流程
一次任务:
输入问题
↓
创建Task
↓
感知
↓
认知
↓
调用知识
↓
执行行为
↓
记录经验
↓
更新能力
↓
保存记忆
数据库变化:
ai_task
新增任务
↓
ai_experience
新增经验
↓
ai_memory
保存经历
↓
ai_capability
能力更新
20.18 数据库设计原则
原则一:
数据服务智能。
原则二:
对象负责逻辑。
原则三:
数据库负责保存。
原则四:
知识、经验、记忆必须分离。
原则五:
能力状态必须可追踪。
20.19 本章总结
WSaiOS-ICAI 数据层:
不是普通业务数据库。
而是:
人工个体智能运行状态的长期存储系统。
核心数据:
知识
↓
记忆
↓
经验
↓
能力
↓
成长记录
工程结构:
PHP Object
↓
MVC Model
↓
MySQL Database
↓
Artificial Individual State
下一章:
第21章
Smarty 智能界面设计
重点:
- 人工个体状态可视化;
- 认知状态展示;
- 学习状态展示;
- 知识状态展示;
- 能力成长展示;
- MVC View层实现;
- Smarty模板工程。