工程与开发事件源 AI 代理的记忆
在原生支持事件源的记忆上构建事件源 AI 代理
事件源是许多代理系统的正确模型——每个变化都是一个事件;当前状态是一个投影。MemoryLake 原生支持事件源代理:不可变事件日志、投影、重放、时间旅行。
问题:大多数代理记忆系统不是事件源的
您希望为您的 AI 代理使用事件源——可审计的历史、可重现的状态、时间旅行。大多数代理记忆层是可变存储,会覆盖过去的状态。这两种模型不兼容。
MemoryLake 如何支持事件源代理记忆
不可变事件日志
每个记忆变化都是仅追加的事件。
按需投影
当前记忆状态由事件计算得出。
重放任何先前状态
在任何过去事件中重建记忆。
每个事件的审计轨迹
合规级别的来源。
免费开始使用
永久免费 · 无需信用卡
事件源代理记忆的工作原理
- 连接 — 将记忆写入视为事件。
- 结构 — 事件累积;投影计算当前状态。
- 重用 — 正常查询投影;重放事件以进行重建。
之前与之后:事件源代理记忆
| Mutable agent memory | MemoryLake | |
|---|---|---|
| Event log | Not native | Built in |
| Projections from events | DIY | Native |
| Replay any past state | Often impossible | Native |
| Compliance audit | Limited | Per-event provenance |
适合谁
构建基于事件源架构的代理系统的工程团队——金融 AI、合规 AI、医疗 AI——需要事件历史以进行审计和重放。
可运行的 demo约 7 分钟
在你自己的账号上跑通这个场景
Ferrowyn Energy 把每个客户账户存成事件流,每条事件都写进记忆;客服助手经 MemoryRouter 回答。按事件溯源的做法,改错不删事件,而是追加一条补偿事件——它只点名要撤销的事件(「EventReversed: reverses evt-1010」),不重述值。抽取保留了值,却丢了事件 id,于是撤销成了一条独立事实,和它本该撤销的那条并排放着,助手照样答出被撤销的值。13 次运行里,问 6 个被撤销账户的现值:事件原样写入 44/234;应用把撤销写全 208/234(但一个对照账户的最新变更丢了);抽取事实加应用自己折叠出的状态 198/234;只放事件日志和应用状态 144/144。用 fact list 读回的事件日志可以重放到任意一天:104/104。
你会看到
- 8 个账户、24 条事件,每条一次
conv msg append、按事件自身时间盖戳、读完再写下一条;6 个账户以EventReversed: reverses evt-…结尾,2 个对照以普通变更结尾 fact list加每个会话的conv fact-actions逐账户列出记忆现在怎么说:最新事实仍是被撤销的值,撤销事件就存在它旁边- 应用用代码折叠事件,每个账户写一条
fact add状态、每条事件写一条日志(保留 id 和日期);四个 boundary 分别接memorylake router chat --boundary,每题答三次 replay 2026-10-01从记忆里读回事件日志,折叠到那一天和今天,不经模型;ask把一个问题同时问四份记忆;另有本地 Web 界面
需要: 一个 MemoryLake API key · memorylake CLI · Python 3.9+
运行
git clone https://github.com/memorylake-ai/memorylake-usecases.git cd memorylake-usecases/compensating-event-memory export MEMORYLAKE_BASE_URL=https://app.memorylake.cn/openapi/memorylake export MEMORYLAKE_API_KEY=sk-… python3 demo.py # or: python3 web/server.py
看它跑起来 · 真实录制,未剪辑
相关场景
Engineering & Developer用于可重现代理运行的记忆重放Reproducing agent behavior requires reproducing the memory state. MemoryLake provides memory replay for deterministic agent runs. Free to get started.
Engineering & Developer用于代理调试的记忆时间旅行Debugging agents requires seeing memory at the time of the bug. MemoryLake provides time-travel queries on memory history. Free to get started.
Engineering & Developer用于后台代理工作的记忆Background agent workers need memory that survives process boundaries. MemoryLake gives queued workers durable shared memory. Free to get started.
Engineering & Developer用于队列驱动代理管道的记忆Queue-driven AI pipelines lose context across queue boundaries. MemoryLake provides shared memory across pipeline stages. Free to get started.
Engineering & Developer用于 webhook 触发代理的记忆Webhook-triggered agents need memory of prior triggers. MemoryLake gives webhook-driven AI persistent context. Free to get started.
常见问题
支持 CQRS 模式吗?
支持 CQRS 模式吗?
是的——写入事件日志;从投影中读取。
事件存储吞吐量?
事件存储吞吐量?
在高吞吐量下测试。
自托管?
自托管?
是的——企业级部署在您的 VPC 中。