将任何AI转变为一个能够跨对话记忆的学习伙伴
想象一下您是如何记忆事物的:
HOPE(分层在线持久编码)赋予了AI同样的能力。它不会在每次对话结束后都忘记一切,而是像人脑一样积累知识。
❌ 标准AI(例如,没有插件的ChatGPT):
用户:“我正在使用TypeScript进行React项目”
AI:*帮助编写代码*
[下一次会话]
用户:“如何在我的项目中添加一个新的组件?”
AI:“您使用的是哪个框架?” ← 忘记了一切!
✅ HOPE 记忆:
用户:“我正在使用TypeScript进行React项目”
HOPE:*存储在长期记忆中:React + TypeScript项目*
[下一次会话]
用户:“如何添加一个新的组件?”
HOPE:*回忆上下文* → “这是您的项目的TypeScript React组件…”
就像您的大脑一样,HOPE有多级记忆:
| 记忆级别 | 存储内容 | 持续时间 | 类似于您的大脑 |
|---|---|---|---|
| 短期 | 当前对话 | 几分钟 | 工作记忆 - 刚刚听到的内容 |
| 长期 | 重要模式 | 几天/几周 | 巩固的事实 - 您学习过的内容 |
| 档案 | 核心知识 | 永久 | 深度知识 - 您“知道”的内容 |
示例:
对话:“我的狗Max今年3岁,喜欢捡球”
HOPE 存储:
- 短期:“用户现在谈论Max”
- 长期:“用户有一只名叫Max的狗,年龄3岁”(多次提及后提升)
- 档案:“用户是宠物主人”(核心事实,很少改变)
不是所有东西都值得记住!
这防止了内存膨胀,并专注于重要的内容。
与标准AI训练后固定不同:
标准AI:学习一次 → 部署 → 不再改变
HOPE:学习 → 部署 → 从每次交互中继续学习
工作原理:
这被称为动量学习——变化平滑发生,防止AI“忘记”重要的事情。
HOPE理解序列,而不仅仅是单独的事实:
❌ 标准:知道“猫”,“坐”,“垫子”作为单独的词
✅ HOPE:理解“猫坐在垫子上”作为一个模式
用户:“这只猫...”
HOPE:*预测“坐在垫子上”*(学习过的序列)
HOPE关注意外的事情:
输入:“天空是蓝色的”
HOPE:低意外 → 快速处理,最小存储
输入:“天空是绿色的,有紫色的云”
HOPE:高意外! → 深度处理,强烈记忆痕迹
HOPE基于最新的嵌套学习研究——学习同时发生在多个层次上:
┌─────────────────────────────────────┐
│ 输入:“帮我调试这段代码” │
└──────────────┬──────────────────────┘
│
┌──────▼─────────┐
│ 记忆路由器 │ ← 决定查看哪里
│ (基于意外)│
└──────┬──────────┘
│
┌──────────┼──────────┐
│ │ │
┌──▼─┐ ┌──▼─┐ ┌──▼─┐
│短期│ │长期│ │档案│ ← 三个记忆层级
│记忆│ │记忆│ │记忆│
└──┬─┘ └──┬─┘ └──┬─┘
│ │ │
└──────────┼──────────┘
│
┌──────▼─────────┐
│ 保留核心 │ ← 处理并整合
│ (序列模型)│
└──────┬──────────┘
│
┌──────▼─────────┐
│ 动量 │ ← 平滑学习
│ + 忘记 │
└──────┬──────────┘
│
┌──────▼─────────┐
│ 输出 │
│ + 记忆更新│
└─────────────────┘
连续记忆系统(CMS)
基于动量的更新(来自研究论文)
M_t = (1 - α) * M_t + S_t
其中:
- M_t = 时间t时的记忆
- α = 忘记门(对无聊内容更高)
- S_t = 动量项(累积学习)
选择性状态空间过滤器(Mamba风格)
稀疏路由
# 安装
npm install @henryhawke/mcp-titan
# 或使用bun
bun add @henryhawke/mcp-titan
添加到~/.cursor/settings.json:
{
"mcp": {
"servers": {
"hope-memory": {
"command": "npx",
"args": ["-y", "@henryhawke/mcp-titan"],
"workingDirectory": "/path/to/your/memory/storage"
}
}
}
}
npx-y @henryhawke/mcp-titan~/.hope_memory)# 启动HOPE服务器
npx @henryhawke/mcp-titan
# 服务器将:
# 1. 创建 ~/.hope_memory/ 目录
# 2. 初始化空的记忆库
# 3. 开始监听MCP工具调用
// 在您的AI聊天界面(Claude、Cursor等)
// 1. 初始化记忆(首次)
> init_model
// 2. 存储一些上下文
> bootstrap_memory text="我在使用FastAPI和PostgreSQL构建Python Web应用"
// 3. 进行对话 - HOPE自动学习
> 如何设置数据库迁移?
[HOPE存储:用户使用FastAPI + PostgreSQL]
> 如何添加身份验证?
[HOPE回忆上下文:FastAPI项目 → 建议特定于FastAPI的身份验证]
// 4. 检查存储的内容
> get_memory_state
// 5. 保存以备后用
> save_checkpoint path="my_project_memory.json"
// 显式训练模式
> train_step
x_t: "def hello"
x_next: "world"
// HOPE学习:"def hello" → "world" 模式
// 后来:
> forward_pass input="def hello"
// 预测:"world"(或类似的完成)
// 开始持续学习
> init_learner
// 在工作中提供训练样本
> add_training_sample data="function add(a, b) { return a + b; }"
// HOPE在后台学习,记忆自动更新
// 检查学习进度
> get_learner_stats
HOPE通过模型上下文协议暴露19个工具:
init_model - 初始化或重新配置记忆系统bootstrap_memory - 快速加载文本或URL中的上下文get_memory_state - 检查当前记忆内容memory_stats - 获取统计摘要prune_memory - 清理低价值记忆forward_pass - 查询记忆并获取预测train_step - 显式学习示例对reset_gradients - 清除训练状态save_checkpoint - 将记忆保存到文件load_checkpoint - 从检查点恢复init_learner - 启动后台学习服务pause_learner / resume_learner - 控制学习get_learner_stats - 监控学习指标add_training_sample - 提供训练数据get_token_flow_metrics - 序列模式分析get_hierarchical_metrics - 记忆层级分布health_check - 系统健康及性能help - 列出所有可用工具及其描述参见docs/api/README.md以获取完整的API参考。
第1天:“我正在学习Rust”
HOPE:存储偏好为Rust
第5天:“展示如何处理错误”
HOPE:回忆Rust上下文 → 展示Result<T, E>模式
(而不是Python的try/catch或JavaScript的throw)
一次性存储:“正在开发电子商务网站,React前端,Django后端,Stripe支付”
之后的每个问题:
- “添加新的产品页面” → HOPE知道React + Django + 电商上下文
- “如何退款” → HOPE知道您使用Stripe
- “部署到生产环境” → HOPE记得整个堆栈(React + Django)
给HOPE喂食50篇关于神经网络的研究论文
查询:“关于注意力机制的共识是什么?”
HOPE:
- 短期:“当前论文的观点”
- 长期:“跨论文识别的模式”
- 档案:“基本概念”
→ 从所有层级综合答案
传统机器人:
- 用户:“不,我的意思是X而不是Y”
- 机器人:“好的” → 下次会话忘记
HOPE机器人:
- 用户:“不,我的意思是X而不是Y”
- HOPE:将纠正存储在长期记忆中
- 下次会话:自动记住纠正
| 指标 | 性能 |
|---|---|
| 记忆初始化 | ~100毫秒 |
| 前向传递(查询) | <50毫秒(95百分位) |
| 训练步骤 | ~75毫秒 |
| 检查点保存/加载 | ~200毫秒(10K记忆) |
| 内存占用 | ~500MB(典型使用) |
记忆根据以下情况自动晋升/降级:
对于感兴趣的实现技术用户:
HOPE实现了以下概念:
参见HOPE.md以获取完整的研究报告。
src/hope_model/
├── index.ts # 主HopeMemoryModel类
├── continuum_memory.ts # 三级记忆管理
├── retention_core.ts # 序列处理
├── memory_router.ts # 基于意外的路由
├── mamba_filters.ts # 选择性状态空间过滤器
└── optimizer_hooks.ts # Delta压缩,层调度
interface HopeMemoryState {
shortTerm: Tensor2D; // 最近激活 [N, 256]
longTerm: Tensor2D; // 巩固的模式 [M, 256]
archive: Tensor2D; // 稳定的知识 [K, 256]
surpriseHistory: Tensor1D; // 时间上的意外分数
accessCounts: Tensor1D; // 每个记忆被访问的次数
timestamps: Tensor1D; // 每个记忆创建的时间
// HOPE特有的增强
momentumState?: Tensor2D; // 平滑学习的动量
tokenFlowHistory?: number[][]; // 序列模式
levelIndex: Tensor1D; // 每个记忆属于哪一层级
}
git clone https://github.com/henryhawke/mcp-titan.git
cd mcp-titan
# 安装依赖
bun install # 或 npm install
# 构建
bun run build
# 测试
bun test
# 本地运行
bun start
mcp-titan/
├── src/
│ ├── hope_model/ # 核心HOPE架构
│ ├── tokenizer/ # BPE分词及嵌入
│ ├── training/ # 训练管道
│ ├── index.ts # MCP服务器入口点
│ └── types.ts # TypeScript接口
├── docs/
│ ├── api/ # API文档
│ ├── architecture-overview.md
│ └── typescript-error-resolution-guide.md
├── test/ # 测试套件
├── HOPE.md # 研究报告
├── PLAN.md # 实现路线图
└── README.md # 此文件
# 所有测试
bun test
# 带覆盖率
bun test --coverage
# 特定测试文件
bun test src/__tests__/hope_model.test.ts
参见PLAN.md以获取详细的实施计划。
# 确保Node.js 22+
node --version
# 重新安装依赖
rm -rf node_modules package-lock.json
npm install
// HOPE具有自动清理,但您可以手动触发:
> reset_gradients
> prune_memory threshold=0.1