MemoryLake
工程与开发者自主代理的记忆存储

为自主代理提供一个为长时间工作构建的记忆存储

运行数小时或数天的自主代理需要一个能够在重启、交接和模型切换中生存的记忆存储。MemoryLake 为自主代理提供结构化、版本化的记忆,检索时间为毫秒——因此六小时的研究运行不会从第一步重新开始。

Day 1“运行数小时或数天的自主代理需要一个能够在重启、交接和模型切换中生存的记忆存储。MemoryLake”“为自主代理提供结构化、版本化的记忆,检索时间为毫秒——因此六小时的研究运行不会从第一步重新开始。”✓ 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六种针对代理状态优化的记忆类型工具输出之间的冲突解决探索性运行的 Git 风格分支SESSION OUTPUT✓ Same prompt, on-brand answerNo re-briefing required.

为自主代理提供一个为长时间工作构建的记忆存储

免费开始使用

永久免费 · 无需信用卡

问题:自主代理没有持久的状态存储

进程中的变量在代理崩溃时消失。向量存储模糊了事实和观察之间的区别。自定义数据库需要为代理学习的每个新工具定义模式。结果是:在演示中看起来令人印象深刻的自主代理在生产中崩溃。

MemoryLake 如何解决自主代理的记忆存储问题

六种针对代理状态优化的记忆类型

六种针对代理状态优化的记忆类型

代理验证的事实、观察到的事件、生成的反思、学习的技能。每种类型都有自己的存储和检索逻辑。

MEMORY工具输出之间的冲突解决

工具输出之间的冲突解决

当两个工具返回矛盾的数据时,MemoryLake 会标记并应用您的解决策略。代理停止信任过时的事实。

MEMORY探索性运行的 Git 风格分支

探索性运行的 Git 风格分支

为一个投机计划创建一个记忆分支。如果计划有效,则合并。如果无效,则回滚。

每个记忆的来源追踪

每个记忆的来源追踪

每个事实都链接到生成它的工具、文档或对话。对于调试和合规至关重要。

免费开始使用

永久免费 · 无需信用卡

它如何为自主代理工作

  1. 连接 — 通过 SDK 或 MCP 将 MemoryLake 接入代理的规划和工具使用循环。
  2. 结构 — 每个工具结果和反思都被分类、去重并存储。
  3. 重用 — 在下一个规划步骤之前,代理检索最相关的先前事实、事件和技能。

之前与之后:自主代理的记忆

Without MemoryLakeWith MemoryLake
Six-hour research run crashes at hour fiveRestart from scratchResume from last commit
Two tools return contradicting factsAgent gets confusedConflict surfaced and resolved
Reusing a learned skill across runsCopy-paste promptsSkill memory called directly
Auditing "why did the agent decide X?"No recordFull provenance chain

适合谁

为研究、运营、浏览、编码或交易构建自主代理的团队——代理在长时间内无人值守运行,重新从零开始的成本是真实的金钱。

可运行的 demo约 4 分钟

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

Halvorsen Analytics 的自主回填 agent 边跑边把每一步写进 MemoryLake,崩溃后不必从第一步重来。运行中,数据工程师改了三项设置(目标 schema、每批行数、告警频道)。每条改动出现后,demo 在某个判据宣布「这一步已提交」的那一刻让 agent 重启,问只剩记忆的 agent 这项设置现在是什么。15 条改动里,以「追加返回」为提交点,0 次拿回新值(13 次是旧值);以「抽取已读到」为提交点,2 次;以 `conv fact-actions --message` 按批次给出的写入回执为提交点,15/15。已读与已写相隔 3~8 秒。

你会看到

  • 3 场过往会话以会话形式写入,开跑前逐项核对记忆里的约定,随后 16 步夜间任务每一步用 conv msg append 追加
  • 每条改动一个观察线程,轮询 conv consumed-messages --message(已读)与 conv fact-actions --message(已写),在各个时刻用 memorylake router chat --boundary 重启提问
  • 提交日志列出每个抽取批次写了什么,以及只有进度汇报的批次为何永远没有回执;追加持续期间 cook-status 一直是 false
  • 每次重启都顺带问一项未改动的设置作对照;log 与 ask "<问题>" 查看会后的记忆,另有本地 Web 界面

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

运行

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

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

相关场景

常见问题

这与将状态保存到数据库有什么不同?

数据库存储行。MemoryLake 存储带有冲突检测、版本控制和检索排名的类型化记忆。否则,您需要在 Postgres 之上自己构建所有这些。

代理可以相互共享记忆吗?

可以。多个代理可以在同一记忆命名空间中读取和写入,并对每个代理可以看到的记忆类型进行细粒度的访问控制。

检索延迟是多少?

典型检索调用的延迟在毫秒范围内。在生产工作负载上测试过,拥有超过 1 亿个记忆项。