Files
NextAgent/README.md
root 3345394bf5 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
2026-06-01 09:38:33 +08:00

258 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NextAgent — 认知解耦智能体架构
NextAgent 是一套颠覆传统单一 LLM 模式的**认知解耦智能体架构**。通过模拟人脑的模块化分工,将认知、记忆、推理与表达分离为独立子网,子网间通过**统一张量协议**通信,从根本上解决大模型的**幻觉**问题与**效率瓶颈**。
## 核心架构
```
┌──────────────┐
│ 用户 │
│ (输入/输出) │
└──────┬───────┘
│
┌──────────▼──────────┐
│ 外部输入/输出 │
│ (唯一接入外部路径) │
└──────┬──────┬───────┘
│ │
┌──────▼──┐ ┌─▼────────┐
│ 路由与 │ │ LLM │
│ 压缩子网 │ │ 子网 │
│(唯一输入) │ │(唯一输出) │
│ 多模态 │ │ 自然语言 │
│ 特征提取 │ │ 给用户 │
│ 标签张量 │ │ │
└──────┬──┘ └────┬──────┘
│ │
│ 张量通信层 │
│ (内部通信) │
▼ ▼
┌──────────────────────────┐
│ 调度 Core (内部层) │
│ 启发式调度 · 内部分发 │
│ │
│ ┌──────────┐ ┌────────┐ │
│ │ 记忆子网 │ │ 逻辑子网 │ │
│ │(唯一记忆) │ │(推理回路)│ │
│ │ 自治读写 │ │ 验证重规│ │
│ │ 图DB/向量 │ │ 划/错误│ │
│ │ /文本 │ │ 追溯 │ │
│ └──────────┘ └────────┘ │
└──────────────────────────┘
```
### 边界规则
| 方向 | 路径 | 说明 |
|------|------|------|
| **输入** | 用户 → 路由与压缩子网(唯一) | 所有图像/文本/语音必须经过路由子网,且仅此一路 |
| **输出** | LLM 子网 → 用户(唯一) | 当前仅 LLM 输出自然语言,可扩展图像/视频输出子网 |
| **内部** | 调度 Core + 子网 | Core 是内部调度层,不直接与用户交互 |
| **记忆** | 记忆子网(自治) | 唯一记忆模块。Core 仅传递查询张量+新信息张量,如何更新/删除/修改由记忆子网自行决策 |
### Mermaid 架构图
```mermaid
graph TB
User["用户"] -->|"图像/文本/语音"| RCN["路由与压缩子网<br/>(唯一输入路径)"]
subgraph Internal ["系统内部"]
direction TB
Core["调度 Core<br/>(内部调度层)"]
MEM["记忆子网<br/>(唯一记忆模块·自治)"]
LTC["逻辑链路追踪子网<br/>(推理回路)"]
end
RCN -->|"标签张量"| Core
Core -->|"查询张量+新信息"| MEM
MEM -->|"记忆张量"| Core
Core -->|"推理请求"| LTC
LTC -->|"推理路径张量"| Core
Core -->|"推理路径"| LLM["LLM 子网<br/>(唯一输出路径)"]
LLM -->|"自然语言"| User
LLM -.->|"表达验证张量"| Core
RCN -.->|"滑动窗口保留原始数据"| Raw["临时原始数据"]
Core -.->|"一轮结束后调度处理"| RCN
```
## 通信机制:统一张量协议 (Unified Tensor Protocol)
所有子网间不传递自然语言,而是通过**统一张量协议**通信。该协议基于**适配器模式(Adapter Pattern)**和**门面模式(Facade Pattern)**设计,旨在解决模块异构性与通信效率问题。
### 核心设计模式
#### 适配器模式(编解码层)
每个子网通过一个**编解码层(Codec Layer)**与外部通信,负责将子网内部的私有数据格式(如 PyTorch Tensor、自定义结构等)转换为统一的标准张量格式:
```
┌─────────────┐ ┌───────────────────┐ ┌─────────────┐
│ 子网内部 │ ──→ │ 编码器 (Encoder) │ ──→ │ 标准张量 │
│ 私有格式 │ │ 适配器: 内部→标准 │ │ (统一格式) │
└─────────────┘ └───────────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌───────────────────┐ ┌─────────────┐
│ 子网内部 │ ←── │ 解码器 (Decoder) │ ←── │ 标准张量 │
│ 私有格式 │ │ 适配器: 标准→内部 │ │ (统一格式) │
└─────────────┘ └───────────────────┘ └─────────────┘
```
**作用**:屏蔽不同子网/框架的实现差异。新的子网只要实现编解码适配器,就能接入系统,无需修改调度 Core 或其他已有模块。
#### 门面模式(统一张量接口)
协议对外暴露统一的、简单的接口,隐藏底层复杂的通信过程:
```python
# 统一接口门面 (Facade)
interface TensorBus:
def send(tensor: StandardTensor, target: str) -> None
def recv(source: str) -> StandardTensor
```
调度 Core 和各子网无需关心数据是通过共享内存、NPU 显存直传还是 TCP/IP 传输,只需与统一的张量门面交互。
### 标准张量格式
```
┌─────────────────────────────────────────────┐
│ 标准张量 (Standard Tensor) │
├─────────────────────────────────────────────┤
│ Header: 源子网 · 目标子网 · 类型 · 时间戳 │
│ Metadata: 维度 · 精度 · 压缩率 · 置信度 │
│ Payload: 实际数据(向量/结构化数据) │
│ Signature: SHA-256 校验 │
└─────────────────────────────────────────────┘
```
### 核心优势
#### 动态并网与即插即用
- 新的子网只需实现编解码适配器即可向 Core 注册,支持**运行时热插拔**
- 各子网独立迭代算法,接口不变即不影响系统稳定性
- 支持运行时根据需求动态创建/销毁子网
#### 零拷贝(Zero-Copy)
在支持分布式能力的系统上,张量可通过**内核旁路技术**直接在设备间传递内存地址,避免将数据从 NPU/GPU 搬回 CPU 再打包的昂贵序列化开销。
#### 硬件亲和性
张量是 NPU/GPU 的**原生计算单元**,协议允许数据在设备内存池中直接流转,无需格式转换,大幅降低延迟和 CPU 占用。
#### 高数据保真度
相比于文本或 JSON 协议,张量能**无损传递高维特征图、注意力权重矩阵**等复杂数值结构,确保传递的是完整的"思维向量"而非降维后的符号化描述。
## 调度方式:启发式调度
Core 的调度是启发式的,非流式管线。每次收到数据包后动态决策:
1. 路由子网处理输入 → 生成标签张量 → 交给 Core
2. Core 根据标签判断任务类型,调用记忆子网检索上下文
3. 根据记忆结果决定下一步——可能再次调路由提取、送逻辑推理、再查记忆……
4. 反复、多方式调用子网,逐步收敛
5. 将子网结果聚合 → 交记忆子网自主更新
6. 本轮结束后,Core 再调度路由子网对暂存的原始数据进行处理(标签生成、压缩、归档)
## 子网职责
| 子网 | 角色 | 核心职责 |
|------|------|---------|
| **路由与压缩子网** | 🚪 唯一输入路径 | 处理多模态输入,生成标签张量,滑动窗口暂存原始数据 |
| **记忆子网** | 🧠 唯一记忆模块(自治) | 独立管理图数据库+向量数据库+文本三级存储,自行决策如何更新/删除/修改 |
| **逻辑链路追踪神经网络** | 🔗 推理回路 | 逻辑验证、错误追溯、路径重规划、自我修正 |
| **LLM 子网** | 📤 唯一输出路径 | 结构化→自然语言给用户 + 表达验证张量给Core |
| **调度 Core** | 🎯 内部调度层 | 启发式统筹调度,不直接与用户交互 |
## 设计哲学
### 🧠 认知解耦 — 解决"幻觉"问题
传统单一 LLM 的幻觉根源:**知识存储与语言表达在同一网络中耦合**。NextAgent 将两者解耦:
- **记忆子网** 独立负责知识存储与检索
- **逻辑推理子网** 独立负责推理验证
- **LLM 子网** 只负责语言表达,**从不"猜测"事实**
- Core 通过分析 LLM 返回的表达验证张量来判断输出正确性
### 🔒 严格的输入/输出边界
```
输入 → [路由子网] → [Core+记忆+逻辑] → [LLM] → 输出
唯一入口 内部 唯一出口
```
- 路由子网是**唯一**与外部输入交互的组件
- LLM 子网是**唯一**与外部输出交互的组件
- Core 是**纯内部层**,不暴露给用户
- 记忆子网是**唯一记忆模块**,Core 不越权直接操作记忆
### ⚡ 效率与灵活性
- **张量通信**:子网间传递轻量级张量
- **滑动窗口**:路由子网暂存原始数据,一轮结束后再处理
- **记忆自治**:记忆子网自主决定存储策略
## 快速开始
```bash
# 克隆仓库
git clone ssh://git@jianfgit.xyz:220/jianf/NextAgent.git
cd NextAgent
# 查看文档
# 架构总览:docs/architecture-overview.md
# 子网细节:docs/routing-compression-subnet.md
# docs/memory-subnet.md
# docs/logic-trace-subnet.md
# docs/llm-subnet.md
```
## 目录结构
```
NextAgent/
├── README.md # 项目概述(本文件)
├── docs/
│ ├── architecture-overview.md # 架构总览(核心)
│ ├── routing-compression-subnet.md # 路由与压缩子网
│ ├── memory-subnet.md # 记忆子网
│ ├── logic-trace-subnet.md # 逻辑链路追踪神经网络
│ └── llm-subnet.md # LLM 子网
├── src/
│ ├── core/ # 调度 Core
│ │ ├── scheduler.py # 启发式调度引擎
│ │ ├── task_parser.py # 任务解析器
│ │ └── memory_aggregator.py # 记忆聚合器
│ ├── protocol/ # 张量协议层
│ │ ├── tensor_schema.py # 标准张量定义
│ │ ├── encoder.py # 编码器基类
│ │ └── decoder.py # 解码器基类
│ ├── subnets/ # 子网实现
│ │ ├── routing_compression/ # 路由与压缩子网(唯一输入)
│ │ ├── memory/ # 记忆子网(图DB+向量DB+文本)
│ │ ├── logic_trace/ # 逻辑链路追踪子网
│ │ └── llm_expression/ # LLM 表达子网(唯一输出)
│ └── storage/ # 存储层
│ ├── graph_db/ # Neo4j 图数据库客户端
│ ├── vector_db/ # 向量数据库客户端
│ └── text_store/ # 文本记忆存储
├── tests/
├── config/
└── requirements.txt
```
## 文档索引
| 文档 | 内容 |
|------|------|
| [架构总览](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) | 唯一输出路径、双输出通道、表达验证训练 |
---
> NextAgent — 让智能体像人脑一样思考,模块化、可解释、可信赖。