AI代理版本化记忆服务

Memstate AI为AI代理提供结构化的版本化记忆存储,支持事实存储、冲突检测和决策跟踪,无需基础设施即可部署。

  • by memstate-ai
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 memstate-ai/memstate-mcp

使用说明

模态AI-MCP

AI代理的版本化内存。 存储事实、检测冲突并跟踪决策如何随时间变化——作为托管的MCP服务器公开。

仪表盘 · 文档 · 定价


为什么选择Memstate?

RAG(大多数其他存储系统) Memstate AI
每次对话的令牌使用量 ~7500 ~1500
代理可见性 黑盒 完全透明
内存版本控制 无 完整历史记录
随着记忆规模的扩大,代币增长 O(n) O(1)
需要基础设施 是 无--托管SaaS

其他内存系统将所有内容转储到您的上下文窗口中,并希望一切顺利。Memstate给你的代理人一个 结构化、版本化的知识库 它精确导航——只加载你需要的内容,知道发生了什么变化,知道什么时候事实发生了冲突。


基准测试

我们建造了一个 开源基准测试套件 这测试了对代理内存真正重要的是什么:你的系统能否存储事实,在会话中准确地回忆它们,在事情发生变化时检测冲突,并在项目发展过程中维护上下文?

正面交锋:Memstate AI vs Mem0

这两个系统都在相同的条件下使用相同的试剂(Claude Sonnet 4.6,温度0)、相同的场景和相同的评分标准进行了测试。

指标 Memstate AI Mem0 获胜者
总体评分 69.1 15.4 记忆状态
准确度(事实回忆) 74.1 12.6 记忆状态
冲突检测 85.5 19.0 模态
上下文连续性 63.7 10.1 模态
令牌效率 22.3 30.6 Mem0

评分权重:准确率40%,冲突检测25%,上下文连续性25%,令牌效率10%。

按场景细分

该基准测试运行了五个模拟多会话代理工作流的真实场景:

场景 模态AI Mem0
Web应用程序架构演变 43.2 55.6
身份验证系统迁移 66.2 10.2
数据库模式演变 72.7 7.0
API版本冲突 86.5 0.9
团队决策逆转 77.2 3.3

Mem0赢得了第一个场景(简单的架构跟踪),但在需要矛盾处理、跨会话上下文和决策逆转跟踪的场景中表现不佳——在五个场景中的三个场景中得分接近零。

Memstate为何获胜

基准测试揭示了一个根本的架构差异:

Mem0使用基于嵌入的语义搜索。 事实是通过相似性分块、嵌入和检索的。这适用于简单的查找,但在以下情况下会崩溃:

  • 事实与先前的事实相矛盾(系统无法区分当前与过时)
  • 需要精确的回忆(嵌入返回“相似”的结果,而不是精确的结果)
  • 从写到读的延迟很重要(新记忆需要几秒钟才能被搜索)

Memstate使用结构化、版本化的键值存储。 每个事实都存在于一个具有完整版本历史的显式密钥路径中。这意味着:

  • 内置冲突检测功能 --当一个新事实与旧事实相矛盾时,系统会知道并保留这两个版本
  • 召回是确定性的 --你得到的是存储的内容,而不是大致匹配的内容
  • 跨会话连续性可靠 --代理在结构化树中导航,而不是希望语义搜索能够显示正确的上下文
  • 代币成本保持O(1) --代理首先加载摘要,只有在需要时才深入细节,而不是将所有潜在的相关嵌入转储到上下文窗口中

公平注意事项

  • 两个系统使用相同的试剂模型、温度和评估标准
  • Mem0在写入和读取之间有10秒的摄取延迟,以解释其异步嵌入管道
  • Mem0在令牌效率方面得分更高,但这个指标应该在上下文中阅读——较低的令牌使用率可能只是反映了返回的信息较少。检索不完整或不正确事实的系统每次响应使用的令牌较少,但可能需要更多的后续调用,最终会花费更多的令牌来达到相同的答案
  • 基准源代码包含在此存储库中,以实现完全可重复性
  • Mem0在自定义配置或不同的嵌入模型下可能表现不同

快速开始

获取API密钥: memstate.ai/仪表板,然后添加到MCP客户端配置中:

{
  "mcpServers": {
    "memstate": {
      "command": "npx",
      "args": ["-y", "@memstate/mcp"],
      "env": {
        "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

没有Docker。没有数据库。没有基础设施。60秒后跑步。


客户端设置

克劳德桌面

配置位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memstate": {
      "command": "npx",
      "args": ["-y", "@memstate/mcp"],
      "env": { "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE" }
    }
  }
}

克劳德代码

claude mcp add memstate npx @memstate/mcp -e MEMSTATE_API_KEY=YOUR_API_KEY_HERE

光标

在光标设置中→ MCP → 添加服务器——与上面的Claude Desktop相同的JSON格式。

Cline/Windsurf/Kilo码/Roo码

所有这些都支持相同的stdio MCP配置格式。添加到客户的MCP设置文件中。


核心工具

工具 何时使用
memstate_remember 存储降价、任务摘要、决策。服务器提取密钥路径并自动检测冲突。 用于大多数写作。
memstate_set 将单个密钥路径设置为短值(例如。 config.port = 8080).不适合散文。
memstate_get 浏览项目或子树的所有记忆。 在每项任务开始时使用。
memstate_search 当你不知道确切的关键路径时,按意义进行语义搜索。
memstate_history 看看一段知识是如何随着时间的推移而变化的——完整版本链。
memstate_delete 软删除密钥路径。创建墓碑;完整的历史得以保存。
memstate_delete_project 软删除整个项目及其所有记忆。

关键路径是如何工作的

记忆以分层点表示法组织:

project.my_app.database.schema
project.my_app.auth.provider
project.my_app.deploy.environment

关键路径是自动前缀的: keypath="database" 和 project_id="my_app" → project.my_app.database。你的代理可以精确地钻取它需要的东西——没有完整的上下文转储。


运作原理

Agent: memstate_remember(project_id="my_app", content="## Auth\nUsing SuperTokens...")
         ↓
Server extracts keypaths:  [project.my_app.auth.provider, ...]
         ↓
Conflict detection:  compare against existing memories at those keypaths
         ↓
New version stored — old version preserved in history chain
         ↓
Next session: memstate_get(project_id="my_app") → structured summaries only
         ↓
Agent drills into project.my_app.auth only when it needs auth details

代币成本保持不变 无论存在多少总记忆。


添加到您的代理说明中

复制到您的 AGENTS.md 或系统提示:

## Memory (Memstate MCP)

### Before each task
- memstate_get(project_id="my_project") — browse existing knowledge
- memstate_search(query="topic", project_id="my_project") — find by meaning

### After each task
- memstate_remember(project_id="my_project", content="## Summary\n- ...", source="agent")

### Tool guide
- memstate_remember — markdown summaries, decisions, task results (preferred)
- memstate_set — single short values only (config flags, status)
- memstate_get — browse/retrieve before tasks
- memstate_search — semantic lookup when keypath unknown
- memstate_history — audit how knowledge evolved
- memstate_delete — remove outdated memories (history preserved)

环境变量

变量 默认值 描述
MEMSTATE_API_KEY (必填) API密钥来自 memstate.ai/仪表板
MEMSTATE_MCP_URL https://mcp.memstate.ai 覆盖自托管部署

验证您的连接

MEMSTATE_API_KEY=your_key npx @memstate/mcp --test

打印所有可用的工具并确认API密钥有效。

专为有权了解自己所知的AI代理而构建。