fix: correct architecture docs - tensor protocol, heuristic scheduling, LLM dual output, memory update mechanism

Key corrections:
- Subnets communicate via Standard Tensor Protocol, not natural language
- Core scheduling is heuristic (non-linear), not pipeline-based
- LLM subnet has dual output: natural language→user, expression tensor→Core
- Core aggregates subnet results → memory update parameter tensor → memory subnet
- Added TrulyMEM-style graph DB (Neo4j) reference in memory-subnet.md
- LLM is demoted to specialized language generation engine
- All docs include correct tensor schemas, architecture diagrams, and training plans
This commit is contained in:
root
2026-06-01 09:20:14 +08:00
parent 398d35c50b
commit bf0af3709c
6 changed files with 1492 additions and 1068 deletions

202
README.md
View File

@ -1,109 +1,149 @@
# NextAgent — 认知解耦智能体架构
NextAgent 是一套颠覆传统单一 LLM 模式的**认知解耦智能体架构**。通过模拟人脑的模块化分工,将认知、记忆、推理与表达分离为独立子网,从根本上解决大模型的**幻觉**问题与**效率瓶颈**。
NextAgent 是一套颠覆传统单一 LLM 模式的**认知解耦智能体架构**。通过模拟人脑的模块化分工,将认知、记忆、推理与表达分离为独立子网,子网间通过**自定义张量协议**通信,从根本上解决大模型的**幻觉**问题与**效率瓶颈**。
## 核心架构
```
┌─────────────────────────────────────────────────────────────┐
│ NextAgent 架构总览 │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ 调度 Core(前额叶皮层) │ │
│ │ 逻辑判断 · 任务调度 · 信息同步 │ │
│ └──────┬──────────┬──────────┬──────────┬────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 路由与压缩 │ │ 记忆子网 │ │ 逻辑链路 │ │ LLM 子网 │ │
│ │ (感觉中枢) │ │(海马体/皮层)│ │追踪神经网络│ │(布洛卡区) │ │
│ │ │ │ │ │ (推理回路) │ │ │ │
│ │ 多模态 │ │ 长期记忆 │ │ 逻辑验证 │ │ 结构化→自然│ │
│ │ 特征提取 │ │ 知识图谱 │ │ 自我修正 │ │ 多语言输出 │ │
│ │ 信息压缩 │ │ 情景索引 │ │ 路径重规划 │ │ 情感表达 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │ │
│ └──────────┴──────────┴──────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ 冷区存储(原始数据) │ │
│ └────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ 应用层 (CLI/API/SDK) │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────────┐
│ 调度 Core (前额叶皮层) │
│ 启发式调度 · 逻辑判断 · 任务解析 · 记忆聚合 │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ │
│ │ 任务解析器 │ │ 调度策略引擎 │ │ 记忆聚合器 │ │
│ │ 拆解用户意图 │ │ 启发式调度规则 │ │ 汇总子网结果→记忆参数包 │ │
│ └──────────────┘ └──────────────┘ └────────────────────────┘ │
└──────┬──────┬──────┬──────┬──────┬──────┬──────┬───────────────────┘
│ │ │ │ │ │ │
│ └──张量通信层──┐ │ │ │
│ (Standard Tensor Protocol) │ │
▼ ▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 路由与压缩 │ ←──→ │ 记忆子网 │ │ 逻辑链路 │ │ LLM 子网 │
│(感觉中枢) │ 张 量 │(海马体/皮层)│ │追踪神经网络│ │(布洛卡区) │
│ │ │ │ │ (推理回路) │ │ │
│ 多模态 │ │ 图数据库 │ │ 逻辑验证 │ │ 自然语言→用户 │
│ 特征提取 │ │ 向量数据库 │ │ 自我修正 │ │ 表达张量→Core │
│ 信息压缩 │ │ 文本记忆 │ │ 路径重规划 │ │ │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
│
▼
┌────────────────────┐
│ 存储层 (冷区存储) │
│ 原始数据 · 索引 │
└────────────────────┘
```
### Mermaid 架构图
```mermaid
graph TB
Core["调度 Core<br/>(前额叶皮层)"]
User["用户"] -->|"自然语言/多模态输入"| Core["调度 Core<br/>(前额叶皮层)"]
subgraph TensorLayer ["张量通信层 (Standard Tensor Protocol)"]
direction LR
TE["编码层<br/>Encoder: 内部张量→标准张量"]
TD["解码层<br/>Decoder: 标准张量→内部张量"]
end
subgraph Subnets ["四大子网"]
RCN["路由与压缩子网<br/>(感觉中枢)"]
MEM["记忆子网<br/>(海马体与皮层)"]
LTC["逻辑链路追踪神经网络<br/>(推理回路)"]
RCN["路由与压缩子网<br/>(感觉中枢)<br/>多模态→标准张量"]
MEM["记忆子网<br/>(海马体与皮层)<br/>图DB+向量DB+文本"]
LTC["逻辑链路追踪<br/>神经网络<br/>(推理回路)"]
LLM["LLM 子网<br/>(布洛卡区/表达核)"]
end
Cold["冷区存储<br/>(原始数据)"]
Cold["冷区存储<br/>原始数据"]
Core -->|"任务调度"| RCN
Core -->|"记忆存取"| MEM
Core -->|"推理验证"| LTC
Core -->|"表达输出"| LLM
Core -->|"启发式调度"| RCN
Core -->|"启发式调度"| MEM
Core -->|"启发式调度"| LTC
Core -->|"启发式调度|张量"| LLM
RCN -.->|"标准张量"| Core
MEM -.->|"记忆检索张量"| Core
LTC -.->|"推理路径张量"| Core
LLM -.->|"表达验证张量"| Core
LLM -->|"自然语言"| User
RCN -->|"压缩引用包"| Core
MEM -->|"检索记忆"| Core
LTC -->|"验证结果"| Core
LLM -->|"自然语言"| Core
Core -->|"热数据"| Cold
Cold -->|"按需拉取"| Core
RCN -.->|"引用-拉取"| MEM
RCN -.->|"引用-拉取"| LTC
RCN -.->|"引用-拉取"| LLM
Core -->|"记忆更新参数张量"| MEM
MEM -->|"读写"| Cold
RCN -.-> Cold
LTC -.-> Cold
```
## 通信机制:自定义张量协议
所有子网间不传递自然语言,而是通过**标准张量协议(Standard Tensor Protocol)**通信:
```
┌─────────────────────────────────────────────┐
│ 标准张量 (Standard Tensor) │
├─────────────────────────────────────────────┤
│ Header: 源子网 · 目标子网 · 类型 · 时间戳 │
│ Metadata: 维度 · 精度 · 压缩率 · 置信度 │
│ Payload: 实际数据(向量/结构化数据) │
│ Signature: SHA-256 校验 │
└─────────────────────────────────────────────┘
```
各模型通过**编码层(Encoder)**将内部张量转换为标准张量,通过**解码层(Decoder)**将标准张量还原为内部张量。
## 调度方式:启发式调度
Core 的调度不是线性流式的。每次收到数据包后:
1. 解析输入 → 判断任务类型
2. 调用记忆子网检索上下文
3. 根据记忆结果决定:是否再次调用路由提取输入 → 送逻辑推理 → 再查记忆 → ...
4. 反复、多方式调用子网,逐步收敛到最终结果
5. 将所有子网结果聚合,打包为记忆更新参数包 → 送记忆子网更新
## 四大子网概述
| 子网 | 类比人脑 | 核心职责 | 关键技术 |
| 子网 | 类比人脑 | 核心职责 | 通信方式 |
|------|---------|---------|---------|
| **路由与压缩子网** | 感觉中枢 | 多模态特征提取、信息压缩、引用包生成 | SimCLR/MoCo、知识蒸馏、AutoEncoder |
| **记忆子网** | 海马体与皮层 | 长期存储与检索、情景索引、知识图谱 | MANN、GNN、引用-拉取机制 |
| **逻辑链路追踪神经网络** | 推理回路 | 逻辑验证、错误追溯、路径重规划、自我修正 | RLHF + PRM、MCTS、错误案例数据集 |
| **LLM 子网** | 布洛卡区/表达核 | 结构化→自然语言、情感表达、多语言输出 | SFT、RLHF、多语言对齐 |
| **路由与压缩子网** | 感觉中枢 | 多模态特征提取、信息压缩、引用张量生成 | 标准张量 |
| **记忆子网** | 海马体与皮层 | 图数据库+向量数据库+文本三级记忆存储与检索 | 记忆检索张量 / 记忆更新参数张量 |
| **逻辑链路追踪神经网络** | 推理回路 | 逻辑验证、错误追溯、路径重规划、自我修正 | 推理路径张量 |
| **LLM 子网** | 布洛卡区/表达核 | 结构化→自然语言(给用户)+ 表达验证张量(给Core) | 表达验证张量 |
## 设计哲学
### 🧠 认知解耦 —— 解决"幻觉"问题
### 🧠 认知解耦 — 解决"幻觉"问题
传统单一 LLM 的幻觉根源:**知识存储与语言表达在同一网络中耦合**。NextAgent 将两者解耦:
- **记忆子网** 负责存储和检索事实知识
- **LLM 子网** 只负责将结构化信息转换为自然语言
- 两者通过 **引用包机制** 通信,LLM 子网从不"猜测"事实
- **记忆子网** 负责存储和检索事实知识(图数据库 + 向量数据库)
- **逻辑推理子网** 负责验证推理链的正确性
- **LLM 子网** 只负责将结构化信息转换为自然语言,**从不"猜测"事实**
- Core 收到 LLM 返回的**表达验证张量**来判断 LLM 是否正确表达了推理结果
### ⚡ 效率与灵活性 —— 冷热数据分离
### ⚡ 效率与灵活性 — 冷热数据分离
- **热区(计算单元)**:只处理当前任务需要的活跃数据
- **冷区(原始存储)**:全部原始数据以压缩格式存储
- **引用-拉取机制**:子网间传递轻量级引用包,仅在需要时拉取完整数据
- **热区(张量通信层)**:子网间传递轻量级张量,仅携带元数据和向量
- **温区(图数据库)**:结构化知识图谱,支持 Cypher 查询
- **冷区(原始存储)**:完整原始数据,按需拉取
### 🎯 LLM 下位化
LLM 不再是"全知怪物",而是降级为专业的**语言生成引擎**:
- 知识来源:记忆子网 → 不依赖 LLM 自身参数知识
- 逻辑来源:推理子网 → LLM 不负责推理
- 输入:结构化推理路径张量 → 不是原始问题
## 快速开始
```bash
# 克隆仓库
git clone https://github.com/your-org/NextAgent.git
git clone ssh://git@jianfgit.xyz:220/jianf/NextAgent.git
cd NextAgent
# 环境准备
python -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 查看文档
# 架构总览:docs/architecture-overview.md
# 子网细节:docs/routing-compression-subnet.md
@ -118,29 +158,43 @@ pip install -r requirements.txt
NextAgent/
├── README.md # 项目概述(本文件)
├── docs/
│ ├── architecture-overview.md # 架构概览
│ ├── 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/ # 四大子网实现
│ └── storage/ # 冷区存储
│ │ ├── routing_compression/ # 路由与压缩子网
│ │ ├── memory/ # 记忆子网(图DB+向量DB+文本)
│ │ ├── logic_trace/ # 逻辑链路追踪子网
│ │ └── llm_expression/ # LLM 表达子网
│ └── storage/ # 存储层
│ ├── graph_db/ # Neo4j 图数据库客户端
│ ├── vector_db/ # 向量数据库客户端
│ └── text_store/ # 文本记忆存储
├── tests/ # 测试套件
├── config/ # 配置文件
└── requirements.txt # Python 依赖
└── requirements.txt # 依赖
```
## 文档索引
| 文档 | 内容 |
|------|------|
| [架构概览](docs/architecture-overview.md) | 整体设计、调度 Core 职责、子网通信 |
| [路由与压缩子网](docs/routing-compression-subnet.md) | 多模态编码、训练计划、评估指标 |
| [记忆子网](docs/memory-subnet.md) | MANN、GNN、引用-拉取训练策略 |
| [架构总览](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) | 双输出通道、SFT/RLHF 微调、表达验证训练 |
---

View File

@ -2,51 +2,296 @@
## 整体架构设计
NextAgent 采用 **认知解耦架构(Cognitive Decoupled Architecture)**,将传统单一 LLM 拆解为多个具有独立职能的子网,通过调度 Core 统一协调。每个子网类比人脑的一个功能区域,各司其职、协同工作。
NextAgent 采用**认知解耦架构(Cognitive Decoupled Architecture)**,将传统单一 LLM 拆解为多个具有独立职能的子网,通过调度 Core 统一协调,子网间通过**标准张量协议**通信。
### 设计原则
- **单一职责**:每个子网只负责一种认知功能,降低复杂度
- **信息压缩**:子网间传递轻量级引用包而非原始数据
- **冷热分离**:活跃数据在计算单元处理,原始数据存储在冷区
- **可追溯**:每次推理决策都有完整的链路追踪记录
- **张量通信**:子网间不传递自然语言,通过标准张量协议交换信息
- **冷热分离**:活跃数据以张量形式在子网间传递,原始数据存储在冷区
- **启发式调度**:Core 根据上下文动态决定调用顺序和方式,非线性执行
- **LLM 下位化**:LLM 降级为专业语言生成引擎,知识与逻辑均外置
### 架构分层
```
┌──────────────────────────────────────────────────────────────┐
│ 应用层 │
│ CLI / API / SDK / Web Interface / 第三方集成 │
└──────────────────────┬───────────────────────────────────────┘
│
┌──────────────────────▼───────────────────────────────────────┐
│ 调度 Core(前额叶皮层) │
│ ┌────────────┐ ┌────────────┐ ┌────────────────────────┐ │
│ │ 任务解析器 │ │ 调度引擎 │ │ 同步总线 │ │
│ │ 拆解用户意图 │ │ 分配子任务 │ │ 子网间状态同步 │ │
│ └────────────┘ └────────────┘ └────────────────────────┘ │
└──────┬──────┬──────┬──────┬──────┬──────┬──────┬───────────┘
│ │ │ │ │ │ │
┌──────▼──┐ ┌─▼──────┐ ┌─▼──────┐ ┌─▼──────┐ ┌─▼──────────┐
│ 路由与 │ │ 记忆 │ │ 逻辑链路 │ │ LLM │ │ 冷区存储 │
│ 压缩子网 │ │ 子网 │ │ 追踪子网 │ │ 子网 │ │ (原始数据) │
│(感觉中枢) │ │(海马体) │ │(推理回路)│ │(布洛卡) │ │ │
└─────────┘ └────────┘ └────────┘ └────────┘ └────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 应用层 │
│ CLI / API / SDK / Web Interface / 第三方集成 │
└───────────────────────┬─────────────────────────────────────────┘
│
┌───────────────────────▼─────────────────────────────────────────┐
│ 调度 Core(前额叶皮层) │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────────────────┐ │
│ │ 任务解析器 │ │ 调度策略引擎 │ │ 记忆聚合器 │ │
│ │ 拆解用户意图 │ │ 启发式调度规则 │ │ 汇总子网结果→记忆参数包 │ │
│ └──────────────┘ └──────────────┘ └────────────────────────┘ │
└──────┬──────┬──────┬──────┬──────┬──────┬───────────────────────┘
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ 张量通信层(核心创新) │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 标准张量 (Standard Tensor) │ │
│ │ Header: 源/目标/类型/时间戳 | Payload: 数据 | Sig: 校验 │ │
│ │ 各子网通过 编码层(Encoder) → 标准张量 → 解码层(Decoder) │ │
│ └────────────────────────────────────────────────────────┘ │
└──────┬──────┬──────┬──────┬──────┬──────┬───────────────────────┘
│ │ │ │ │ │
┌──────▼──┐ ┌─▼──────┐ ┌─▼──────┐ ┌─▼──────┐ ┌─▼────────────────┐
│ 路由与 │ │ 记忆 │ │ 逻辑链路 │ │ LLM │ │ 存储层 │
│ 压缩子网 │ │ 子网 │ │ 追踪子网 │ │ 子网 │ │ ┌────────────┐ │
│(感觉中枢) │ │(海马体) │ │(推理回路)│ │(布洛卡) │ │ │ Neo4j 图DB │ │
│ │ │ │ │ │ │ │ │ │ 向量数据库 │ │
│ ViT │ │ Entity │ │ MCTS │ │ SFT │ │ │ 文本存储 │ │
│ Wav2Vec │ │ 三元组 │ │ PRM │ │ RLHF │ │ └────────────┘ │
│ BERT │ │ Cypher │ │ 路径追踪 │ │ 双输出 │ │ │
└──────────┘ └─────────┘ └─────────┘ └─────────┘ └────────────────┘
```
## 自定义张量协议(Standard Tensor Protocol)
这是 NextAgent 的核心创新——子网间通过标准化的张量格式通信,不传递自然语言。
### 标准张量格式
```json
{
"header": {
"source": "routing_compression | memory | logic_trace | llm | core",
"target": "routing_compression | memory | logic_trace | llm | core",
"tensor_type": "ref_tensor | memory_query | memory_result | reasoning_path | expression_verify | memory_update | control",
"timestamp": 1717200000,
"trace_id": "uuid-会话追踪ID"
},
"metadata": {
"dimensions": [768, 128], // 张量维度
"precision": "float32", // 精度类型
"compression_ratio": 0.85, // 压缩率
"confidence": 0.92, // 置信度
"encoding_model": "transformer_v3" // 编码模型标识
},
"payload": {
"data": [0.12, -0.34, ...], // 实际数据(向量/结构化数据)
"indices": [1024, 2048, ...], // 冷区索引(可选)
"metadata_map": {} // 附加元数据
},
"signature": "sha256-checksum" // 完整性校验
}
```
### 张量类型
| 张量类型 | 说明 | 发送方 → 接收方 |
|----------|------|----------------|
| `ref_tensor` | 引用张量,压缩后的多模态特征 | 路由子网 → Core |
| `memory_query` | 记忆查询张量 | Core → 记忆子网 |
| `memory_result` | 记忆检索结果张量 | 记忆子网 → Core |
| `reasoning_path` | 推理路径与验证结果张量 | 逻辑子网 → Core |
| `expression_verify` | 表达验证张量(含语义编码、置信度) | LLM 子网 → Core |
| `memory_update` | 记忆更新参数包张量 | Core → 记忆子网 |
| `control` | 控制信号张量(启停、参数调整) | Core → 任意子网 |
### 编/解码机制
每个子网都配备编码层和解码层:
```
┌─────────────┐ ┌───────────────────┐ ┌─────────────┐
│ 子网内部 │ ──→ │ 编码层 (Encoder) │ ──→ │ 标准张量 │
│ 内部张量 │ │ 内部格式→标准格式 │ │ (通信格式) │
└─────────────┘ └───────────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌───────────────────┐ ┌─────────────┐
│ 子网内部 │ ←── │ 解码层 (Decoder) │ ←── │ 标准张量 │
│ 内部张量 │ │ 标准格式→内部格式 │ │ (通信格式) │
└─────────────┘ └───────────────────┘ └─────────────┘
```
## 调度 Core(前额叶皮层)
调度 Core 是整个架构的**总指挥**,类比人脑的前额叶皮层,负责高级认知功能。
调度 Core 是整个架构的**总指挥**,类比人脑的前额叶皮层。
### 核心职责
1. **任务解析**:接收用户输入,拆解为可执行的子任务序列
2. **调度决策**:根据任务类型,决定调用哪些子网及调用顺序
3. **信息同步**:维护子网间的共享上下文状态
4. **冲突解决**:当子网返回矛盾结果时,启动仲裁机制
5. **链路追踪**:记录完整的推理决策路径,支持回溯
2. **启发式调度决策**:根据上下文动态决定调用子网的方式和顺序,非线性
3. **子网结果聚合**:收集各子网返回的张量,综合分析
4. **表达验证**:接收 LLM 返回的表达验证张量,判断输出质量
5. **记忆聚合**:汇总各子网结果,打包为记忆更新参数包张量
6. **冲突解决**:当子网返回矛盾结果时,启动仲裁机制
### 工作流程
### Core 内部组件
| 组件 | 职责 |
|------|------|
| **任务解析器 (Task Parser)** | 接收输入,拆解任务图 |
| **调度策略引擎 (Scheduler)** | 维护启发式调度规则,决定下一步调哪个子网 |
| **上下文管理器 (Context Manager)** | 维护会话状态和中间结果 |
| **表达验证器 (Expression Verifier)** | 接收 LLM 的表达验证张量,判断正确性 |
| **记忆聚合器 (Memory Aggregator)** | 汇总多子网结果,打包为记忆更新参数张量 |
### 启发式调度流程(非流式!)
Core 的调度不是线性管线式的。每次收到数据包后,会基于当前状态动态决策:
```
输入到达
│
▼
┌──────────────────┐
│ 1. 任务解析 │ ── 拆解用户意图,生成初始任务图
└──────┬───────────┘
│
▼
┌──────────────────┐
│ 2. 调用记忆子网 │ ── "之前聊过这个吗?"
│ 查询上下文 │ 第一次记忆检索
└──────┬───────────┘
│
▼
┌──────────────────┐
│ 3. 启发式判断 │ ← 根据记忆结果决定下一步
│ │ 有相关记忆?→ 送逻辑推理 + 可能再次调路由提取更多信息
│ │ 无相关记忆?→ 调路由子网全面提取输入特征
│ │ 输入不清晰?→ 再次调路由子网重新提取特征
│ │ 需要更多背景?→ 再次调记忆子网深度检索
│ │ 歧义?→ 多次调不同子网交叉验证
└──────┬───────────┘
│
▼
┌──────────────────┐
│ 4. 循环调度 │ ── 反复、多方式调用子网
│ (可能多轮) │ 记忆→推理→记忆→路由→推理→...
└──────┬───────────┘
│
▼
┌──────────────────┐
│ 5. 送 LLM 表达 │ ── 推理结果足够可靠后,送 LLM 生成自然语言
│ + 接收验证张量 │ Core 收到表达验证张量 → 判断正确性
└──────┬───────────┘
│
▼
┌──────────────────┐
│ 6. 记忆聚合更新 │ ── 汇总本轮回所有子网结果
│ │ 打包为 memory_update 张量
│ │ 送记忆子网执行存储
└──────────────────┘
```
#### 启发式调度算法(简化伪代码)
```
function heuristic_process(input):
# 1. 任务解析
task_graph = parse_task(input)
# 2. 初始化调度状态
state = {
"task": task_graph,
"context": {},
"iteration": 0,
"confidence": 0.0,
"pending_signals": []
}
# 3. 启发式调度循环
while not is_complete(state) and state.iteration < MAX_ITERATIONS:
next_action = scheduler.decide_next_action(state)
# decide_next_action 根据当前状态、历史结果、置信度动态决定
# 可能调用:记忆查询、路由提取、逻辑推理、表达生成、记忆更新
if next_action.type == "memory_retrieve":
memory_tensor = memory_subnet.retrieve(next_action.params)
state.context["memory"] = memory_tensor
state.pending_signals.append(memory_tensor)
elif next_action.type == "routing_extract":
ref_tensor = routing_subnet.extract(next_action.params)
state.context["refined_input"] = ref_tensor
elif next_action.type == "logical_reason":
reasoning_tensor = logic_subnet.reason(state.context)
state.context["reasoning"] = reasoning_tensor
state.confidence = reasoning_tensor.metadata.confidence
elif next_action.type == "llm_express":
verify_tensor = llm_subnet.express(state.context)
# verify_tensor 包含语义编码和置信度,非自然语言
state.context["verification"] = verify_tensor
# 如果验证通过,置完成标记
if verify_tensor.metadata.confidence > THRESHOLD:
state.verified = True
# 4. 记忆聚合更新
update_tensor = memory_aggregator.build_update_tensor(state)
memory_subnet.store(update_tensor)
# 5. LLM 的自然语言已直接输出给用户
return state.verified
```
## LLM 子网双输出通道
LLM 子网的输出有两个去向,这是核心设计之一:
```
┌──────────────────────┐
│ LLM 子网 │
│ │
输入:结构化推理路径张量 ──→ LLM 核心处理
│ │
├── 通道1 ──────────────┤
│ → 自然语言文本 │ ──→ 直接输出给用户
│ │
├── 通道2 ──────────────┤
│ → 表达验证张量 │ ──→ 返回给 Core
│ (包含:语义编码、 │ Core 分析验证张量
│ 置信度、情感标记、 │ 判断 LLM 是否正确表达
│ 表达结构元数据) │ 而非获取自然语言内容
└──────────────────────┘
```
**关键点**:
- Core **不通过自然语言判断** LLM 的输出质量
- Core 通过分析**表达验证张量**(结构化数据)来判断
- 自然语言直接流向用户,Core 不截获
## 记忆更新机制
记忆更新不是由子网单独完成,而是由 Core 聚合多子网结果后统一触发:
```
┌──────────┐ 路由子网结果张量
│ 路由 │ ─────────────┐
└──────────┘ │
├──┐
┌──────────┐ 推理子网结果张量 │ │
│ 推理 │ ─────────────┤ │
└──────────┘ │ │
│ ├── Core 记忆聚合器 ── 打包 ──→ 记忆更新参数张量
┌──────────┐ 记忆子网交互结果 │ │ (MemoryAggregator) (MemoryUpdateTensor)
│ 记忆 │ ─────────────┤ │
└──────────┘ │ │
├──┘
┌──────────┐ Core 内部状态 │
│ Core │ ─────────────┘
└──────────┘
记忆更新参数张量 ──→ 记忆子网
│
├──→ 图数据库写入 (Neo4j)
│ (Entity + RELATES 三元组)
│
├──→ 向量索引更新
│ (语义向量写入)
│
└──→ 文本记忆记录
(会话日志归档)
```
## 数据流完整链路(用户视角)
```mermaid
sequenceDiagram
@ -57,146 +302,68 @@ sequenceDiagram
participant LTC as 逻辑链路追踪子网
participant LLM as LLM 子网
User->>Core: 用户输入/任务
Core->>RCN: 1. 发送原始输入
User->>Core: 自然语言/多模态输入
Core->>RCN: ① 路由提取(标准张量)
RCN->>RCN: 特征提取与压缩
RCN-->>Core: 返回引用包(RefPack)
RCN-->>Core: 返回引用张量
Core->>MEM: 2. 携带引用包检索记忆
MEM->>MEM: 搜索知识图谱与情景记忆
MEM-->>Core: 返回关联记忆引用包
Core->>MEM: ② 记忆检索(标准张量)
MEM->>MEM: 图数据库+向量检索
MEM-->>Core: 返回记忆结果张量
Core->>LTC: 3. 发送任务+记忆进行推理
LTC->>LTC: MCTS 推理路径搜索
LTC->>LTC: 逻辑验证与修正
LTC-->>Core: 返回验证后的推理路径
Note over Core: ③ 启发式判断<br/>根据记忆结果决定下一步
Core->>LLM: 4. 发送结构化推理结果
alt 需要更多输入特征
Core->>RCN: 再次调路由子网(携带记忆上下文)
RCN-->>Core: 返回更精确的引用张量
else 需要深层记忆
Core->>MEM: 二次记忆检索(携带路由新结果)
MEM-->>Core: 返回关联记忆张量
end
Core->>LTC: ④ 逻辑推理(标准张量)
LTC->>LTC: MCTS推理路径搜索+验证
LTC-->>Core: 返回推理路径张量
alt 推理置信度低
Core->>LTC: ⑤ 携带更多上下文重新推理
LTC-->>Core: 返回修正后的推理路径
end
Core->>LLM: ⑥ 表达生成(推理路径张量)
LLM->>LLM: 结构化→自然语言转换
LLM-->>Core: 返回自然语言输出
Core->>MEM: 5. 更新记忆(本次交互记录)
Core-->>User: 返回最终结果
```
### 调度算法伪代码
```
function process(input):
# 1. 任务解析
task_graph = parse_task(input)
LLM-->>User: ⑦ 自然语言输出(直接给用户)
LLM-->>Core: ⑧ 表达验证张量(判断正确性)
# 2. 逐节点执行
for node in topological_sort(task_graph):
# 2a. 路由与压缩
refpack = routing_subnet.compress(node.input)
# 2b. 记忆检索
memories = memory_subnet.retrieve(refpack)
# 2c. 逻辑推理
reasoning_path = logic_subnet.reason(refpack, memories)
# 2d. 若需语言输出
if node.requires_language:
output = llm_subnet.express(reasoning_path)
else:
output = reasoning_path
Note over Core: ⑨ 表达验证通过
# 3. 记忆更新
memory_subnet.store(interaction_record)
return output
```
## 子网间通信机制
### 引用包(RefPack)协议
所有子网间通信通过 **引用包(Reference Package)** 完成。引用包是一种轻量级的数据结构,包含:
```json
{
"refpack_id": "uuid-xxxx",
"type": "compressed_feature | memory_chunk | reasoning_path | expression",
"metadata": {
"source_subnet": "routing_compression",
"target_subnet": "memory",
"timestamp": 1717200000,
"compression_ratio": 0.85,
"confidence": 0.92
},
"payload": {
"dim": 768,
"data": [0.12, -0.34, ...], // 压缩向量或结构化数据
"indices": [1024, 2048, ...] // 冷区索引(可选)
},
"signature": "sha256-checksum"
}
```
### 引用-拉取机制
1. **引用阶段**:发送方生成轻量级引用包(通常 1-10 KB)
2. **路由阶段**:调度 Core 将引用包分发到目标子网
3. **拉取阶段**:目标子网根据引用包中的索引,按需从冷区拉取完整数据
4. **缓存阶段**:热区缓存常用数据,减少冷区访问频率
```mermaid
graph LR
A["发送方子网"] -->|"1. 生成引用包"| B["引用包 (1-10KB)"]
B -->|"2. 调度 Core 分发"| C["目标子网"]
C -->|"3. 按需拉取"| D["冷区存储"]
D -->|"4. 返回完整数据"| C
C -->|"5. 缓存热数据"| E["热区缓存"]
```
## 数据流
```mermaid
flowchart TD
Input["用户输入/多模态数据"] -->|"原始数据"| RCN["路由与压缩子网"]
RCN -->|"引用包"| Core["调度 Core"]
Core -->|"记忆查询"| MEM["记忆子网"]
MEM -->|"记忆引用包"| Core
Core -->|"推理请求"| LTC["逻辑链路追踪子网"]
LTC -->|"推理路径"| Core
Core -->|"表达请求"| LLM["LLM 子网"]
LLM -->|"自然语言"| Core
Core -->|"冷存储"| Cold["冷区存储"]
Cold -->|"按需拉取"| Core
RCN -.->|"引用包索引"| Cold
MEM -.->|"批量拉取"| Cold
Core -->|"最终输出"| Output["用户结果"]
style Input fill:#e1f5fe
style Output fill:#e8f5e9
style Core fill:#fff3e0,stroke:#ff9800,stroke-width:3px
style Cold fill:#f3e5f5
Core->>MEM: ⑩ 记忆更新(参数包张量)
MEM->>MEM: 图DB写入+向量索引更新+文本记录
```
## 关键设计决策
| 决策 | 选择 | 理由 |
|------|------|------|
| 子网间通信协议 | 引用包(RefPack) | 轻量级、低延迟、支持异步 |
| 冷区存储格式 | 压缩向量 + 倒排索引 | 高压缩率、快速模糊检索 |
| 调度策略 | 有向无环图(DAG)调度 | 支持并行执行与依赖管理 |
| 错误处理 | 三级降级(重试→降级→报错) | 保证系统鲁棒性 |
| 状态同步 | 事件驱动 + 共享内存 | 低延迟、去中心化 |
| 子网间通信方式 | 标准张量协议 | 不依赖自然语言,结构化、可验证、低延迟 |
| 调度策略 | 启发式调度 | 灵活、适应复杂任务,非固定管线 |
| LLM 输出机制 | 双通道(自然语言→用户 / 张量→Core) | 解耦表达与验证 |
| 记忆存储 | 图数据库(Neo4j) + 向量数据库 + 文本 | 结构化 + 语义 + 时序 三保险 |
| 记忆更新触发 | Core 聚合后统一封装 | 确保记忆一致性,避免碎片化写入 |
| LLM 定位 | 专业语言生成引擎 | 不存储知识、不负责推理 |
## 与现有架构对比
| 特性 | 传统单一 LLM | Agent + 工具调用 | NextAgent(认知解耦) |
|------|-------------|----------------|-------------------|
| 知识存储 | 模型参数内隐式存储 | 外部工具/数据库 | 专用记忆子网 |
| 知识存储 | 模型参数内隐式存储 | 外部工具/数据库 | 专用记忆子网(图+向量+文本) |
| 推理能力 | 隐式(端到端) | 提示工程驱动 | 专用推理子网 + MCTS |
| 幻觉控制 | 无专门机制 | 工具结果覆盖 | 知识-表达解耦,根本上杜绝 |
| 可解释性 | 低(黑箱) | 中(可追踪工具调用) | 高(完整推理链路) |
| 计算效率 | 每次推理全模型参与 | 按需调用工具 | 冷热分离,仅热数据参与计算 |
| 子网通信 | 自然语言 | 自然语言/JSON | **结构化张量协议** |
| 调度方式 | 线性执行 | 线性工具链 | **启发式、非线性的循环调度** |
| LLM 定位 | 全知全能 | 主控+生成 | **降级为语言生成引擎** |
| 输出验证 | 无 | 无 | **表达验证张量机制** |
| 记忆更新 | 上下文窗口 | 外部DB写入 | **Core聚合后统一打包更新** |
| 幻觉控制 | 无专门机制 | 工具结果覆盖 | 知识/推理/表达完全解耦 |
| 可解释性 | 低(黑箱) | 中(可追踪工具调用) | 高(完整张量链路追踪) |

View File

@ -1,312 +1,365 @@
# LLM 子网(布洛卡区/表达核)
# LLM 子网 — 训练目标与训练计划
## 概述
LLM 子网类比人脑的**布洛卡区(Broca's Area)**——大脑中负责语言表达的关键区域。在 NextAgent 架构中,LLM 子网是**唯一与自然语言打交道的组件**,负责将子网间流转的结构化信息转换为人类可读的自然语言输出。
LLM 子网类比人脑的**布洛卡区(表达核)**,是 NextAgent 架构中**唯一直接与用户交互**的组件。在认知解耦架构下,LLM 不再是"全知怪物",而是降级为专业的**语言生成引擎**:知识来源外置到记忆子网,逻辑推理外置到推理子网,LLM 仅负责将结构化的推理结果转换为自然语言。
### 核心设计哲学
### 核心设计:LLM 下位化
**知识存储与语言表达分离**:LLM 子网本身不存储事实知识,它只负责"表达"。所有事实知识来自记忆子网和推理子网的引用包。这一设计从根本上杜绝了 LLM 子网产生"幻觉"的可能性——它不"知道"任何事,它只"表达"收到的结构化信息。
```
传统 LLM:
┌────────────────────────────────────────────────────────┐
│ LLM │
│ 知识存储(参数内) │ 逻辑推理(隐式) │ 语言生成 │ 编码 │
│ 全部在同一个模型中耦合 │
└────────────────────────────────────────────────────────┘
↓ 认知解耦
NextAgent LLM 子网:
┌────────────────────────────────────────────────────────┐
│ LLM 子网(表达专用) │
│ 输入:结构化推理路径张量(Core 提供) │
│ 知识:来自记忆子网(非自身参数) │
│ 逻辑:来自推理子网(非自身推理) │
│ 功能:仅做结构化→自然语言的精确转换 + 表达验证张量输出 │
└────────────────────────────────────────────────────────┘
```
### 核心职责
### 双输出通道
- **结构化→自然语言转换**:将推理路径、记忆片段等结构化数据转化为流畅的自然语言
- **情感表达**:根据上下文和用户情感状态,调整输出的语气和情感色彩
- **多语言输出**:支持中、英、日、韩、法、德等多语言的表达
- **风格适配**:根据应用场景(正式、友好、专业、通俗)适配语言风格
- **输出格式化**:支持 Markdown、JSON、表格、列表等多种输出格式
这是 LLM 子网最核心的设计:
## 架构设计
```
┌──────────────────────┐
│ LLM 子网 │
│ │
推理路径张量 ──────→ │ 张量解码层 │
(来自 Core) │ (标准→内部) │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ LLM 核心 │ │
│ │ 语言生成模型 │ │
│ └──────┬───────┘ │
│ │ │
│ ┌────┴────┐ │
│ │ │ │
│ ▼ ▼ │
│ 通道1 通道2 │
│ 自然语言 表达验证 │
│ 文本 张量 │
│ │ │ │
│ │ │ │
└────┼─────────┼────────┘
│ │
▼ ▼
用户 → 调度 Core
(最终输出) (验证正确性)
```
```mermaid
graph TB
Input["结构化输入<br/>(推理路径 + 记忆引用包)"] --> Decoder["结构化解码器"]
Decoder --> Intent["意图与情感分析器"]
Intent --> StyleRouter["风格路由器"]
StyleRouter -->|"正式"| Formal["正式表达分支"]
StyleRouter -->|"友好"| Friendly["友好表达分支"]
StyleRouter -->|"专业"| Professional["专业表达分支"]
StyleRouter -->|"通俗"| Simple["通俗表达分支"]
Formal --> Generator["语言生成器<br/>Causal LM"]
Friendly --> Generator
Professional --> Generator
Simple --> Generator
Generator --> Format["格式处理器"]
Format --> Output["自然语言输出"]
subgraph Controls ["控制组件"]
LangCtrl["语言控制<br/>(LangID)"]
ToneCtrl["语气控制<br/>(Prompt Tuning)"]
FactCtrl["事实一致性检查<br/>(对照源引用包)"]
end
Generator -.-> LangCtrl
Generator -.-> ToneCtrl
Generator -.-> FactCtrl
subgraph Training ["训练管线"]
SFT["指令微调<br/>(SFT)"]
RLHF["人类反馈强化学习<br/>(RLHF)"]
MulAlign["多语言对齐<br/>(Cross-lingual Alignment)"]
end
SFT --> RLHF
RLHF --> MulAlign
**通道1 — 自然语言 → 用户**:
- 流畅、准确、有情感的自然语言输出
- 用户直接看到这部分
**通道2 — 表达验证张量 → Core**:
- 不包含自然语言文本
- 包含:语义编码向量、置信度分数、情感标记、表达结构元数据
- Core 通过分析此张量判断 LLM 是否正确表达了推理结果
- Core **不通过自然语言判断**输出质量
### 输入/输出
| 项目 | 说明 |
|------|------|
| **输入** | 结构化推理路径张量(来自 Core,经过张量解码层转换) |
| **输出1** | 自然语言文本(直接发送给用户) |
| **输出2** | 表达验证张量(发送给 Core) |
| **输出2格式** | 标准张量协议,tensor_type=`expression_verify` |
### 表达验证张量格式
```json
{
"header": {
"source": "llm",
"target": "core",
"tensor_type": "expression_verify",
"trace_id": "trace-uuid",
"timestamp": 1717200000
},
"metadata": {
"confidence": 0.94,
"semantic_encoding_dim": 768,
"expression_structure": "sentence+paragraph",
"sentiment": "positive",
"language": "zh-CN",
"token_count": 128,
"verification_status": "verified"
},
"payload": {
"semantic_encoding": [0.23, -0.56, ...], // 输出文本的语义向量
"intention_alignment": 0.96, // 与输入推理路径的意图对齐度
"factual_consistency": 0.92, // 与输入事实的一致性
"sentence_embeddings": [ // 每句的编码(可选)
{"index": 0, "embedding": [...]},
{"index": 1, "embedding": [...]}
],
"emotion_vector": [0.1, 0.8, 0.3, ...], // 情感多维度向量
"key_entities_preserved": ["天气", "北京", "今天"], // 关键实体保留
"omission_detected": false // 是否有遗漏信息
},
"signature": "sha256-checksum"
}
```
## 子网内部架构
```
┌──────────────────────────────────────────────────────────────┐
│ LLM 子网 内部架构 │
│ │
│ 推理路径张量 ──→ ┌────────────────────────────────────┐ │
│ (来自 Core) │ 1. 张量解码层 (Tensor Decoder) │ │
│ │ 标准张量 → 内部结构化数据 │ │
│ └──────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────▼─────────────────────┐ │
│ │ 2. 输入适配器 (Input Adapter) │ │
│ │ 将推理路径转换为 LLM 适配的提示模板 │ │
│ │ 插入指令前缀和系统提示 │ │
│ │ 格式:系统提示 + 推理路径描述 + 格式约束 │ │
│ └──────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────▼─────────────────────┐ │
│ │ 3. LLM 核心 (语言生成模型) │ │
│ │ │ │
│ │ 模型选项: │ │
│ │ - Llama 3 (7B/70B) │ │
│ │ - Qwen 2.5 (7B/72B) │ │
│ │ - DeepSeek-V3 │ │
│ │ │ │
│ │ 生成参数:temperature=0.7, top_p=0.9 │ │
│ └──────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────┴──────────────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ 4a. 输出适配器 (通道1) │ │ 4b. 表达编码器 (通道2) │ │
│ │ (Output Adapter) │ │ (Expression Encoder) │ │
│ │ │ │ │ │
│ │ 后处理: │ │ 语义编码提取 │ │
│ │ - 格式规范化 │ │ 意图对齐度计算 │ │
│ │ - 长度裁剪 │ │ 事实一致性验证 │ │
│ │ - 特殊标记移除 │ │ 情感分析 │ │
│ │ - 情感调整 │ │ 关键实体保全面核查 │ │
│ └────────────┬─────────────┘ └────────────┬─────────────┘ │
│ │ │ │
└───────────────┼──────────────────────────────┼──────────────────┘
│ │
▼ ▼
自然语言文本 表达验证张量
(→ 用户) (→ 调度 Core)
```
## 训练目标
### 目标 1:结构化信息到自然语言的转换
### 目标 1:结构化到自然语言的精准转换
训练模型将结构化输入(JSON 格式的推理路径、知识图谱片段、逻辑链)转换为高质量的自然语言。
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 信息保留率 | ≥ 98% | 输入推理路径中的信息全部体现在输出中 |
| 忠实度 F1 | ≥ 95% | 输出与输入事实之间的一致性 |
| 幻觉率 | ≤ 1% | 输出中包含输入中没有的信息的比例 |
| 歧义解析准确率 | ≥ 90% | 对推理路径中的歧义点的正确处理 |
- **信息保真度**:输出内容与输入结构化信息的一致性 ≥ 95%
- **完整度**:输入中的关键信息点 100% 体现在输出中
- **简明度**:在不丢失信息的前提下,输出长度 ≤ 推理路径长度的 3 倍
### 目标 2:情感表达与语气控制
### 目标 2:情感表达
训练模型根据用户情感状态和上下文,调节输出的情感色彩。
- **情感一致性**:输出情感与用户期望情感的匹配度 ≥ 85%
- **情感粒度**:支持 8 种基本情感(喜、怒、哀、惧、惊、厌、盼、信)及其复合情感
- **情感调节**:在信息传递准确的前提下,情感表达不影响事实信息
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 情感一致性 | ≥ 85% | 输出情感与推理路径中指定的情感一致 |
| 语气多样度 | 至少 5 种 | 正式/友好/专业/热情/简洁等 |
| 人设匹配度 | ≥ 90% | 输出风格与记忆子网中的人设一致 |
### 目标 3:多语言输出
训练模型在保持语义不变的前提下,输出多种语言。
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 中文流畅度 | BLEU ≥ 40 | 中文生成的自然度 |
| 英文流畅度 | BLEU ≥ 35 | 英文生成的自然度 |
| 语言切换准确率 | ≥ 98% | 按输入要求切换到指定语言 |
| 专业术语翻译 | ≥ 90% | 技术术语的准确翻译 |
- **支持语言**:中文、英语、日语、韩语、法语、德语、西班牙语、阿拉伯语
- **翻译质量**:跨语言语义保留 BLEU ≥ 35,COMET ≥ 0.8
- **语言切换**:支持单次输出中的语言切换(如中英混杂)
### 目标 4:表达验证张量准确性
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 语义编码对齐度 | cosine ≥ 0.95 | 编码向量与输出文本的语义匹配 |
| 置信度校准 | ECE ≤ 0.05 | 预测置信度与实际准确率的一致性 |
| 遗漏检测召回率 | ≥ 95% | 能检测出输出中遗漏了关键信息 |
| 情感分类准确率 | ≥ 90% | 情感分析的准确度 |
## 训练计划
### 阶段 1:指令微调(Supervised Fine-Tuning, SFT)
### 阶段 1:指令微调 (SFT) — 结构化输入转译
**目标**:使用高质量的"结构化输入 → 自然语言输出"配对数据,对基座模型进行指令微调。
**目标**:训练 LLM 将结构化推理路径精确转换为自然语言
#### 基座模型选择
**技术路线**:
- 构建 (推理路径张量 → 自然语言) 的配对数据集
- 使用 LoRA 微调开源 LLM
| 模型 | 参数量 | 优势 | 适用场景 |
|------|--------|------|---------|
| Qwen2.5-7B 或同等 | 7B | 中文能力突出、推理效率高 | 主推模型 |
| LLaMA-3.1-8B | 8B | 英文能力突出、生态完善 | 英文场景 |
**训练数据集构建**:
1. 从 GSM8K / MATH / HotpotQA 等推理数据集中提取推理链
2. 将推理链格式化为 NextAgent 标准推理路径格式
3. 由人工标注对应的自然语言输出
4. 数据规模:至少 100K 条配对
#### 训练数据
1. **结构化→自然语言配对数据**
| 数据类型 | 输入 | 输出 | 规模 |
|---------|------|------|------|
| 推理路径转文字 | JSON 推理链 | 自然语言解释 | 100,000 |
| 知识图谱转叙述 | 三元组集合 | 流畅段落 | 80,000 |
| 记忆片段转回答 | 检索到的记忆 | 回答用户 | 120,000 |
| 逻辑链路转报告 | 推理过程 | 分析报告 | 50,000 |
2. **数据生成流程**
```
原始问题 → 调度 Core 生成结构化推理路径 → 人工标注员写出参考输出
结构化输入示例:
**数据示例**:
```json
{
"task": "解释光合作用的过程",
"reasoning_path": [
{"step": 1, "content": "光合作用发生在叶绿体中", "source": "memory:biology/chapter_5"},
{"step": 2, "content": "需要叶绿素、光、CO₂、H₂O", "source": "memory:biology/chapter_5"},
{"step": 3, "content": "光反应阶段:光能→ATP+NADPH", "source": "logic:verified"},
{"step": 4, "content": "暗反应阶段(Calvin循环):CO₂→葡萄糖", "source": "logic:verified"},
{"step": 5, "conclusion": "光合作用将光能转化为化学能", "source": "reasoning:deduction"}
],
"language": "zh",
"tone": "educational"
"input": {
"reasoning_steps": [
{"step": 1, "type": "fact_extraction", "content": "用户问北京今天天气"},
{"step": 2, "type": "context_retrieval", "content": "记忆子网查到用户偏好空气质量"},
{"step": 3, "type": "conclusion", "content": "北京今天晴,AQI 45,空气质量优"}
],
"persona": "友好专业",
"language": "zh-CN"
},
"output": "北京今天天气晴好,空气质量为优(AQI 45),很适合外出活动!"
}
```
#### 训练配置
**训练步骤**:
1. 构建输入模板:[系统提示] + [推理路径描述] + [格式约束]
2. 使用 LoRA rank=64, alpha=128 进行微调
3. 训练 3 epochs, batch size 64, learning rate 1e-4
4. 评估:信息保留率、忠实度 F1
- **输入格式**:`<|struct|>{结构化信息}<|output|>`
- **损失函数**:自回归语言建模(交叉熵)
- **批大小**:128(梯度累积 8 步)
- **优化器**:AdamW(β1=0.9, β2=0.95)
- **学习率**:1e-5,余弦退火至 1e-6
- **warmup**:500 steps
- **权重衰减**:0.01
- **梯度裁剪**:max_norm = 1.0
- **训练轮数**:3 epochs(SFT 数据量充足,防止过拟合)
- **LoRA 配置**(如使用全参微调资源不足):
- r = 64, α = 128, dropout = 0.05
- 目标模块:q_proj, k_proj, v_proj, o_proj, gate_proj
### 阶段 2:RLHF — 优化表达自然度
### 阶段 2:人类反馈强化学习(RLHF)
**目标**:使用人类反馈优化表达的自然度和情感一致性
**目标**:通过人类偏好反馈,优化表达的自然度、流畅度和信息呈现方式的优劣。
**技术路线**:
- 收集人类偏好数据
- 训练 Reward Model
- PPO 强化学习
#### 奖励模型训练
**训练步骤**:
1. **收集偏好数据**:
- 从阶段1的模型生成多条 output 候选
- 人工标注偏好(哪条更自然、更准确、情感更恰当)
- 收集 50K 对偏好数据
- **模型架构**:基于 SFT 模型,移除语言头,添加线性奖励头
- **训练数据**:
2. **训练 Reward Model**:
- 基于 Llama / Qwen 训练分类头
- 输入:推理路径 + 生成文本
- 输出:质量评分(1-5分)
- 训练 2 epochs
| 来源 | 类型 | 规模 |
|------|------|------|
| 人工标注 | 对同一输入的不同输出进行偏好排序 | 50,000 对 |
| 自动评估 | 使用 GPT-4/Claude 作为评估者 | 200,000 对 |
| 红队测试 | 对抗样本的偏好标注 | 10,000 对 |
- **标注维度**:
| 维度 | 评分范围 | 说明 |
|------|---------|------|
| 信息准确度 | 1-5 | 与结构化输入的一致性 |
| 自然度 | 1-5 | 读起来像人写的 |
| 完整度 | 1-5 | 关键信息是否全部覆盖 |
| 简洁度 | 1-5 | 在信息完整下是否简洁 |
| 情感适配 | 1-5 | 语气是否符合作者期望 |
- **损失函数**:Bradley-Terry + 维度加权
```
L = -E[Σ w_d · log(σ(r_d_better - r_d_worse))]
w = [0.4, 0.3, 0.15, 0.1, 0.05] # 各维度权重
```
- **训练配置**:
- 学习率:1e-5
- 批大小:64
- 训练轮数:3 epochs
#### PPO 训练
- **策略模型**:SFT 模型
- **价值模型**:与策略模型共享基座 + 价值头
- **KL 散度惩罚**:β = 0.04
- **GAE λ**:0.95
- **折扣因子 γ**:0.99
- **学习率**:1e-6(策略),1e-5(价值)
- **PPO clip**:ε = 0.2
- **批大小**:256
- **总 PPO 轮次**:200(每轮采样 1024 条)
- **句子级奖励**:使用 PRM 对每句话评分,而非仅整段评分
3. **PPO 训练**:
- 使用阶段1的 SFT 模型初始化策略网络
- Reward Model 提供奖励信号
- 加入 KL 散度惩罚防止偏离基座
- 训练 30K steps
### 阶段 3:多语言对齐训练
**目标**:扩展模型的多语言表达能力和跨语言一致性。
**目标**:扩展多语言输出能力
#### 训练数据
**训练步骤**:
1. 收集多语言配对数据(中/英/日/韩/法/德)
2. 使用课程学习(Curriculum Learning):
- 阶段 A:英语 → 中文(最高优先级)
- 阶段 B:中文 → 其他主要语言
- 阶段 C:所有语言混合训练
3. 评估各语言 BLEU 分数
4. 重点优化低资源语言
| 语言 | 对齐数据规模 | 来源 |
|------|------------|------|
| 中文 | 200,000 | 自建 + 翻译 |
| 英语 | 200,000 | 自建 + 翻译 |
| 日语 | 100,000 | 翻译 + 人工校对 |
| 韩语 | 100,000 | 翻译 + 人工校对 |
| 法语 | 100,000 | 翻译 + 人工校对 |
| 德语 | 100,000 | 翻译 + 人工校对 |
| 西班牙语 | 100,000 | 翻译 + 人工校对 |
| 阿拉伯语 | 50,000 | 翻译 + 人工校对 |
### 阶段 4:表达验证张量输出训练
#### 对齐方法
**目标**:训练 LLM 同时输出表达验证张量
1. **平行语料监督学习**
- 同一结构化输入对应多语言的 GT 输出
- 训练模型在不同语言分支上输出语义一致的内容
**技术路线**:
- 在 LLM 基础上添加额外的输出头(Verification Head)
- 训练 LLM 在生成文本的同时,计算表达验证特征
2. **跨语言对比学习**
- 正样本对:同一结构化输入的不同语言输出
- 负样本对:不同结构化输入的同语言输出
- 损失函数:InfoNCE,温度 τ = 0.07
**训练步骤**:
1. **构建验证数据集**:
- 对于每条训练样本,计算:
a. 输出文本的语义编码(使用 Sentence-BERT)
b. 输出与输入的意图对齐度
c. 关键实体保留情况
d. 情感标签
- 作为监督信号
3. **反向翻译一致性**
- 模型输出 A 语言 → 翻译为 B 语言 → 模型输出从 A→B
- 要求 A 语言输出和 B 语言输出语义一致
- 一致性损失:余弦相似度(语义嵌入(输出_A), 语义嵌入(输出_B))
2. **添加验证输出头**:
- 在 LLM 的最后一层添加 MLP 头
- 输入:LLM 的隐藏状态
- 输出:语义编码向量 + 置信度标量 + 情感向量
4. **语言自适应层**
- 为每种语言添加可训练的 LayerNorm + 偏置(Adapter 风格)
- 共享语言无关的参数 + 语言特定的适配层
- 参数量:每种语言 +5M(极小开销)
3. **联合训练**:
- 损失函数:L = L_language + α * L_verification + β * L_alignment
- L_language: 文本生成交叉熵损失
- L_verification: 验证输出的 MSE 损失
- L_alignment: 意图对齐度的对比损失
#### 训练配置
4. **训练 2 epochs**
5. **评估**:ECE 校准误差、语义编码对齐度
- **阶段 3a(平行语料训练)**:3 epochs,LR=5e-6
- **阶段 3b(对比学习)**:2 epochs,LR=3e-6
- **阶段 3c(一致性训练)**:2 epochs,LR=3e-6
- **总轮数**:7 epochs
### 阶段 5:人设适应训练
### 阶段 4:事实一致性对齐
**目标**:训练 LLM 根据人设张量调整表达风格
**目标**:确保 LLM 子网严格依据输入的结构化信息生成输出,不添加、不遗漏、不改动事实。
**训练步骤**:
1. 构建人设-表达配对数据集:
- 同一推理路径 → 不同人设下的不同表达
- 示例:
- 人设"猫娘":通过三元组编码输入
- 人设"专业助手":同上
2. 在人设条件下微调 LLM
3. 评估:人设匹配度人类评分
#### 训练方法
## 评估指标体系
1. **负采样对抗训练**
- 故意在结构化输入中植入与常见知识矛盾的信息
- 如果模型依赖"固有知识"而非输入结构信息,则产生错误
- 训练模型学会"忽略固有知识,只遵循输入"
### 离线评估
2. **事实对比损失**
- 在输出层添加事实一致性评分头
- 计算输出中每个实体/关系与输入结构化信息的匹配度
- 损失函数:Focal Loss(处理事实类不平衡)
| 指标 | 计算方法 | 目标 |
|------|----------|------|
| 信息保留率 | 输入关键实体在输出中出现的比例 | ≥ 98% |
| 忠实度 F1 | 输出与输入事实的一致性 | ≥ 95% |
| 幻觉率 | 输出中新增信息占输出的比例 | ≤ 1% |
| BLEU (中文) | 中文生成自然度 | ≥ 40 |
| BLEU (英文) | 英文生成自然度 | ≥ 35 |
| ECE 校准误差 | 预测置信度校准 | ≤ 0.05 |
3. **约束解码**
- 推理阶段使用受限 Beam Search
- 约束条件:输出必须包含输入中的所有关键信息点
- 惩罚项:缺失信息点数量 × 0.1
### 在线评估(与 Core 集成后)
#### 评估配置
| 指标 | 说明 |
|------|------|
| Core 表达验证通过率 | Core 接收表达验证张量后判定为"正确表达"的比例 |
| 用户满意度 | 用户对自然语言输出的评分 |
| 重生成频率 | Core 因验证不通过而要求 LLM 重新生成的比例 |
| 端到端幻觉率 | 用户感知到的最终输出中的错误信息比例 |
- 测试集:5,000 条包含事实冲突的结构化输入
- 期望行为:模型严格按输入生成,不引入外部知识
- 目标值:事实一致性 ≥ 98%
## 技术难点与对策
## 评估指标
| 难点 | 对策 |
|------|------|
| 结构化输入理解 | 设计专门的输入适配器,将张量转为LLM可理解的格式 |
| 严格约束下的自然度 | 温度采样+重复惩罚+语感奖励 |
| 多语言一致性 | 课程学习 + 回译增强 |
| 验证张量质量 | 独立验证头 + 自监督一致性训练 |
| 人设切换 | 人设编码向量条件注入 |
### 表达准确度
## 与传统 LLM 的关键区别
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 信息保真度 | 输出与输入结构化信息的一致性 | ≥ 95% |
| 实体准确率 | 输出中实体的正确率 | ≥ 98% |
| 关系准确率 | 输出中关系描述的正确率 | ≥ 95% |
| 事实幻觉率 | 输出来源非输入中信息的比例 | ≤ 2% |
### 自然度评分
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 人工评分(5 分制) | 标注员对输出自然度的评分 | ≥ 4.2 |
| GPT-4 评分(5 分制) | 大模型评估的自然度评分 | ≥ 4.0 |
| Perplexity | 语言模型的困惑度 | ≤ 15 |
| 平均句长标准差 | 句子长度的多样性指标 | ≥ 5 |
### 情感一致性
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 情感匹配度 | 输出情感与目标情感的匹配度 | ≥ 85% |
| 情感误判率 | 产生与目标相反情感的比率 | ≤ 3% |
| 情感粒度 F1 | 复合情感识别的 F1 | ≥ 0.75 |
### 多语言能力
| 指标 | 定义 | 目标值 |
|------|------|--------|
| BLEU | 各语言的 BLEU 分数加权平均 | ≥ 35 |
| COMET | 跨语言语义保留评分 | ≥ 0.80 |
| 跨语言一致性 | 不同语言输出的语义相似度 | ≥ 0.90 |
| 语言切换准确率 | 中英混杂场景的语言切换正确率 | ≥ 90% |
### 系统性能
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 生成延迟(首 token) | 从输入到首个输出 token | ≤ 200ms |
| 生成吞吐量 | tokens/second | ≥ 50 tokens/s |
| 冷启动适应 | 新语言的 few-shot 适应所需样本 | ≤ 100 条 |
| 输出长度控制 | 指定长度与实际长度的偏差 | ≤ ±20% |
| 维度 | 传统 LLM | NextAgent LLM 子网 |
|------|---------|-------------------|
| 知识来源 | 模型参数内隐 | 外部记忆子网 |
| 推理能力 | 模型内部隐式 | 外部逻辑推理子网 |
| 输入格式 | 用户原始问题 | 结构化推理路径张量 |
| 输出去向 | 返回原始对话 | 自然语言→用户, 验证张量→Core |
| 角色定位 | 全知全能 | 专业语言生成引擎 |
| 幻觉风险 | 高(知识+生成耦合) | 极低(知识外置+验证机制) |
| 可控制性 | 低(提示工程) | 高(验证张量 + 人设编码) |

View File

@ -1,311 +1,331 @@
# 逻辑链路追踪神经网络(推理回路)
# 逻辑链路追踪神经网络 — 训练目标与训练计划
## 概述
逻辑链路追踪神经网络(Logic Trace Network, LTN)类比人脑的**推理回路**,是 NextAgent 的"思维引擎"。它负责对任务进行逻辑推理、验证推理路径的正确性,并在发现错误时执行自我修正。这是实现 **可解释 AI** 和 **可信推理** 的核心组件。
逻辑链路追踪神经网络(推理回路)类比人脑的**前额叶推理回路**,负责逻辑验证、错误追溯、路径重规划和自我修正。它是 NextAgent 实现"深度思考"的核心组件。
### 核心职责
### 架构定位
- **逻辑验证**:对调度 Core 下达的任务进行逻辑一致性检查
- **推理路径搜索**:探索多条可能的推理路径,选择最优解
- **错误追溯**:当推理结果矛盾或错误时,定位错误节点
- **路径重规划**:在错误节点处分支,重新规划推理路径
- **自我修正**:从错误中学习,更新推理策略偏好
```
推理请求张量 (来自 Core)
│
▼
┌──────────────────────────────────────────────┐
│ 逻辑链路追踪神经网络(推理回路) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 推理引擎 │→│ 路径追踪 │→│ 验证器 │ │
│ │ MCTS │ │ 记录器 │ │ Process │ │
│ │ 推理搜索 │ │ 推理路径 │ │ Reward │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 错误分析 │→│ 重规划器 │ │ 张量编码 │ │
│ │ Error │ │ Path │ │ →标准张量 │ │
│ │ Tracing │ │ Replanner│ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└──────────────────┬───────────────────────────┘
│
▼
推理路径张量 (Standard Reasoning Tensor)
│
→ 发送给调度 Core
```
## 架构设计
### 输入/输出
```mermaid
graph TB
Input["输入:任务 + 记忆引用包"] --> Parser["推理任务解析器"]
Parser --> MCTS["蒙特卡洛树搜索"]
subgraph MCTS_Tree ["MCTS 推理树"]
Root["根节点"]
N1["推理节点 1"]
N2["推理节点 2"]
N3["推理节点 3"]
N11["子节点 1.1"]
N12["子节点 1.2"]
Leaf["叶节点(结论)"]
Root --> N1
Root --> N2
Root --> N3
N1 --> N11
N1 --> N12
N2 --> Leaf
end
MCTS --> Selection["选择<br/>UCT 算法"]
MCTS --> Expansion["扩展<br/>策略网络"]
MCTS --> Simulation["模拟<br/>奖励预测"]
MCTS --> Backprop["反向传播<br/>更新访问计数"]
Selection --> Validator["逻辑验证器"]
Validator --> ErrorTrace["错误追踪器"]
ErrorTrace --> Corrector["自我修正器"]
Corrector --> Replan["路径重规划"]
Replan --> MCTS
Validator --> PathSelect["最优路径选择"]
PathSelect --> Output["输出:验证后的推理路径"]
subgraph Learning ["训练组件"]
PRM["过程奖励模型<br/>Process Reward Model"]
RLHF_P["RLHF 训练<br/>(推理偏好)"]
ErrorDS["错误案例数据集"]
end
Validator -.-> PRM
Corrector -.-> ErrorDS
PathSelect -.-> RLHF_P
| 项目 | 说明 |
|------|------|
| **输入** | 推理请求张量(来自Core,包含任务描述、记忆上下文、路由引用) |
| **输出** | 推理路径张量(发送给Core,包含推理步骤、验证标记、置信度、可选路径) |
| **输出不是最终答案** | 只输出推理路径,不输出结论文本——结论由 LLM 子网负责表达 |
| **延迟目标** | 单次推理 < 200ms |
### 推理路径张量格式
```json
{
"header": {
"source": "logic_trace",
"target": "core",
"tensor_type": "reasoning_path",
"trace_id": "trace-uuid",
"timestamp": 1717200000
},
"payload": {
"reasoning_steps": [
{
"step_id": 1,
"type": "deduction",
"input": "用户想要查询天气",
"operation": "提取地点和时间信息",
"output": "地点: 北京, 时间: 今天",
"confidence": 0.95,
"source_evidence": ["memory:偏好_北京天气"]
},
{
"step_id": 2,
"type": "retrieval",
"input": "需要天气数据",
"operation": "查询记忆子网获取北京天气偏好",
"output": "用户关注空气质量>温度",
"confidence": 0.88,
"source_evidence": ["graph:用户_北京_HAS_PERSONA_关注空气质量"]
},
{
"step_id": 3,
"type": "verification",
"input": "步骤1-2结果",
"operation": "交叉验证",
"output": "结论一致",
"confidence": 0.92,
"source_evidence": ["cross_validation"]
}
],
"final_confidence": 0.92,
"alternative_paths": [
{
"path_id": "alt_1",
"conclusion": "用户可能不在北京(上次对话提到出差)",
"confidence": 0.45,
"rejection_reason": "信息过时(3天前的记录)"
}
],
"verified": true,
"error_log": []
},
"metadata": {
"step_count": 3,
"mcts_iterations": 50,
"search_depth": 5,
"verification_status": "passed"
}
}
```
## 子网内部架构
```
┌──────────────────────────────────────────────────────────────┐
│ 逻辑链路追踪神经网络 内部架构 │
│ │
│ 推理请求 → ┌──────────────────────────────────────────┐ │
│ │ 1. 推理引擎 (Reasoning Engine) │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 蒙特卡洛树搜索 │ │ 思维链生成器 │ │ │
│ │ │ MCTS │ │ Chain-of-Thought │ │ │
│ │ │ 搜索推理路径 │ │ 多步推演 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 2. 路径追踪器 (Path Tracer) │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 推理步骤记录 │ │ 依赖图构建 │ │ │
│ │ │ 每一步的输入/ │ │ 证据链追踪 │ │ │
│ │ │ 输出/置信度 │ │ 来源追溯 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 3. 验证器 (Verifier) │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 过程奖励模型 │ │ 冲突检测器 │ │ │
│ │ │ Process │ │ 矛盾识别 │ │ │
│ │ │ Reward Model │ │ 逻辑一致性检查 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 4. 错误分析 & 重规划 │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 错误追溯器 │ │ 重规划器 │ │ │
│ │ │ 失败路径分析 │ │ 替代路径生成 │ │ │
│ │ │ 根因定位 │ │ 参数调整 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 5. 张量编码层 │ │
│ │ 内部推理结果 → 标准推理路径张量 │ │
│ └──────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────┘
```
## 训练目标
### 目标 1:逻辑验证
### 目标 1:多步推理准确率
训练子网能够识别推理链中的逻辑错误,包括事实矛盾、步骤跳跃和循环依赖。
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 链式推理准确率 | ≥ 85% | 5步以上的推理链 |
| 数学推理准确率 | ≥ 75% | 多步数学问题 (GSM8K) |
| 逻辑推理准确率 | ≥ 80% | 一阶逻辑推理任务 |
| 常识推理准确率 | ≥ 85% | 常识推理基准 (CSQA) |
- **验证粒度**:逐步骤验证,而非仅验证最终结论
- **错误类型覆盖**:≥ 10 种常见逻辑谬误(偷换概念、循环论证、错误归因等)
- **验证速度**:每步推理 ≤ 10ms
### 目标 2:错误路径检测
### 目标 2:错误追溯与定位
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 错误检测召回率 | ≥ 90% | 能识别出推理链中的错误步骤 |
| 错误检测精确率 | ≥ 80% | 标记为错误的确实有错误 |
| 矛盾识别 F1 | ≥ 85% | 识别出推理结论中的矛盾 |
当推理结果错误时,精确定位错误发生的步骤和原因。
### 目标 3:回溯重规划能力
- **定位精度**:Top-1 错误步骤准确率 ≥ 80%
- **根因分析**:错误分类准确率 ≥ 85%
- **回溯效率**:N 步推理的回溯复杂度 O(log N)
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 回溯成功率 | ≥ 80% | 发现错误后成功重规划 |
| 重规划效率 | ≤ 3轮回溯 | 最多3次回溯就能找到正确路径 |
| 替代方案多样性 | ≥ 3条 | 每次至少生成3个替代推理路径 |
### 目标 3:路径重规划与自我修正
### 目标 4:推理可解释性
在错误步骤处分支,探索替代推理路径,实现自我修正。
- **修正成功率**:首次修正成功率 ≥ 70%
- **修正轮次上限**:最多 3 轮修正后必须输出结果
- **修正代价**:修正后的推理路径长度 ≤ 原始路径 × 1.5
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 推理步骤覆盖率 | 100% | 每步推理都有完整的 I/O 记录 |
| 证据追溯准确率 | ≥ 95% | 每步推理都能追踪到数据来源 |
| 推理路径可视化分 | ≥ 4/5 | 人类评估者可理解的程度 |
## 训练计划
### 阶段 1:过程奖励模型(Process Reward Model, PRM)训练
### 阶段 1:监督学习 — 基础推理能力
**目标**:训练一个能够对推理中间步骤进行质量评分的模型,替代仅评估最终结果的传统方法。
**目标**:训练 LLM 基础的多步推理能力
#### 数据构建
**技术路线**:
- 使用思维链 (Chain-of-Thought) 数据集进行指令微调 (SFT)
- 模型选择:基于开源 LLM(如 Llama 3 / Qwen 2.5)进行推理增强
1. **自动推理链生成**:使用 GPT-4 / Claude 对数学、逻辑、常识类问题生成多步推理链
2. **人工标注**:标注员对推理链的每个步骤进行评分(-1: 错误, 0: 中性, 1: 正确)
3. **数据规模**:200,000 条推理链,平均链长 8 步,总计 160 万标注步骤
4. **数据覆盖**:
**训练数据集**:
| 类别 | 占比 | 示例 |
|------|------|------|
| 数学推理 | 30% | GSM8K、MATH 题目 |
| 逻辑推理 | 25% | 三段论、命题逻辑、谓词逻辑 |
| 常识推理 | 20% | 物理常识、社会常识 |
| 因果推理 | 15% | 因果推断、反事实推理 |
| 代码推理 | 10% | 代码执行跟踪、bug 定位 |
| 数据集 | 用途 | 规模 |
|--------|------|------|
| GSM8K | 数学推理 | 8K |
| MATH | 高级数学 | 12K |
| StrategyQA | 策略推理 | 2K |
| Logical Reasoning | 逻辑推理 | 5K |
| HotpotQA | 多步问答 | 113K |
#### 模型架构
**训练步骤**:
1. 收集和清洗上述数据集,统一格式为 (问题, 推理链, 答案)
2. 在基础模型上进行 LoRA 微调
3. 训练 3 epochs,batch size 128,learning rate 2e-5
4. 评估各数据集的推理准确率
- **基座模型**:基于 LLaMA-3.1-8B 或同等规模模型
- **奖励头**:在每一层 Transformer 后添加线性层,输出步骤质量评分
- **输入格式**:`[问题] [步骤1] [步骤2] ... [当前步骤]`
- **输出**:当前步骤的奖励值(连续值,范围 [-1, 1])
### 阶段 2:过程奖励模型 (PRM) 训练
#### 训练配置
**目标**:训练能够评估推理步骤质量的奖励模型
- **损失函数**:排序损失(Pairwise Ranking Loss)
```
L = max(0, margin - (r_pos - r_neg))
margin = 0.5
```
- **批大小**:64(每条含完整推理链)
- **优化器**:AdamW(β1=0.9, β2=0.95)
- **学习率**:1e-5,余弦退火
- **权重衰减**:0.01
- **训练轮数**:5 epochs(防止过拟合)
- **验证集**:人工标注数据的 10% 作为验证
**技术路线**:
- 为每步推理打分,而非仅评估最终结果
- 模型:Pythia / Llama + 值头 (Value Head)
#### PRM 推理流程
**训练步骤**:
1. 构建 PRM 训练集:
- 从阶段1的模型生成多条推理链
- 人工标注每步的正确性(正确/错误/模糊)
- 每步标注有监督信号
2. 训练奖励模型:输入推理步骤上下文 → 输出正确性分数
3. 损失函数:二元交叉熵(正步/错步分类)
4. 训练 5 epochs
5. 验证:奖励模型对错误步骤的识别准确率 ≥ 85%
```
def evaluate_step(question, steps_so_far, next_step):
# 1. 编码上下文
context = tokenize(question, steps_so_far)
# 2. 逐层提取 hidden states
hidden_states = model(context)
# 3. 奖励头预测
reward = reward_head(hidden_states[-1])
# 4. 可选:+ 置信度校准
confidence = calibrate(reward)
return reward, confidence
```
### 阶段 3:RLHF + PRM 强化学习
### 阶段 2:蒙特卡洛树搜索(MCTS)推理训练
**目标**:使用强化学习优化推理路径选择
**目标**:在推理过程中使用 MCTS 探索多条路径,找到最优解决方案。
**技术路线**:
- PPO 算法 + 过程奖励模型 (PRM)
- 奖励信号:PRM 对每步的打分 + 最终答案正确性
#### MCTS 四步流程
**训练步骤**:
1. 从阶段1的推理模型初始化策略网络 (Policy)
2. 使用 PPO 算法训练:
- 从训练数据中采样问题
- 策略网络生成推理链
- PRM 对每步打分
- 优化策略以最大化累计奖励
3. KL 散度约束:防止策略偏离基座模型太远
4. 训练 100k steps
5. 在验证集上监控奖励和准确率
```mermaid
graph LR
S["1. 选择 (Select)"] --> E["2. 扩展 (Expand)"]
E --> Sim["3. 模拟 (Simulate)"]
Sim --> BP["4. 反向传播 (Backprop)"]
BP --> S
```
### 阶段 4:蒙特卡洛树搜索 (MCTS) 训练
#### MCTS 组件设计
**目标**:使用 MCTS 模拟推理回溯,训练模型在不确定时探索替代路径
1. **选择(Selection)**
- 算法:UCT(Upper Confidence Bound Applied to Trees)
- 公式:`UCT = Q(s,a) + c · P(s,a) · sqrt(N_parent / (1 + N_child))`
- 探索系数 c:1.5(可通过贝叶斯优化调参)
- 剪枝:当节点 UCT 值低于阈值时不再扩展
**技术路线**:
- 在推理时使用 MCTS 扩展搜索空间
- 训练策略网络和价值网络指导 MCTS 搜索方向
2. **扩展(Expansion)**
- 策略网络:轻量级 Transformer(6 层),预测下一步推理方向
- 候选动作数:top-K = 5
- 动作空间:推理方向编码(演绎、归纳、溯因、类比、分解)
**训练步骤**:
1. 构建 MCTS 推理框架:
- 每个推理步作为搜索树的一个节点
- 使用阶段3的策略网络推理下一步
- 使用 PRM 作为价值评估
- 叶子节点回溯更新路径价值
2. MCTS 超参数:
- 搜索次数:每次推理 50~200 次模拟
- 探索常数 (c_puct): 1.0 ~ 2.5
- 最大深度: 10步
3. 自我对弈 (Self-Play) 训练:
- 使用当前策略 + MCTS 生成推理轨迹
- 将 MCTS 搜索概率作为训练目标
- 迭代优化策略网络
4. 训练 200k 步
3. **模拟(Simulation)**
- 使用 PRM 对节点评分作为奖励信号
- 模拟深度:最大 20 步
- 终止条件:得出确定性结论 或 达到步数上限
- 快速回滚:当奖励值骤降时提前终止
### 阶段 5:错误案例训练
4. **反向传播(Backpropagation)**
- 更新路径上所有节点的 Q 值和访问计数
- 折扣因子 γ:0.9(越远的节点贡献越小)
- 更新公式:`Q_new = Q_old + α · (G - Q_old)`,其中 α = 1/N
**目标**:使用错误案例训练自我修正能力
#### 训练配置
**训练步骤**:
1. 构建错误案例数据集:
- 收集阶段4中推理失败的案例
- 对于每一条失败案例,人工标注:
a. 错误发生的位置
b. 错误的原因(知识缺失/逻辑错误/信息误解)
c. 正确的替代路径
2. 修正微调:
- 输入:原始推理链 + 错误位置标记 + 错误原因
- 输出:修正后的推理链
3. 训练 5 epochs
4. 评估:在错误案例上的修正成功率
- **模拟次数**:每轮推理 50 次 MCTS 模拟
- **温度参数**:
- 训练阶段:τ = 1.0(充分探索)
- 推理阶段:τ → 0(选择最优路径)
- **批处理大小**:并行搜索 16 棵推理树
- **策略网络训练**:使用 MCTS 访问计数作为软标签
- 损失函数:KL 散度(策略网络输出 || MCTS 访问分布)
- 学习率:1e-4
### 阶段 6:集成到 Core 的启发式调度
### 阶段 3:强化学习(RLHF + 过程奖励)训练推理偏好
**目标**:与 Core 的调度策略引擎协同工作
**目标**:通过人类反馈强化学习,优化推理路径选择的偏好。
**训练**:
1. Core 的启发式调度策略决定何时调用推理子网
2. 记录每次调用的上下文和结果
3. 使用离线强化学习优化调度策略(待 Core 模块单独训练)
#### 训练流程
## 评估指标体系
```
1. 策略模型(要训练的推理模型)生成多条推理路径
2. PRM 对每条路径的每一步评分
3. 人类标注员对比不同路径,给出偏好标签
4. 训练奖励模型拟合人类偏好
5. PPO 算法优化策略模型
```
### 离线评估
#### 奖励模型训练
| 指标 | 计算方法 | 目标 |
|------|----------|------|
| 推理链准确率 | 完整推理链正确的比例 | ≥ 85% |
| 每步准确率 | 推理链中每步正确的比例 | ≥ 90% |
| 修正成功率 | 发现错误后成功修正的比例 | ≥ 80% |
| MCTS 搜索效率 | 平均搜索节点数 / 解决问题数 | ≤ 200节点/题 |
- **输入**:完整的推理链(含每一步)
- **输出**:标量奖励值
- **模型架构**:与 PRM 共享基座,但奖励头为单标量输出
- **损失函数**:Bradley-Terry 偏好模型
```
L = -E[log(σ(r_better - r_worse))]
```
- **数据**:50,000 对人类偏好对比对
### 在线评估(与 Core 集成后)
#### PPO 训练配置
| 指标 | 说明 |
|------|------|
| 验证通过率 | Core 收到推理路径张量后判断为"已验证"的比例 |
| 重调度频率 | Core 因推理置信度低而发起的二次推理次数 |
| 端到端准确率 | 完整链路(输入→推理→表达→用户)的最终准确率 |
- **策略模型**:推理路径生成模型(基于 LLaMA 架构)
- **价值模型**:与策略模型共享部分参数
- **KL 散度惩罚**:β = 0.04(防止策略偏离基座过远)
- **GAE λ**:0.95
- **折扣因子 γ**:0.99
- **学习率**:1e-6(策略),1e-5(价值)
- **PPO clip**:ε = 0.2
- **批大小**:512
- **训练轮数**:3 epochs 每个 PPO 轮次
- **总 PPO 轮次**:100
## 技术难点与对策
### 阶段 4:错误案例数据集与针对性训练
**目标**:构建高质量的错误推理案例数据集,针对性训练错误检测与修正能力。
#### 数据集构建
| 来源 | 方法 | 规模 |
|------|------|------|
| 模型自生成 | 奖励模型筛选低分路径 | 500,000 |
| 人工构造 | 标注人员植入特定错误类型 | 50,000 |
| 对抗生成 | 使用 Red-Teaming 方法生成困难错误 | 20,000 |
| 真实对话 | 从生产环境收集失败案例 | 100,000 |
#### 错误类型覆盖
1. 事实性错误(Factual Error)
2. 逻辑跳跃(Logic Leap)
3. 循环论证(Circular Reasoning)
4. 假两难推理(False Dilemma)
5. 错误归因(False Attribution)
6. 以偏概全(Hasty Generalization)
7. 偷换概念(Equivocation)
8. 诉诸权威(Appeal to Authority)
9. 诉诸情感(Appeal to Emotion)
10. 因果倒置(Reverse Causality)
#### 针对性训练
- **多任务学习**:同时优化错误检测 + 错误定位 + 修正生成
- **数据增强**:对正确推理链随机注入错误,生成训练样本
- **课程学习**:从简单错误(事实错误)到复杂错误(循环论证)渐进训练
- **训练轮数**:30 epochs
- **早停**:验证集 F1 连续 5 轮不提升则停止
## 评估指标
### 推理准确率
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 最终答案准确率 | 推理结论的总体正确率 | ≥ 85% |
| 步骤准确率 | 推理链中每步的正确率 | ≥ 90% |
| 推理路径一致性 | 相同输入多次推理的结论一致性 | ≥ 95% |
| 对抗鲁棒性 | 面对对抗性输入仍保持正确 | ≥ 75% |
### 自我修正
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 错误检测率 | 错误推理被正确标记的比例 | ≥ 90% |
| 修正成功率 | 首次修正即得到正确结果 | ≥ 70% |
| 修正效率 | 修正路径 / 原路径长度比 | ≤ 1.5 |
| 过修正率 | 原本正确被错误修改的比例 | ≤ 5% |
| 冗余修正率 | 不必要的额外修正步骤比例 | ≤ 10% |
### 错误定位
| 指标 | 定义 | 目标值 |
|------|------|--------|
| Top-1 定位准确率 | 错误步骤的首位命中率 | ≥ 80% |
| 根因分类准确率 | 错误类型判别的准确率 | ≥ 85% |
| 定位粒度 | 能定位到句子/公式级别 | 句子级 |
| 假阳性率 | 正确步骤被误判为错误的比率 | ≤ 3% |
### 系统性能
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 推理延迟 | 从输入到输出的端到端延迟 | ≤ 500ms |
| MCTS 扩展数 | 平均每次推理扩展的节点数 | ≤ 200 |
| 内存占用 | 推理过程中的峰值内存 | ≤ 4GB |
| 修正收敛 | 平均修正轮数 | ≤ 1.8 |
| 难点 | 对策 |
|------|------|
| 推理搜索空间过大 | MCTS + 剪枝策略 + 启发式优先搜索 |
| 错误检测过于保守 | 动态阈值 + 多验证器投票 |
| 自我修正陷入循环 | 最大回溯次数限制 + 随机重启 |
| 推理速度与质量的权衡 | 自适应搜索深度(简单问题浅搜,复杂问题深搜) |

View File

@ -1,234 +1,322 @@
# 记忆子网(海马体与皮层)
# 记忆子网 — 训练目标与训练计划
## 概述
记忆子网类比人脑的**海马体与大脑皮层**,负责长期记忆的存储、索引和检索。与传统向量数据库不同,记忆子网是一个**可训练的学习系统**,能够自主构建知识关联、更新记忆权重,并支持情景记忆的时序追溯。
记忆子网类比人脑的**海马体与皮层**,负责长期记忆的存储、检索和管理。采用**三级存储架构**:图数据库(Neo4j)存储结构化知识图谱、向量数据库存储语义向量、文本存储记录会话历史。
### 核心职责
> 图数据库记忆设计参考了 [TrulyMEM-TrueHumanMEM](https://jianfgit.xyz:220/jianf/TrulyMEM-TrueHumanMEM.git) 项目。
- **长期记忆存储**:将压缩引用包持久化存储于冷区,构建可检索的记忆库
- **情景记忆索引**:记录交互的时间戳、上下文和情感标签,支持时序回溯
- **知识图谱构建**:从记忆片段中自动提取实体与关系,构建动态知识图谱
- **关联检索**:根据当前任务上下文,检索最相关的历史记忆片段
### 架构定位
## 架构设计
```mermaid
graph TB
Input["输入引用包"] --> Router["记忆路由器"]
Router -->|"存储"| Store["记忆存储管线"]
Router -->|"检索"| Retrieve["记忆检索管线"]
Store --> Encoder["记忆编码器<br/>MANN"]
Encoder --> Graph["知识图谱更新<br/>GNN"]
Graph --> Cold["冷区持久化"]
Retrieve --> Query["查询编码器"]
Query --> Index["倒排索引搜索"]
Index --> Rerank["重排序器"]
Rerank --> Output["记忆引用包输出"]
subgraph Storage ["存储架构"]
Cold
Cache["热区缓存<br/>LRU"]
IndexStore["索引存储<br/>HNSW"]
end
Cache --> IndexStore
IndexStore --> Cold
subgraph Learning ["学习模块"]
MANN["Memory-Augmented<br/>Neural Networks"]
GNN["Graph Neural<br/>Networks"]
Consolidation["记忆巩固<br/>(sleep phase)"]
end
Encoder -.-> MANN
Graph -.-> GNN
Cold -.-> Consolidation
```
记忆更新参数张量 (来自 Core) 记忆检索请求张量 (来自 Core)
│ │
▼ ▼
┌───────────────────────────────────────────────────────────┐
│ 记忆子网 │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ 记忆管理器 (Memory Manager) │ │
│ │ 解析参数包 → 分发到对应存储层 → 返回结果 │ │
│ └──────┬────────────┬──────────────┬─────────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌────────────┐ ┌────────────────┐ │
│ │ 图数据库 │ │ 向量数据库 │ │ 文本存储 │ │
│ │ (Neo4j) │ │(Milvus/FAISS)│ │ (日志/会话归档) │ │
│ │ │ │ │ │ │ │
│ │ Entity │ │ 语义向量 │ │ 原始对话记录 │ │
│ │ RELATES │ │ 索引 │ │ 时间线索引 │ │
│ │ Cypher │ │ 相似度搜索 │ │ 压缩归档 │ │
│ └──────────┘ └────────────┘ └────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ 张量编/解码层 │ │
│ │ 接收:memory_query / memory_update 标准张量 │ │
│ │ 输出:memory_result 标准张量 │ │
│ └────────────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────┘
```
## 三级存储架构
### 第一级:图数据库(Neo4j)— 温区
存储结构化知识,支持关系查询和推理。
**参考 TrulyMEM 的图数据库设计:**
#### 节点 (Entity) 类型
| 节点类型 | Node Label | 属性 | 说明 |
|----------|-----------|------|------|
| 人设节点 | PersonaNode | name, type, created_at | AI 角色、性格、语气 |
| 任务节点 | TaskNode | task_id, description, state, created_at | 任务概述与状态 |
| 状态节点 | StateNode | name, value, timestamp | 任务或实体的状态 |
| 信息节点 | InfoNode | name, content, source, confidence | 具体信息 |
| 实体节点 | EntityNode | name, type, mention_count, updated_at | 通用实体 |
#### 边 (RELATES) 类型
| 边类型 | 说明 | 示例 |
|--------|------|------|
| `HAS_PERSONA` | 人设关联 | AI → PersonaNode |
| `NEXT_TASK` | 任务时间链 | TaskNode → TaskNode |
| `HAS_STATE` | 状态关联 | TaskNode → StateNode |
| `CONTAINS_INFO` | 信息包含 | TaskNode → InfoNode |
| `RELATES_TO` | 通用关联 | EntityNode → EntityNode |
#### 索引设计
```cypher
// 实体约束
CREATE CONSTRAINT entity_name_constraint IF NOT EXISTS FOR (e:Entity) REQUIRE e.name IS UNIQUE
CREATE CONSTRAINT session_id_constraint IF NOT EXISTS FOR (s:Session) REQUIRE s.session_id IS UNIQUE
// 关系索引
CREATE INDEX rel_created_at IF NOT EXISTS FOR ()-[r:RELATES]-() ON r.created_at
CREATE INDEX rel_type IF NOT EXISTS FOR ()-[r:RELATES]-() ON r.type
CREATE INDEX rel_status IF NOT EXISTS FOR ()-[r:RELATES]-() ON r.status
CREATE INDEX rel_date_bucket IF NOT EXISTS FOR ()-[r:RELATES]-() ON r.date_bucket
// 实体索引
CREATE INDEX entity_type IF NOT EXISTS FOR (e:Entity) ON e.type
CREATE INDEX entity_mention_count IF NOT EXISTS FOR (e:Entity) ON e.mention_count
```
#### 检索示例
```cypher
-- 关键字检索
MATCH (e:Entity)-[r:RELATES]->(t:Entity)
WHERE r.status = 'active'
AND (toLower(e.name) CONTAINS '关键词' OR toLower(t.name) CONTAINS '关键词')
RETURN e, r, t
ORDER BY r.created_at DESC
LIMIT 30
-- 会话隔离检索
MATCH (e:Entity)-[r:RELATES]->(t:Entity)
WHERE r.session_id = $session_id AND r.status = 'active'
RETURN e, r, t
-- 热点实体查询
MATCH (e:Entity)
RETURN e.name, e.mention_count, e.type
ORDER BY e.mention_count DESC
LIMIT 10
```
### 第二级:向量数据库(Milvus / FAISS)— 冷区
存储语义向量,支持相似度检索。
| 项目 | 说明 |
|------|------|
| 索引类型 | IVF_FLAT / HNSW |
| 向量维度 | 768 (匹配标准张量维度) |
| 度量方式 | Cosine Similarity |
| 分片策略 | 按时间桶 + 会话 ID 分片 |
### 第三级:文本存储 — 冷区
存储完整的原始对话记录和会话日志。
| 项目 | 说明 |
|------|------|
| 存储格式 | JSONL / 压缩归档 |
| 索引 | 时间线索引 + 会话 ID 索引 |
| 生命周期 | 30天后归档,90天后可清理 |
| 用途 | 审计、重建、深度分析 |
## 输入/输出
| 项目 | 说明 |
|------|------|
| **输入1** | `memory_query` 张量(来自 Core,含查询意图和种子实体) |
| **输入2** | `memory_update` 张量(来自 Core,含要写入的三元组和元数据) |
| **输出** | `memory_result` 张量(包含检索到的实体/关系/向量结果) |
## 训练目标
### 目标 1:长期记忆存储与检索
### 目标 1:图数据库检索准确率
训练记忆子网能够高效存储大量历史交互记录,并在需要时准确检索。
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 检索召回率 (Recall@10) | ≥ 90% | 对于已知关系的检索 |
| 检索精确率 (Precision@10) | ≥ 85% | 检索结果的相关性 |
| 关系推理准确率 | ≥ 80% | 通过图路径推理发现隐含关系 |
- **存储容量**:支持 ≥ 10⁸ 条记忆片段
- **写入延迟**:≤ 10ms/条
- **检索延迟**:p99 ≤ 50ms
- **检索准确率**:Top-1 ≥ 90%,Top-5 ≥ 98%
### 目标 2:向量检索能力
### 目标 2:情景记忆索引
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 语义检索 Recall@10 | ≥ 85% | 向量相似度检索 |
| 跨模态检索准确率 | ≥ 80% | 文本→图像/语音的跨模态检索 |
| 索引构建时间 | ≤ 100ms/1000条 | 向量索引增量更新 |
对每条记忆附加时间戳、上下文标签、情感值,支持按时间和场景检索。
### 目标 3:记忆关联发现
- 时间范围查询:任意时间窗口的回忆准确率 ≥ 85%
- 情景聚类:同场景记忆的聚类纯度 ≥ 0.8
- 遗忘曲线模拟:模拟人脑 Ebbinghaus 遗忘曲线,重塑低频记忆
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 关联发现 F1 | ≥ 75% | 自动发现实体间的隐含关系 |
| 记忆合并准确率 | ≥ 90% | 重复实体的合并不引入错误 |
| 因果链路发现 | ≥ 70% | 从事件序列中发现因果关系 |
### 目标 3:知识图谱构建
### 目标 4:工作记忆管理
从记忆片段中自动抽取实体和关系,构建可查询的知识图谱。
- 实体抽取 F1 ≥ 85%(基于预训练 NER 模型)
- 关系抽取准确率 ≥ 75%
- 图谱密度:≥ 5 条边/节点
- 推理路径长度:支持最多 5 跳的关系推理
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 上下文切换延迟 | ≤ 10ms | 工作记忆的热区缓存命中率 |
| 工作记忆容量 | 4096 tokens | 每轮有效上下文 |
| 缓存命中率 | ≥ 80% | 热区缓存有效减少冷区访问 |
## 训练计划
### 阶段 1:Memory-Augmented Neural Networks(MANN)预训练
### 阶段 1:图数据库操作基座(无训练)
**目标**:训练记忆增强神经网络,使其具备快速读写外部记忆的能力。
**目标**:构建 Neo4j 图数据库操作层,建立基础检索和写入能力
- **模型架构**:基于 Differentiable Neural Computer(DNC)改进
- 控制器:LSTM,隐藏层维度 512
- 外部记忆矩阵:N × M = 256 × 128
- 读写头:4 个并行读写头
- 记忆注意力:基于内容寻址 + 位置寻址的混合机制
- 时间链路记录:记录记忆写入的时序顺序
**实现**:
- 实现 Cypher 查询模板系统
- 实现 MERGE / CREATE 写入逻辑
- 实现会话隔离和索引管理
- 实现软删除和归档机制
- **训练数据**:
- 合成记忆任务:Copy、Repeat Copy、Associative Recall(Graves et al., 2016)
- 真实对话数据:MultiWOZ、DSTC 系列对话数据集
- 时序序列:WikiText-103(分段记忆)
参考 TrulyMEM 的 `graph_client.py` 实现:
- **损失函数**:
- 主损失:交叉熵损失(任务预测)
- 记忆使用惩罚:鼓励稀疏记忆访问
- 记忆冲突惩罚:避免写入冲突
- **优化器**:Adam(β1=0.9, β2=0.999)
- **学习率**:1e-4,含 warmup 5000 steps
- **梯度裁剪**:max_norm = 10
- **训练轮数**:300 epochs
#### DNC 控制器更新规则
```
# 读取
r_t = Σ_i w_t^r(i) · M_t(i) # 按读取权重加权记忆
# 写入
M_t(i) = M_{t-1}(i) ⊙ (1 - w_t^w(i) · e_t) + w_t^w(i) · a_t # 擦除后写入
# 记忆保持
w_t^r, w_t^w = attend(q_t, M_{t-1}) # 基于查询的注意力
```python
class Neo4jGraph:
def recall(self, query_intent, seed_entities, depth=2):
"""检索记忆 - Cypher 驱动"""
# 关键词解析 → 构造 WHERE 子句
# 支持深度扩展(depth 参数)
# 返回实体列表 + 关系列表
def commit(self, triplets, entity_types, temporal_tag):
"""写入记忆 - MERGE + CREATE"""
# 逐条写入三元组
# 自动维护 mention_count
# 记录会话和轮次信息
def purge(self, criteria, mode="soft", new_relation=None):
"""删除/修正记忆"""
# soft: 标记 status='deleted'
# supersede: 标记旧关系 + 创建新关系
```
### 阶段 2:图神经网络(GNN)知识关联训练
### 阶段 2:图神经网络关联学习
**目标**:构建和更新知识图谱,发现记忆间的隐式关联。
**目标**:训练 GNN 模型进行知识关联推理
- **模型架构**:Relational Graph Convolutional Networks(R-GCN)
- 层数:3 层 GCN
- 隐藏维度:256
- 关系类型数:50 种预设关系 + 动态关系发现
- 聚合函数:均值聚合(mean aggregator)
- 自注意力:GAT(Graph Attention Network)层提升关联权重
**技术路线**:
- 模型:R-GCN (Relational Graph Convolutional Network) 或 CompGCN
- 或 使用 GraphSAGE + 关系注意力
- **训练任务**:
1. **链接预测**:预测实体间是否存在某种关系
2. **实体分类**:预测实体的类别
3. **关系分类**:预测两个实体间的关系类型
4. **子图匹配**:识别与当前上下文最匹配的子图
**训练步骤**:
1. 构建知识图谱训练集:从现有图数据库中采样子图
2. 链接预测任务 (Link Prediction):预测两个实体之间是否存在关系
3. 实体分类任务 (Entity Classification):预测实体类型
4. 损失函数:交叉熵 + 对比损失 (margin-based ranking loss)
5. 训练 200 epochs,使用 Adam 优化器,learning rate 1e-3
6. 评估:在验证集上计算 Hits@K 和 MRR
- **训练数据**:
- 通用知识图谱:Wikidata 子集、ConceptNet
- 自构建图谱:从对话数据中自动抽取的关系三元组
- 时序图谱:Temporal Knowledge Graph(事件时序关联)
### 阶段 3:Memory-Augmented Neural Networks (MANN)
- **损失函数**:
- 链接预测:二元交叉熵 + 负采样(1:10 正负比)
- 实体/关系分类:交叉熵
- 正则项:L2 权重衰减(5e-4)
- **优化器**:AdamW
- **学习率**:5e-5,线性衰减
- **训练轮数**:100 epochs
**目标**:训练记忆增强网络,实现高效的读写操作
### 阶段 3:引用-拉取训练策略
**技术路线**:
- 模型:Differentiable Neural Computer (DNC) 或 Neural Turing Machine (NTM)
- 外部记忆矩阵 + 读写头
**目标**:训练子网学习何时生成引用包、何时拉取完整数据,在带宽与信息量间找到平衡。
**训练步骤**:
1. 合成任务训练:copy task, repeat copy, associative recall
2. 问答任务训练:bAbI 数据集,测试记忆存取能力
3. 长序列建模:训练在长上下文中准确索引信息
4. 添加注意力读写机制
5. 损失函数:任务损失 + 记忆使用正则化
#### 训练框架
### 阶段 4:引用-拉取策略训练
**目标**:训练决定何时拉取(从冷区)、何时缓存的策略
**技术路线**:
- 强化学习:基于记忆访问模式的 RL
- 状态:当前任务类型、历史访问模式、缓存状态
- 动作:拉取/缓存/不操作
- 奖励:访问延迟降低 + 缓存命中率
**训练步骤**:
1. 构建模拟环境:包含热区缓存、图数据库、向量数据库
2. 收集真实交互日志作为训练数据
3. 训练策略网络(Policy Network)
4. 使用 PPO 算法优化策略
5. 评估:缓存命中率、平均访问延迟
### 阶段 5:端到端联合训练
**目标**:将以上阶段整合,与路由子网、逻辑子网联合训练
**训练步骤**:
1. 固定路由子网的输出作为记忆子网的查询输入
2. 使用多任务训练:图检索 + 向量检索 + 关联发现
3. 损失函数:L = L_retrieval + α * L_link + β * L_cache + γ * L_reg
4. 与 Core 的启发式调度策略联合优化
## 评估指标体系
### 离线评估
| 指标 | 计算方法 | 目标 |
|------|----------|------|
| 图检索 Recall@10 | 检索结果中包含正确答案的比例 | ≥ 90% |
| 向量检索 Recall@10 | 按语义相似度排序的召回率 | ≥ 85% |
| 关联推理 MRR | Mean Reciprocal Rank | ≥ 0.7 |
| 记忆写入一致性 | 写入后检索与原始一致 | ≥ 99% |
| 缓存命中率 | 热区缓存直接命中的比例 | ≥ 80% |
### 在线评估
| 指标 | 说明 |
|------|------|
| 记忆检索延迟 | Core 发出查询到收到结果的时间 |
| 记忆更新延迟 | Core 发出更新到写入完成的时间 |
| 信息一致性 | 同一信息多次检索结果是否一致 |
| 记忆容量 | 在不显著降低性能前提下的最大存储量 |
## 记忆更新参数包张量格式
Core 打包给记忆子网的 `memory_update` 张量格式:
```json
{
"header": {
"source": "core",
"target": "memory",
"tensor_type": "memory_update",
"trace_id": "trace-uuid",
"timestamp": 1717200000
},
"payload": {
"entities": [
{"name": "用户_张三", "type": "PersonaNode", "attributes": {"preference": "摇滚音乐"}},
{"name": "项目_NextAgent", "type": "EntityNode", "attributes": {}}
],
"relations": [
{"subject": "用户_张三", "relation": "HAS_PERSONA", "object": "喜欢_摇滚", "confidence": 0.95},
{"subject": "用户_张三", "relation": "RELATES_TO", "object": "项目_NextAgent", "confidence": 0.9}
],
"session_id": "session-20260601-xxxx",
"turn_id": 42,
"metadata": {
"source_subnets": ["routing", "logic_trace", "core"],
"aggregation_strategy": "merge"
}
},
"metadata": {
"entity_count": 3,
"relation_count": 2,
"upsert_mode": "merge"
}
}
```
环境:模拟多轮对话任务
智能体:NextAgent(含记忆子网)
奖励信号:
+1: 正确使用了历史记忆
+0.5: 引用包命中,无需完整拉取
-0.5: 不必要的完整拉取(浪费带宽)
-1: 遗漏了关键记忆
-2: 检索到错误记忆导致错误输出
```
#### 训练步骤
1. **行为克隆(Behavior Cloning)预热**
- 使用专家轨迹数据(人工标注的"正确引用/拉取"决策)
- 监督学习 10 epochs,初始化策略网络
2. **强化学习训练**
- 算法:PPO(Proximal Policy Optimization)
- Actor 网络:2 层 MLP(512 → 256 → 2 动作)
- Critic 网络:2 层 MLP(512 → 256 → 1 值)
- 动作空间:[引用(REFERENCE), 拉取(FETCH)]
- 折扣因子 γ:0.95
- GAE λ:0.95
- clip 系数 ε:0.2
- 训练轮数:1000 episodes
3. **记忆巩固阶段(Memory Consolidation)**
- 模拟"睡眠"过程:定期重放低频记忆,防止遗忘
- 使用 Experience Replay 从冷区采样
- 记忆重加权:根据访问频率动态调整记忆强度
### 阶段 4:端到端联合训练
**目标**:将 MANN、GNN 和引用-拉取策略联合微调。
- 联合损失:L = L_MANN + λ₁·L_GNN + λ₂·L_RL
- λ₁ = 0.3, λ₂ = 0.5
- 冻结策略网络的初期 10 epochs,后全部放开
- 交替训练:每 5 个 batch 的记忆检索 → 1 个 batch 的图谱更新
- 总训练轮数:50 epochs
## 评估指标
### 记忆检索
| 指标 | 定义 | 目标值 |
|------|------|--------|
| Top-1 准确率 | 首条检索结果相关 | ≥ 90% |
| Top-5 召回率 | 前五条中包含相关记忆 | ≥ 98% |
| 平均倒数排名(MRR) | 相关记忆的排名倒数均值 | ≥ 0.92 |
| 归一化折损累计增益(NDCG@10) | 排序质量 | ≥ 0.85 |
### 关联发现
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 链接预测 Hits@10 | 图谱补全准确率 | ≥ 75% |
| 关联发现 F1 | 新关联预测的精确率与召回率调和均值 | ≥ 0.7 |
| 时序一致性 | 时序关系推理准确率 | ≥ 80% |
| 聚类纯度 | 同主题记忆聚类纯度 | ≥ 0.85 |
### 系统性能
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 写入延迟 | 单条记忆写入时间 | ≤ 10ms |
| 检索延迟 p50 | 中位数检索响应时间 | ≤ 20ms |
| 检索延迟 p99 | 99 分位检索响应时间 | ≤ 50ms |
| 存储密度 | 每条记忆平均存储开销 | ≤ 1KB |
| 有效压缩率 | 原始数据大小 / 引用包大小 | ≥ 10× |
### 遗忘曲线
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 短期遗忘率 | 24h 后同场景记忆召回率 | ≥ 90% |
| 长期遗忘率 | 30 天后同场景记忆召回率 | ≥ 70% |
| 干扰抵抗 | 相似记忆插入后的检索准确率变化 | ≤ 5% 下降 |

View File

@ -1,173 +1,215 @@
# 路由与压缩子网(感觉中枢)
# 路由与压缩子网 — 训练目标与训练计划
## 概述
路由与压缩子网类比人脑的**感觉中枢**,负责将外部的多模态输入(文本、图像、音频等)转化为结构化的内部表示。它是 NextAgent 的**入口层**,所有输入数据必须经过此子网处理才能进入后续流程。
路由与压缩子网类比人脑的**感觉中枢**,负责处理多模态输入(图像、语音、文本)的特征提取与压缩,将原始数据转化为轻量级的**标准引用张量**(Reference Tensor)。
### 核心职责
### 架构定位
- **多模态特征提取**:将不同模态的原始数据统一为向量表示
- **信息压缩**:在保留语义的前提下最大化压缩率,降低存储与传输成本
- **引用包生成**:将压缩后的特征打包为标准引用包(RefPack),供调度 Core 分发
- **输入路由**:根据输入类型将数据分发到对应的特征提取通道
```
原始输入 (图像/语音/文本)
│
▼
┌──────────────────────────────────────────────┐
│ 路由与压缩子网(感觉中枢) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 多模态 │ │ 特征融合 │ │ 压缩编码 │ │
│ │ 编码器 │ →│ (Attention)│ →│ (AutoEnc)│ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 张量编码层 (Tensor Encoder) │ │
│ │ 内部张量 → 标准通信张量 │ │
│ └──────────────────────────────────────┘ │
│ │
└──────────────────┬───────────────────────────┘
│
▼
标准引用张量 (Standard Ref Tensor)
│
→ 发送给调度 Core
```
## 架构设计
### 输入/输出
```mermaid
graph TB
Input["多模态输入"] --> Router["输入路由器"]
Router -->|"文本"| TextEnc["文本编码器<br/>BERT/RoBERTa"]
Router -->|"图像"| ImageEnc["图像编码器<br/>ViT/ResNet"]
Router -->|"音频"| AudioEnc["音频编码器<br/>Wav2Vec 2.0"]
Router -->|"视频"| VideoEnc["视频编码器<br/>VideoMAE"]
TextEnc --> Merger["特征融合器"]
ImageEnc --> Merger
AudioEnc --> Merger
VideoEnc --> Merger
Merger --> Compressor["压缩模块<br/>AutoEncoder"]
Compressor --> RefPack["引用包生成器"]
RefPack --> Output["引用包输出"]
subgraph Training ["训练组件"]
SimCLR["对比学习<br/>SimCLR/MoCo"]
KD["知识蒸馏"]
AE["AutoEncoder<br/>训练"]
end
TextEnc -.-> SimCLR
ImageEnc -.-> SimCLR
Merger -.-> KD
Compressor -.-> AE
| 项目 | 说明 |
|------|------|
| **输入** | 原始多模态数据(图像/语音/文本)+ 控制张量(来自Core) |
| **输出** | 标准引用张量(发送给Core) |
| **输出格式** | 标准张量协议,tensor_type=`ref_tensor` |
| **压缩目标** | 10:1 ~ 100:1 压缩率 |
| **延迟目标** | 单次处理 < 50ms |
## 子网内部架构
```
┌──────────────────────────────────────────────┐
│ 路由与压缩子网 内部架构 │
│ │
│ 图像输入 ──→ ViT 编码器 ─┐ │
│ 语音输入 ──→ Wav2Vec ────┤ │
│ 文本输入 ──→ BERT ──────┤ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 多模态特征融合层 │ │
│ │ Cross-Attention │ │
│ │ Transformer 交叉编码 │ │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 压缩编码器 │ │
│ │ Variational AE │ │
│ │ 或 Vector Quantized │ │
│ │ VAE (VQ-VAE) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 张量编码层 │ │
│ │ 内部格式→标准张量格式 │ │
│ └──────────┬──────────┘ │
└─────────────────────────┼─────────────────────┘
│
▼
标准引用张量输出
```
## 训练目标
### 目标 1:多模态特征提取
### 目标 1:多模态特征提取能力
训练各模态编码器,使其能够从原始输入中提取高质量的语义特征。
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 图像分类 Top-1 | ≥ 85% | 在 ImageNet 上 |
| 语音识别字错率 | ≤ 5% | 在 LibriSpeech 上 |
| 文本理解 F1 | ≥ 90% | 在 GLUE 基准上 |
| 多模态对齐准确率 | ≥ 92% | 跨模态检索任务 |
- **文本模态**:预训练语言模型(BERT-base / RoBERTa-base),输出 768 维向量
- **图像模态**:视觉 Transformer(ViT-B/16),输出 768 维向量
- **音频模态**:自监督语音模型(Wav2Vec 2.0 Base),输出 768 维向量
- **视频模态**:视频掩码自编码器(VideoMAE Base),输出 768 维向量
### 目标 2:高压缩率下的信息保留
### 目标 2:信息压缩
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 压缩率 | 10:1 ~ 100:1 | 可配置,动态调整 |
| 重建质量 PSNR | ≥ 30dB | 图像重建 |
| 语义保留率 | ≥ 95% | 压缩前后语义相似度 |
| 信息瓶颈下界 | ≤ 理论下限的 110% | 接近最优压缩 |
在保持重建质量的前提下,将特征维度压缩至原始大小的 10%-20%。
### 目标 3:标准张量格式兼容性
- 压缩率目标:≥ 5 倍(即 768 维 → ≤ 150 维)
- 重建相似度:余弦相似度 ≥ 0.92
- 推理速度:单次压缩 ≤ 5ms(GPU)
### 目标 3:引用包生成
将压缩特征包装为标准化的引用包,包含元数据、签名和冷区索引。
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 张量编码精度损失 | ≤ 0.1% | 编码/解码循环误差 |
| 协议兼容率 | 100% | 与所有子网的标准张量协议兼容 |
| 编码延迟 | ≤ 5ms | 张量编码层处理时间 |
## 训练计划
### 阶段 1:对比学习预训练(SimCLR / MoCo)
### 阶段 1:对比学习预训练(单模态编码器)
**目标**:为各模态编码器学习通用的特征表示。
**目标**:为每个模态预训练独立编码器
- **SimCLR**:用于文本和图像编码器的初始训练
- 批大小:4096
- 温度系数 τ:0.07
- 投影头:2 层 MLP(2048 → 2048 → 128)
- 损失函数:NT-Xent(归一化温度标度交叉熵损失)
- 优化器:LARS(Layer-wise Adaptive Rate Scaling)
- 学习率:0.3 × BatchSize / 256
- 训练轮数:100 epochs
**技术路线**:
- **MoCo v3**:用于视频和音频编码器的训练
- 动量系数 m:0.999
- 队列大小:65536
- 编码器更新:动量式(momentum encoder)
- 损失函数:InfoNCE
- 优化器:AdamW
- 学习率:1.5e-4
- 训练轮数:200 epochs
| 模态 | 模型 | 预训练方法 | 数据集 |
|------|------|-----------|--------|
| 图像 | ViT (Vision Transformer) | SimCLR / MoCo v3 | ImageNet-1K, JFT-300M |
| 语音 | Wav2Vec 2.0 / HuBERT | 对比预测编码 (CPC) | LibriSpeech, CommonVoice |
| 文本 | BERT / RoBERTa | Masked Language Model | BookCorpus, Wikipedia |
**数据集**:
**训练步骤**:
1. 图像编码器:使用 SimCLR 对比学习预训练 ViT-Base,batch size 4096,训练 200 epochs
2. 语音编码器:使用 HuBERT 自监督预训练,k-means 聚类作为伪标签,训练 400k steps
3. 文本编码器:使用 RoBERTa 预训练,MLM 任务,训练 500k steps
4. 评估:分别在下游任务上评估各编码器质量
| 模态 | 数据集 | 规模 |
|------|--------|------|
| 文本 | Wikipedia + BookCorpus | 16GB |
| 图像 | ImageNet-1K + LAION-400M | 4 亿样本 |
| 音频 | LibriSpeech + AudioSet | 5000 小时 |
| 视频 | Kinetics-700 + HowTo100M | 70 万视频 |
### 阶段 2:知识蒸馏(编码器轻量化)
### 阶段 2:知识蒸馏
**目标**:将大模型能力蒸馏到轻量编码器
**目标**:将大模型的丰富特征迁移到轻量编码器,减少推理成本。
**技术路线**:
- Teacher-Student 蒸馏框架
- Teacher 模型:ViT-Large / HuBERT-Large / RoBERTa-Large
- Student 模型:ViT-Tiny / TinyHuBERT / DistilBERT
- **教师模型**:CLIP ViT-L/14(文本+图像)、HuBERT-Large(音频)、InternVideo(视频)
- **学生模型**:各模态专用编码器(参数量为教师模型的 1/10)
- **蒸馏损失**:
- 特征蒸馏:MSE(教师特征, 学生特征)
- 关系蒸馏:基于互信息的对比蒸馏
- 逻辑蒸馏:KL 散度(教师输出 || 学生输出)
- **总损失**:L = α·L_feat + β·L_rel + γ·L_logit
- α = 0.5, β = 0.3, γ = 0.2
- **温度 T**:4.0(软化概率分布)
- **训练轮数**:50 epochs
**训练步骤**:
1. 冻结 Teacher 模型权重
2. Student 模型学习 Teacher 的隐藏层输出(MSE loss)
3. 同时学习 Teacher 的 attention map(KL divergence)
4. 添加任务损失保持下游性能
5. 目标:Student 参数量 ≤ Teacher 的 20%,性能 ≥ Teacher 的 95%
### 阶段 3:AutoEncoder 压缩训练
### 阶段 3:AutoEncoder 端到端训练
**目标**:训练压缩-解压缩的 AutoEncoder 结构。
**目标**:训练压缩-重建网络,实现高压缩率下的信息保留
- **编码器结构**:
```
Input (768) → Dense(512, ReLU) → BN → Dense(256, ReLU) → BN → Dense(128, Linear)
```
- **解码器结构**:
```
Latent (128) → Dense(256, ReLU) → BN → Dense(512, ReLU) → BN → Dense(768, Linear)
```
- **损失函数**:
- 重建损失:MSE + 余弦相似度
- 感知损失:基于预训练编码器的特征匹配
- 对抗损失:附加判别器,提升重建质量
- KL 散度正则项:β-VAE 风格
- **优化器**:Adam(β1=0.9, β2=0.999)
- **学习率**:1e-4,余弦退火调度
- **训练轮数**:150 epochs
- **压缩比搜索**:在 {2×, 3×, 5×, 8×, 10×} 中搜索最优压缩比
**技术路线**:
- 架构:VQ-VAE (Vector Quantized Variational Autoencoder)
- 或 改进版本:VQ-GAN (加入对抗损失)
### 阶段 4:端到端联合微调
**训练步骤**:
1. 固定阶段1-2的编码器输出作为特征输入
2. VQ-VAE 编码器将特征压缩到潜在空间
3. 代码本(Codebook)大小为 8192,每个码字维度 64
4. 解码器重建原始特征
5. 损失函数:
- 重建损失: MSE(原特征, 重建特征)
- 码本损失: sg[encoder_output] - codebook + β * sg[codebook] - encoder_output
- 承诺损失: 鼓励编码器输出靠近选中的码字
6. 训练 100 epochs,batch size 256
7. 评估:在不同压缩率 (10x, 50x, 100x) 下测量重建质量
**目标**:将编码器、压缩器联合微调,优化跨模态对齐。
### 阶段 4:张量编码层训练
- 固定解码器参数
- 引入跨模态对比损失:batch_size 内的跨模态负样本挖掘
- 训练轮数:30 epochs(低学习率 5e-5)
**目标**:训练编码层将内部张量转换为标准通信张量
## 评估指标
**技术路线**:
- 可学习的线性投影层 + LayerNorm
- 维度对齐网络(Projection Head)
### 压缩效率
**训练步骤**:
1. 定义标准张量协议的目标格式(固定维度、精度等)
2. 收集阶段3的 VQ-VAE 潜在表示作为训练数据
3. 训练投影网络将内部张量映射到标准格式
4. 训练配套的解码网络(供其他子网使用)
5. 验证编码/解码循环的一致性误差
| 指标 | 定义 | 目标值 |
|------|------|--------|
| 压缩率 | 原始维度 / 压缩后维度 | ≥ 5× |
| 压缩延迟 | 单次前向推理时间 | ≤ 5ms |
| 吞吐量 | 每秒处理的样本数 | ≥ 1000 samples/s |
### 阶段 5:联合端到端微调
### 重建质量
**目标**:将前四个阶段整合,端到端微调路由子网
| 指标 | 定义 | 目标值 |
|------|------|--------|
| MSE | 原始与重建的均方误差 | ≤ 0.01 |
| 余弦相似度 | 原始与重建的余弦相似度 | ≥ 0.92 |
| PSNR | 峰值信噪比(图像模态) | ≥ 30dB |
| 感知距离 | LPIPS( Learned Perceptual Image Patch Similarity) | ≤ 0.05 |
**训练步骤**:
1. 构建完整的路由子网流水线:输入 → 编码 → 压缩 → 张量化
2. 与记忆子网、逻辑子网联合训练(参看训练流程)
3. 使用多任务损失: L_total = L_rec + L_semantic + L_tensor + λ * L_reg
### 检索与召回
## 评估指标体系
| 指标 | 定义 | 目标值 |
|------|------|--------|
| Top-1 召回 | 压缩查询的最近邻检索准确率 | ≥ 85% |
| Top-5 召回 | Top-5 召回率 | ≥ 95% |
| 跨模态检索 | 文本→图像/图像→文本检索准确率 | ≥ 70% |
| 反事实一致性 | 语义相近输入的重建一致性 | ≥ 90% |
### 离线评估
| 指标 | 计算方法 | 目标 |
|------|----------|------|
| 压缩率 | 原始数据大小 / 张量大小 | ≥ 10x |
| 重建 PSNR | 峰值信噪比 | ≥ 30 dB |
| 语义保留率 | cosine_sim(原语义向量, 重建语义向量) | ≥ 0.95 |
| 编码延迟 | 从输入到张量输出的时间 | ≤ 50 ms |
| 张量协议兼容性 | 编码/解码循环一致性 | ≥ 99.9% |
### 在线评估(与 Core 集成后)
| 指标 | 说明 |
|------|------|
| 信息缺失率 | Core 通知缺少信息时触发 |
| 冗余压缩率 | 引用张量中实际被使用的比例 |
| 多模态融合质量 | 下游任务表现的改善 |
## 技术难点与对策
| 难点 | 对策 |
|------|------|
| 不同模态特征空间不统一 | 使用 Cross-Attention Transformer 对齐特征分布 |
| 极端压缩下信息丢失 | 引入语义损失(对比学习) + 自适应压缩率 |
| 实时性要求高 | 编码器轻量化 + 量化加速(INT8) |
| 多模态时间同步 | 时间戳对齐 + 滑动窗口缓冲 |