docs: fix architecture boundaries - routing=unique input, LLM=unique output, memory=autonomous
Key corrections: - Routing subnet is the ONLY external input path; all images/text/voice must pass through it - LLM subnet is the ONLY external output path; natural language goes directly to user - Core is a purely internal layer, not directly exposed to users - Memory subnet is autonomous: Core only passes query tensors + new information tensors; how to update/delete/modify is entirely decided by memory subnet - Routing subnet uses sliding window mechanism: instant label tensor generation → Core, then after the round ends, Core schedules routing to process remaining raw data - Updated all ASCII diagrams, Mermaid diagrams, pseudo-code, and data flow charts - Added border rules table to all relevant docs
This commit is contained in:
210
README.md
210
README.md
@ -1,80 +1,79 @@
|
||||
# NextAgent — 认知解耦智能体架构
|
||||
|
||||
NextAgent 是一套颠覆传统单一 LLM 模式的**认知解耦智能体架构**。通过模拟人脑的模块化分工,将认知、记忆、推理与表达分离为独立子网,子网间通过**自定义张量协议**通信,从根本上解决大模型的**幻觉**问题与**效率瓶颈**。
|
||||
NextAgent 是一套颠覆传统单一 LLM 模式的**认知解耦智能体架构**。通过模拟人脑的模块化分工,将认知、记忆、推理与表达分离为独立子网,子网间通过**统一张量协议**通信,从根本上解决大模型的**幻觉**问题与**效率瓶颈**。
|
||||
|
||||
## 核心架构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────┐
|
||||
│ 应用层 (CLI/API/SDK) │
|
||||
└──────────────────────────────┬──────────────────────────────────────┘
|
||||
┌──────────────┐
|
||||
│ 用户 │
|
||||
│ (输入/输出) │
|
||||
└──────┬───────┘
|
||||
│
|
||||
┌──────────────────────────────▼──────────────────────────────────────┐
|
||||
│ 调度 Core (前额叶皮层) │
|
||||
│ 启发式调度 · 逻辑判断 · 任务解析 · 记忆聚合 │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ │
|
||||
│ │ 任务解析器 │ │ 调度策略引擎 │ │ 记忆聚合器 │ │
|
||||
│ │ 拆解用户意图 │ │ 启发式调度规则 │ │ 汇总子网结果→记忆参数包 │ │
|
||||
│ └──────────────┘ └──────────────┘ └────────────────────────┘ │
|
||||
└──────┬──────┬──────┬──────┬──────┬──────┬──────┬───────────────────┘
|
||||
│ │ │ │ │ │ │
|
||||
│ └──张量通信层──┐ │ │ │
|
||||
│ (Standard Tensor Protocol) │ │
|
||||
▼ ▼ ▼ ▼
|
||||
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
||||
│ 路由与压缩 │ ←──→ │ 记忆子网 │ │ 逻辑链路 │ │ LLM 子网 │
|
||||
│(感觉中枢) │ 张 量 │(海马体/皮层)│ │追踪神经网络│ │(布洛卡区) │
|
||||
│ │ │ │ │ (推理回路) │ │ │
|
||||
│ 多模态 │ │ 图数据库 │ │ 逻辑验证 │ │ 自然语言→用户 │
|
||||
│ 特征提取 │ │ 向量数据库 │ │ 自我修正 │ │ 表达张量→Core │
|
||||
│ 信息压缩 │ │ 文本记忆 │ │ 路径重规划 │ │ │
|
||||
└──────────┘ └──────────┘ └──────────┘ └──────────┘
|
||||
│
|
||||
▼
|
||||
┌────────────────────┐
|
||||
│ 存储层 (冷区存储) │
|
||||
│ 原始数据 · 索引 │
|
||||
└────────────────────┘
|
||||
┌──────────▼──────────┐
|
||||
│ 外部输入/输出 │
|
||||
│ (唯一接入外部路径) │
|
||||
└──────┬──────┬───────┘
|
||||
│ │
|
||||
┌──────▼──┐ ┌─▼────────┐
|
||||
│ 路由与 │ │ LLM │
|
||||
│ 压缩子网 │ │ 子网 │
|
||||
│(唯一输入) │ │(唯一输出) │
|
||||
│ 多模态 │ │ 自然语言 │
|
||||
│ 特征提取 │ │ 给用户 │
|
||||
│ 标签张量 │ │ │
|
||||
└──────┬──┘ └────┬──────┘
|
||||
│ │
|
||||
│ 张量通信层 │
|
||||
│ (内部通信) │
|
||||
▼ ▼
|
||||
┌──────────────────────────┐
|
||||
│ 调度 Core (内部层) │
|
||||
│ 启发式调度 · 内部分发 │
|
||||
│ │
|
||||
│ ┌──────────┐ ┌────────┐ │
|
||||
│ │ 记忆子网 │ │ 逻辑子网 │ │
|
||||
│ │(唯一记忆) │ │(推理回路)│ │
|
||||
│ │ 自治读写 │ │ 验证重规│ │
|
||||
│ │ 图DB/向量 │ │ 划/错误│ │
|
||||
│ │ /文本 │ │ 追溯 │ │
|
||||
│ └──────────┘ └────────┘ │
|
||||
└──────────────────────────┘
|
||||
```
|
||||
|
||||
### 边界规则
|
||||
|
||||
| 方向 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| **输入** | 用户 → 路由与压缩子网(唯一) | 所有图像/文本/语音必须经过路由子网,且仅此一路 |
|
||||
| **输出** | LLM 子网 → 用户(唯一) | 当前仅 LLM 输出自然语言,可扩展图像/视频输出子网 |
|
||||
| **内部** | 调度 Core + 子网 | Core 是内部调度层,不直接与用户交互 |
|
||||
| **记忆** | 记忆子网(自治) | 唯一记忆模块。Core 仅传递查询张量+新信息张量,如何更新/删除/修改由记忆子网自行决策 |
|
||||
|
||||
### Mermaid 架构图
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
User["用户"] -->|"自然语言/多模态输入"| Core["调度 Core<br/>(前额叶皮层)"]
|
||||
User["用户"] -->|"图像/文本/语音"| RCN["路由与压缩子网<br/>(唯一输入路径)"]
|
||||
|
||||
subgraph TensorLayer ["张量通信层 (Standard Tensor Protocol)"]
|
||||
direction LR
|
||||
TE["编码层<br/>Encoder: 内部张量→标准张量"]
|
||||
TD["解码层<br/>Decoder: 标准张量→内部张量"]
|
||||
subgraph Internal ["系统内部"]
|
||||
direction TB
|
||||
Core["调度 Core<br/>(内部调度层)"]
|
||||
MEM["记忆子网<br/>(唯一记忆模块·自治)"]
|
||||
LTC["逻辑链路追踪子网<br/>(推理回路)"]
|
||||
end
|
||||
|
||||
subgraph Subnets ["四大子网"]
|
||||
RCN["路由与压缩子网<br/>(感觉中枢)<br/>多模态→标准张量"]
|
||||
MEM["记忆子网<br/>(海马体与皮层)<br/>图DB+向量DB+文本"]
|
||||
LTC["逻辑链路追踪<br/>神经网络<br/>(推理回路)"]
|
||||
LLM["LLM 子网<br/>(布洛卡区/表达核)"]
|
||||
end
|
||||
|
||||
Cold["冷区存储<br/>原始数据"]
|
||||
|
||||
Core -->|"启发式调度"| RCN
|
||||
Core -->|"启发式调度"| MEM
|
||||
Core -->|"启发式调度"| LTC
|
||||
Core -->|"启发式调度|张量"| LLM
|
||||
|
||||
RCN -.->|"标准张量"| Core
|
||||
MEM -.->|"记忆检索张量"| Core
|
||||
LTC -.->|"推理路径张量"| Core
|
||||
LLM -.->|"表达验证张量"| Core
|
||||
|
||||
RCN -->|"标签张量"| Core
|
||||
Core -->|"查询张量+新信息"| MEM
|
||||
MEM -->|"记忆张量"| Core
|
||||
Core -->|"推理请求"| LTC
|
||||
LTC -->|"推理路径张量"| Core
|
||||
Core -->|"推理路径"| LLM["LLM 子网<br/>(唯一输出路径)"]
|
||||
LLM -->|"自然语言"| User
|
||||
LLM -.->|"表达验证张量"| Core
|
||||
|
||||
Core -->|"记忆更新参数张量"| MEM
|
||||
MEM -->|"读写"| Cold
|
||||
|
||||
RCN -.-> Cold
|
||||
LTC -.-> Cold
|
||||
RCN -.->|"滑动窗口保留原始数据"| Raw["临时原始数据"]
|
||||
Core -.->|"一轮结束后调度处理"| RCN
|
||||
```
|
||||
|
||||
## 通信机制:统一张量协议 (Unified Tensor Protocol)
|
||||
@ -85,7 +84,7 @@ graph TB
|
||||
|
||||
#### 适配器模式(编解码层)
|
||||
|
||||
每个子网通过一个**编解码层(Codec Layer)**与外部通信,负责将子网内部的私有数据格式(如 PyTorch Tensor、MindSpore Tensor 或自定义结构)转换为统一的标准张量格式:
|
||||
每个子网通过一个**编解码层(Codec Layer)**与外部通信,负责将子网内部的私有数据格式(如 PyTorch Tensor、自定义结构等)转换为统一的标准张量格式:
|
||||
|
||||
```
|
||||
┌─────────────┐ ┌───────────────────┐ ┌─────────────┐
|
||||
@ -100,7 +99,7 @@ graph TB
|
||||
└─────────────┘ └───────────────────┘ └─────────────┘
|
||||
```
|
||||
|
||||
**作用**:屏蔽不同子网/框架的实现差异。新的子网只要实现对应的编解码器(Adapter),就能接入系统,无需修改调度 Core 或其他已有模块的代码。
|
||||
**作用**:屏蔽不同子网/框架的实现差异。新的子网只要实现编解码适配器,就能接入系统,无需修改调度 Core 或其他已有模块。
|
||||
|
||||
#### 门面模式(统一张量接口)
|
||||
|
||||
@ -131,9 +130,9 @@ interface TensorBus:
|
||||
### 核心优势
|
||||
|
||||
#### 动态并网与即插即用
|
||||
- 新的子网只需实现编解码器即可向 Core 注册,实现**运行时热插拔**
|
||||
- 新的子网只需实现编解码适配器即可向 Core 注册,支持**运行时热插拔**
|
||||
- 各子网独立迭代算法,接口不变即不影响系统稳定性
|
||||
- 支持运行时动态创建/销毁子网
|
||||
- 支持运行时根据需求动态创建/销毁子网
|
||||
|
||||
#### 零拷贝(Zero-Copy)
|
||||
在支持分布式能力的系统上,张量可通过**内核旁路技术**直接在设备间传递内存地址,避免将数据从 NPU/GPU 搬回 CPU 再打包的昂贵序列化开销。
|
||||
@ -142,26 +141,28 @@ interface TensorBus:
|
||||
张量是 NPU/GPU 的**原生计算单元**,协议允许数据在设备内存池中直接流转,无需格式转换,大幅降低延迟和 CPU 占用。
|
||||
|
||||
#### 高数据保真度
|
||||
相比于文本或 JSON 协议,张量能**无损传递高维特征图、注意力权重矩阵**等复杂数值结构,确保传递的是完整的
|
||||
相比于文本或 JSON 协议,张量能**无损传递高维特征图、注意力权重矩阵**等复杂数值结构,确保传递的是完整的"思维向量"而非降维后的符号化描述。
|
||||
|
||||
## 调度方式:启发式调度
|
||||
|
||||
Core 的调度不是线性流式的。每次收到数据包后:
|
||||
Core 的调度是启发式的,非流式管线。每次收到数据包后动态决策:
|
||||
|
||||
1. 解析输入 → 判断任务类型
|
||||
2. 调用记忆子网检索上下文
|
||||
3. 根据记忆结果决定:是否再次调用路由提取输入 → 送逻辑推理 → 再查记忆 → ...
|
||||
4. 反复、多方式调用子网,逐步收敛到最终结果
|
||||
5. 将所有子网结果聚合,打包为记忆更新参数包 → 送记忆子网更新
|
||||
1. 路由子网处理输入 → 生成标签张量 → 交给 Core
|
||||
2. Core 根据标签判断任务类型,调用记忆子网检索上下文
|
||||
3. 根据记忆结果决定下一步——可能再次调路由提取、送逻辑推理、再查记忆……
|
||||
4. 反复、多方式调用子网,逐步收敛
|
||||
5. 将子网结果聚合 → 交记忆子网自主更新
|
||||
6. 本轮结束后,Core 再调度路由子网对暂存的原始数据进行处理(标签生成、压缩、归档)
|
||||
|
||||
## 四大子网概述
|
||||
## 子网职责
|
||||
|
||||
| 子网 | 类比人脑 | 核心职责 | 通信方式 |
|
||||
|------|---------|---------|---------|
|
||||
| **路由与压缩子网** | 感觉中枢 | 多模态特征提取、信息压缩、引用张量生成 | 标准张量 |
|
||||
| **记忆子网** | 海马体与皮层 | 图数据库+向量数据库+文本三级记忆存储与检索 | 记忆检索张量 / 记忆更新参数张量 |
|
||||
| **逻辑链路追踪神经网络** | 推理回路 | 逻辑验证、错误追溯、路径重规划、自我修正 | 推理路径张量 |
|
||||
| **LLM 子网** | 布洛卡区/表达核 | 结构化→自然语言(给用户)+ 表达验证张量(给Core) | 表达验证张量 |
|
||||
| 子网 | 角色 | 核心职责 |
|
||||
|------|------|---------|
|
||||
| **路由与压缩子网** | 🚪 唯一输入路径 | 处理多模态输入,生成标签张量,滑动窗口暂存原始数据 |
|
||||
| **记忆子网** | 🧠 唯一记忆模块(自治) | 独立管理图数据库+向量数据库+文本三级存储,自行决策如何更新/删除/修改 |
|
||||
| **逻辑链路追踪神经网络** | 🔗 推理回路 | 逻辑验证、错误追溯、路径重规划、自我修正 |
|
||||
| **LLM 子网** | 📤 唯一输出路径 | 结构化→自然语言给用户 + 表达验证张量给Core |
|
||||
| **调度 Core** | 🎯 内部调度层 | 启发式统筹调度,不直接与用户交互 |
|
||||
|
||||
## 设计哲学
|
||||
|
||||
@ -169,23 +170,28 @@ Core 的调度不是线性流式的。每次收到数据包后:
|
||||
|
||||
传统单一 LLM 的幻觉根源:**知识存储与语言表达在同一网络中耦合**。NextAgent 将两者解耦:
|
||||
|
||||
- **记忆子网** 负责存储和检索事实知识(图数据库 + 向量数据库)
|
||||
- **逻辑推理子网** 负责验证推理链的正确性
|
||||
- **LLM 子网** 只负责将结构化信息转换为自然语言,**从不"猜测"事实**
|
||||
- Core 收到 LLM 返回的**表达验证张量**来判断 LLM 是否正确表达了推理结果
|
||||
- **记忆子网** 独立负责知识存储与检索
|
||||
- **逻辑推理子网** 独立负责推理验证
|
||||
- **LLM 子网** 只负责语言表达,**从不"猜测"事实**
|
||||
- Core 通过分析 LLM 返回的表达验证张量来判断输出正确性
|
||||
|
||||
### ⚡ 效率与灵活性 — 冷热数据分离
|
||||
### 🔒 严格的输入/输出边界
|
||||
|
||||
- **热区(张量通信层)**:子网间传递轻量级张量,仅携带元数据和向量
|
||||
- **温区(图数据库)**:结构化知识图谱,支持 Cypher 查询
|
||||
- **冷区(原始存储)**:完整原始数据,按需拉取
|
||||
```
|
||||
输入 → [路由子网] → [Core+记忆+逻辑] → [LLM] → 输出
|
||||
唯一入口 内部 唯一出口
|
||||
```
|
||||
|
||||
### 🎯 LLM 下位化
|
||||
- 路由子网是**唯一**与外部输入交互的组件
|
||||
- LLM 子网是**唯一**与外部输出交互的组件
|
||||
- Core 是**纯内部层**,不暴露给用户
|
||||
- 记忆子网是**唯一记忆模块**,Core 不越权直接操作记忆
|
||||
|
||||
LLM 不再是"全知怪物",而是降级为专业的**语言生成引擎**:
|
||||
- 知识来源:记忆子网 → 不依赖 LLM 自身参数知识
|
||||
- 逻辑来源:推理子网 → LLM 不负责推理
|
||||
- 输入:结构化推理路径张量 → 不是原始问题
|
||||
### ⚡ 效率与灵活性
|
||||
|
||||
- **张量通信**:子网间传递轻量级张量
|
||||
- **滑动窗口**:路由子网暂存原始数据,一轮结束后再处理
|
||||
- **记忆自治**:记忆子网自主决定存储策略
|
||||
|
||||
## 快速开始
|
||||
|
||||
@ -220,31 +226,31 @@ NextAgent/
|
||||
│ │ └── memory_aggregator.py # 记忆聚合器
|
||||
│ ├── protocol/ # 张量协议层
|
||||
│ │ ├── tensor_schema.py # 标准张量定义
|
||||
│ │ ├── encoder.py # 编码层
|
||||
│ │ └── decoder.py # 解码层
|
||||
│ ├── subnets/ # 四大子网实现
|
||||
│ │ ├── routing_compression/ # 路由与压缩子网
|
||||
│ │ ├── encoder.py # 编码器基类
|
||||
│ │ └── decoder.py # 解码器基类
|
||||
│ ├── subnets/ # 子网实现
|
||||
│ │ ├── routing_compression/ # 路由与压缩子网(唯一输入)
|
||||
│ │ ├── memory/ # 记忆子网(图DB+向量DB+文本)
|
||||
│ │ ├── logic_trace/ # 逻辑链路追踪子网
|
||||
│ │ └── llm_expression/ # LLM 表达子网
|
||||
│ │ └── llm_expression/ # LLM 表达子网(唯一输出)
|
||||
│ └── storage/ # 存储层
|
||||
│ ├── graph_db/ # Neo4j 图数据库客户端
|
||||
│ ├── vector_db/ # 向量数据库客户端
|
||||
│ └── text_store/ # 文本记忆存储
|
||||
├── tests/ # 测试套件
|
||||
├── config/ # 配置文件
|
||||
└── requirements.txt # 依赖
|
||||
├── tests/
|
||||
├── config/
|
||||
└── requirements.txt
|
||||
```
|
||||
|
||||
## 文档索引
|
||||
|
||||
| 文档 | 内容 |
|
||||
|------|------|
|
||||
| [架构总览](docs/architecture-overview.md) | 整体设计、张量协议、启发式调度、记忆更新机制 |
|
||||
| [路由与压缩子网](docs/routing-compression-subnet.md) | 多模态编码、压缩训练、张量化训练 |
|
||||
| [记忆子网](docs/memory-subnet.md) | 三级存储、图数据库设计、训练计划(参考 TrulyMEM) |
|
||||
| [架构总览](docs/architecture-overview.md) | 整体设计、张量协议、启发式调度、边界规则 |
|
||||
| [路由与压缩子网](docs/routing-compression-subnet.md) | 唯一输入路径、滑动窗口、标签张量、两阶段处理 |
|
||||
| [记忆子网](docs/memory-subnet.md) | 唯一记忆模块、自治读写、三级存储(参考 TrulyMEM)|
|
||||
| [逻辑链路追踪神经网络](docs/logic-trace-subnet.md) | RLHF+PRM、MCTS、自我修正训练 |
|
||||
| [LLM 子网](docs/llm-subnet.md) | 双输出通道、SFT/RLHF 微调、表达验证训练 |
|
||||
| [LLM 子网](docs/llm-subnet.md) | 唯一输出路径、双输出通道、表达验证训练 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user