MemoryLake
工程与开发者AI 编程代理的持久记忆

为编程代理提供跨越每个会话边界的记忆

每个新的编程会话都是从头开始。代理重新发现您的代码库,重新询问约定,并重新做出昨天已经做出的决策。MemoryLake 为 AI 编程代理提供跨会话、工具和模型的持久记忆——因此代理对您的代码库的学习得以保留。

Day 1“每个新的编程会话都是从头开始。代理重新发现您的代码库,重新询问约定,并重新做出昨天已经做出的决策。MemoryLake”“为 AI…”✓ Got it, I will remember.Day 7 — new session“Same task again — can you keep the context?”× Sure — what was the context again?(forgot every detail you taught it)+ MEMORYLAKE LAYERMemory auto-loaded仓库范围的持久记忆跨工具可移植性反思记忆块重复错误SESSION OUTPUT✓ Same prompt, on-brand answerNo re-briefing required.

为编程代理提供跨越每个会话边界的记忆

免费开始使用

永久免费 · 无需信用卡

问题:AI 编程代理在会话之间忘记一切

一个编程代理昨天花了两个小时映射您的微服务并决定如何重构身份验证层。今天,新会话,空白状态。它重新阅读相同的文件,重新询问相同的澄清,并可能提出您已经拒绝的方法。

MemoryLake 如何解决 AI 编程代理的持久记忆

仓库范围的持久记忆

仓库范围的持久记忆

每个代理的动作、决策和被拒绝的建议都作为与仓库相关的类型化记忆存储。

MEMORY跨工具可移植性

跨工具可移植性

代理的记忆在 Cursor、Claude Code、Windsurf、自定义 CLI 或 CI 管道中运行时均可使用。

MEMORY反思记忆块重复错误

反思记忆块重复错误

当建议被拒绝时,原因会被记录。未来的会话停止提出相同的死胡同。

Git 风格的记忆分支

Git 风格的记忆分支

记忆跟随功能分支。推测性工作在合并之前不会污染主记忆。

免费开始使用

永久免费 · 无需信用卡

它如何为 AI 编程代理工作

  1. 连接 — 通过 SDK 或 MCP 将 MemoryLake 添加到代理。
  2. 结构 — 每个动作、文件读取和决策被分类为正确的记忆类型。
  3. 重用 — 在下一个会话中,代理在其第一次推理步骤之前加载相关的先前记忆。

之前与之后:编程代理的持久记忆

Without MemoryLakeWith MemoryLake
New session beginsAgent re-explores the repoAgent loads prior memory
Same refactor questionAsked again every timeDecision already in memory
Switching from Cursor to Claude CodeLose contextSame memory, new tool
Six-hour autonomous runRestart from zero on crashResume from last commit

适合谁

运行 AI 编程代理进行重构、迁移、代码审查或长时间自动化的工程团队——在这些情况下,代理需要记住跨会话的决策,而重新开始的成本是真实的工程时间。

可运行的 demo约 7 分钟

在你自己的账号上跑通这个场景

Saltmarrow Pay 的编码 agent 经 MemoryRouter 跑在 Claude Haiku 4.5 上。每次请求都带同一份约 12,100 tokens 的仓库指南(打了 Anthropic 提示缓存断点),MemoryRouter 再挂上团队在之前会话里做的决定。开发者先工作一小段,离开五分半钟,再回来。默认 5 分钟缓存下,休息后的第一个请求把整份指南按缓存写入价重写了一遍(6 次运行中 6 次)。换成 1 小时 TTL,或在休息第 4 分钟发一次保活调用,指南都从缓存读取(6 次中 6 次、6 次)。记忆在哪种设置下都在:四种方式都按休息前写下的决定作答。两段会话合计,默认设置的费用是不缓存的 0.42 倍,1 小时 TTL 0.37 倍,保活 0.29 倍。

你会看到

  • 昨天的会话笔记用 fact add 写入,一个 boundary 覆盖它们;价格取自 memorylake router models(5 分钟与 1 小时两档缓存写入、缓存读取)
  • 每个请求用 memorylake router messages --body 加 --boundary 按四种方式发出:不带 cache_control、默认 5 分钟 TTL、ttl: 1h、5 分钟加一次 1-token 保活
  • 休息是真实等待的 5 分半钟;每条回复的 ephemeral_5m_input_tokens、ephemeral_1h_input_tokens 与 cache_read_input_tokens 显示哪种缓存挺过了休息
  • 账单按两段会话和休息分列,并附其他休息时长的推算表;ask 带团队记忆问一个问题;另有本地 Web 界面

需要: 一个 MemoryLake API key · memorylake CLI · Python 3.9+

运行

git clone https://github.com/memorylake-ai/memorylake-usecases.git
cd memorylake-usecases/cache-ttl-memory
export MEMORYLAKE_BASE_URL=https://app.memorylake.cn/openapi/memorylake
export MEMORYLAKE_API_KEY=sk-…
python3 demo.py          # or: python3 web/server.py

看它跑起来 · 真实录制,未剪辑

相关场景

常见问题

这适用于像 Devin 或 SWE-agent 这样的自主编程代理吗?

是的。任何能够调用 MCP 服务器或 HTTP API 的代理都可以将 MemoryLake 作为其记忆后端。

仓库范围的记忆是如何隔离的?

每个仓库都有自己的命名空间。每个分支的范围可用于推测性或特定功能的记忆。

审计日志中记录了什么?

每个记忆写入,包括作者(代理或人类)、时间戳和来源。对于审查自主代理在夜间所做的事情至关重要。