返回市场
麦克佩泰山神

麦克佩泰山神

作者:henryhawke72 星标更新:2025-11-17

项目介绍

HOPE 内存:像您一样记忆的AI

将任何AI转变为一个能够跨对话记忆的学习伙伴

npm 版本 TypeScript Node.js License: MIT


什么是HOPE?

想象一下您是如何记忆事物的:

  • 💭 短期记忆 - 您5秒前听到的内容
  • 📝 长期记忆 - 您稍后会回忆的重要事实
  • 🗄️ 深度存储 - 您从几年前就“知道”的事情

HOPE(分层在线持久编码)赋予了AI同样的能力。它不会在每次对话结束后都忘记一切,而是像人脑一样积累知识。

HOPE 解决的问题

❌ 标准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 架构

HOPE基于最新的嵌套学习研究——学习同时发生在多个层次上:

┌─────────────────────────────────────┐
│  输入:“帮我调试这段代码”  │
└──────────────┬──────────────────────┘
               │
        ┌──────▼─────────┐
        │  记忆路由器  │  ← 决定查看哪里
        │  (基于意外)│
        └──────┬──────────┘
               │
    ┌──────────┼──────────┐
    │          │          │
 ┌──▼─┐    ┌──▼─┐    ┌──▼─┐
 │短期│    │长期│    │档案│  ← 三个记忆层级
 │记忆│    │记忆│    │记忆│
 └──┬─┘    └──┬─┘    └──┬─┘
    │          │          │
    └──────────┼──────────┘
               │
        ┌──────▼─────────┐
        │  保留核心  │  ← 处理并整合
        │  (序列模型)│
        └──────┬──────────┘
               │
        ┌──────▼─────────┐
        │  动量       │  ← 平滑学习
        │  + 忘记   │
        └──────┬──────────┘
               │
        ┌──────▼─────────┐
        │  输出         │
        │  + 记忆更新│
        └─────────────────┘

核心机制

  1. 连续记忆系统(CMS)

    • 自动晋升/降级的多级存储
    • 记忆根据访问模式和意外程度在层级间移动
  2. 基于动量的更新(来自研究论文)

    M_t = (1 - α) * M_t + S_t
    
    其中:
    - M_t = 时间t时的记忆
    - α = 忘记门(对无聊内容更高)
    - S_t = 动量项(累积学习)
    
  3. 选择性状态空间过滤器(Mamba风格)

    • 高效的序列处理
    • 基于上下文的自适应过滤
  4. 稀疏路由

    • 并非每次查询都会检查所有记忆
    • 将查询路由到相关的记忆层级

安装与设置

要求

  • Node.js 22+(用于TensorFlow.js优化)
  • npm或bun包管理器

快速开始

# 安装
npm install @henryhawke/mcp-titan

# 或使用bun
bun add @henryhawke/mcp-titan

Cursor配置

添加到~/.cursor/settings.json

{
  "mcp": {
    "servers": {
      "hope-memory": {
        "command": "npx",
        "args": ["-y", "@henryhawke/mcp-titan"],
        "workingDirectory": "/path/to/your/memory/storage"
      }
    }
  }
}

Claude Desktop配置

  1. 打开Claude Desktop设置
  2. 添加MCP服务器:
    • 名称: hope-memory
    • 命令: 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"

训练HOPE

// 显式训练模式
> 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

可用的MCP工具

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. 个性化代码助手

第1天:“我正在学习Rust”
HOPE:存储偏好为Rust

第5天:“展示如何处理错误”
HOPE:回忆Rust上下文 → 展示Result<T, E>模式
      (而不是Python的try/catch或JavaScript的throw)

2. 项目上下文记忆

一次性存储:“正在开发电子商务网站,React前端,Django后端,Stripe支付”

之后的每个问题:
- “添加新的产品页面” → HOPE知道React + Django + 电商上下文
- “如何退款” → HOPE知道您使用Stripe
- “部署到生产环境” → HOPE记得整个堆栈(React + Django)

3. 研究助手

给HOPE喂食50篇关于神经网络的研究论文

查询:“关于注意力机制的共识是什么?”
HOPE:
- 短期:“当前论文的观点”
- 长期:“跨论文识别的模式”
- 档案:“基本概念”
→ 从所有层级综合答案

4. 持续学习聊天机器人

传统机器人:
- 用户:“不,我的意思是X而不是Y”
- 机器人:“好的” → 下次会话忘记

HOPE机器人:
- 用户:“不,我的意思是X而不是Y”
- HOPE:将纠正存储在长期记忆中
- 下次会话:自动记住纠正

性能与可扩展性

基准测试

指标性能
记忆初始化~100毫秒
前向传递(查询)<50毫秒(95百分位)
训练步骤~75毫秒
检查点保存/加载~200毫秒(10K记忆)
内存占用~500MB(典型使用)

容量

  • 短期: 64槽(快速访问)
  • 长期: 256槽(中等访问)
  • 档案: 512槽(稳定存储)
  • 总计: ~800个不同的记忆痕迹

记忆根据以下情况自动晋升/降级:

  • 访问频率
  • 意外值
  • 时间最近性

架构深入

对于感兴趣的实现技术用户:

研究基础

HOPE实现了以下概念:

  • 嵌套学习 - 多层次优化问题
  • 连续记忆系统 - 不同更新频率的多级存储
  • 保留网络 - 高效的序列建模
  • 选择性状态空间模型(Mamba)- 自适应过滤

参见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

发展路线图

✅ 已实现(v3.0)

  • 三级连续记忆系统
  • 保留序列处理
  • 选择性状态空间过滤器
  • 基于意外的记忆路由
  • 分层晋升/降级
  • 包含19个工具的MCP服务器
  • 检查点保存/加载
  • 在线学习服务

🚧 正在进行中(v3.1)

  • 修复TypeScript编译错误(42 → 0)
  • 实现基于动量的更新(方程32-33)
  • 激活遗忘门机制
  • 令牌流跟踪

🔮 计划(v4.0)

  • 深度神经记忆模块(基于MLP)
  • 自修改学习
  • 多模态记忆(文本 + 代码 + 图像)
  • 多服务器分布式记忆
  • 细粒度访问控制

参见PLAN.md以获取详细的实施计划。


故障排除

“模块未找到”错误

# 确保Node.js 22+
node --version

# 重新安装依赖
rm -rf node_modules package-lock.json
npm install

长时间会话中的内存泄漏

// HOPE具有自动清理,但您可以手动触发:
> reset_gradients
> prune_memory threshold=0.1