第七篇
PHP OOP + MVC + Smarty 完整工程实现
第18章
WSaiOS-ICAI 项目目录设计
18.1 工程实现思想
WSaiOS-ICAI 不是一个单纯的软件程序。
它是一套:
基于面向对象思想,将人工个体智能模型映射为软件对象结构的工程系统。
前面的理论模型:
感知
↓
认知
↓
能力
↓
行为
↓
学习
↓
知识
↓
记忆
↓
经验
在工程中必须对应:
模块
↓
对象
↓
类
↓
接口
↓
数据结构
↓
运行流程
因此:
WSaiOS-ICAI 采用:
- PHP OOP;
- MVC架构;
- Smarty模板;
- MySQL数据存储;
构建人工个体智能系统。
18.2 为什么采用 PHP OOP
18.2.1 人工个体与对象思想一致
人的能力:
不是一个整体函数。
而是多个能力单元组成。
例如:
人的:
视觉能力;
理解能力;
记忆能力;
学习能力。
对应软件:
Perception Object
Cognition Object
Memory Object
Learning Object
对象之间:
通过:
- 属性;
- 方法;
- 关系;
协同工作。
这与人工个体模型一致。
18.3 WSaiOS-ICAI 总体工程架构
系统:
User / Environment
↓
Application
↓
AI Kernel
↓
┌──────────┬──────────┬──────────┬──────────┐
↓ ↓ ↓ ↓
Perception Cognition Capability Behavior
↓ ↓ ↓ ↓
Learning Knowledge Memory Experience
↓
Database
18.4 MVC 与人工个体模型结合
传统 MVC:
Model
数据
Controller
逻辑
View
显示
WSaiOS-ICAI:
重新映射:
Model
对应:
人工个体内部状态。
包括:
知识
记忆
经验
能力
状态
Controller
对应:
智能调度中心。
负责:
分析流程
调用能力
执行任务
View
对应:
人工个体外部表达。
包括:
回答
方案
报告
执行结果
18.5 项目总体目录结构
WSaiOS-ICAI:
wsaios/
│ ├── Router.php
│ ├── Controller.php
│ ├── Model.php
│ └── Database.php
│
├── modules/
│
│ ├── perception/
│ │
│ ├── cognition/
│ │
│ ├── capability/
│ │
│ ├── behavior/
│ │
│ ├── learning/
│ │
│ ├── knowledge/
│ │
│ ├── memory/
│ │
│ └── experience/
│
├── templates/
│
├── config/
│
├── database/
│
└── storage/
18.6 核心层 Core设计
core:
是人工个体运行基础。
目录:
core/
├── Kernel.php
├── Object.php
├── Controller.php
├── Model.php
├── Database.php
└── Event.php
18.7 AI Kernel 核心调度器
Kernel:
相当于人工个体的大脑运行核心。
职责:
- 接收输入;
- 调用感知;
- 调用认知;
- 调用能力;
- 执行为;
- 反馈学习。
流程:
Input
↓
Kernel
↓
Perception
↓
Cognition
↓
Capability
↓
Behavior
↓
Feedback
18.8 Kernel 类设计
文件:
core/Kernel.php
代码:
<?php
class Kernel
{
protected $modules=[];
public function register(
$name,
$object
)
{
$this->modules[$name]=$object;
}
public function run($input)
{
$perception =
$this->modules[‘perception’]
->process($input);
$cognition =
$this->modules[‘cognition’]
->analyze(
$perception
);
$capability =
$this->modules[‘capability’]
->solve(
$cognition
);
return
$this->modules[‘behavior’]
->execute(
$capability
);
}
}
18.9 模块化智能设计
每一个智能能力:
都是独立对象。
例如:
感知:
PerceptionEngine
认知:
CognitionEngine
学习:
LearningEngine
知识:
KnowledgeEngine
结构:
Module
↓
Interface
↓
Implementation
18.10 模块接口设计
为了扩展:
所有智能模块统一接口。
文件:
core/AIObject.php
代码:
interface AIObject
{
public function process($data);
}
例如:
感知模块:
class PerceptionEngine
implements AIObject
{
public function process($data)
{
return $data;
}
}
18.11 数据层设计
人工个体需要保存:
- 知识;
- 记忆;
- 经验;
- 学习记录。
数据库:
MySQL。
核心数据库:
wsaios_icai
主要数据表:
ai_knowledge
ai_memory
ai_experience
ai_learning
ai_capability
ai_task
ai_feedback
18.12 系统运行流程
完整一次智能行为:
用户提出问题
↓
Controller接收
↓
Kernel启动
↓
Perception获取
↓
Cognition理解
↓
Knowledge查询
↓
Capability分析
↓
Behavior执行
↓
Experience记录
↓
Learning更新
↓
Memory保存
18.13 Smarty 模板层
Smarty负责:
人工个体状态展示。
显示:
当前任务
认知状态
知识状态
能力等级
学习状态
经验记录
目录:
templates/
├── cognition.tpl
├── memory.tpl
├── learning.tpl
├── capability.tpl
└── result.tpl
18.14 WSaiOS-ICAI 工程思想总结
本章建立:
理论:
人工个体智能模型
转换:
软件对象模型
最终:
PHP OOP类结构
核心映射:
| 人工个体 | 软件实现 |
|---|---|
| 感知 | Perception类 |
| 认知 | Cognition类 |
| 知识 | Knowledge对象 |
| 能力 | Capability对象 |
| 行为 | Behavior类 |
| 学习 | Learning类 |
| 记忆 | Memory类 |
| 经验 | Experience类 |
18.15 本章总结
WSaiOS-ICAI 工程架构核心:
使用面向对象软件工程方法,将人工个体智能组成元素抽象为可组合、可扩展、可运行的软件智能对象。
整体结构:
AI Kernel
↓
Intelligent Objects
↓
MVC Framework
↓
PHP OOP
↓
MySQL + Smarty
下一章:
第19章
PHP OOP 智能对象设计
重点:
- 为什么智能必须对象化;
- EOM元素对象方法理论映射;
- 抽象类设计;
- 接口设计;
- 继承与组合;
- 智能对象生命周期;
- IndividualAI根对象实现。