工程与开发人员版本化代理记忆的架构演变
在不破坏现有记忆的情况下演变代理记忆架构
代理功能不断演变。记忆架构需要与之演变。DIY 记忆系统在架构更改时会破坏旧数据。MemoryLake 优雅地处理架构演变——类型化记忆适应,先前数据保持可访问,审计记录得以保留。
问题:DIY 记忆中的架构更改破坏一切
您在 facts 表中添加了一个新字段。旧行没有这个字段。您的检索代码在迁移时崩溃。您添加了一个 try/except。架构 "演变" 了——现在您在生产中有两种格式。
MemoryLake 如何处理架构演变
类型化记忆抽象了架构
—六种记忆类型在功能变化演变时保持稳定。
字段级版本控制
—每个字段独立版本控制。
前向和后向兼容性
—新代码读取旧数据;旧代码读取新数据的可用部分。
每次架构更改的审计记录
—跟踪每个字段形状何时更改。
免费开始使用
永久免费 · 无需信用卡
架构演变的工作原理
- 连接——使用类型化记忆;架构大部分是不可见的。
- 结构——随着记忆演变添加字段;旧数据保持可访问。
- 重用——读取在架构版本之间有效;弃用处理得体。
之前与之后:代理记忆架构演变
| DIY memory schema | MemoryLake | |
|---|---|---|
| Adding a field | Migration risk | Add and go |
| Reading old data after schema change | Often broken | Works automatically |
| Audit when schema changed | Manual | Built in |
| Multi-version data in production | Painful | Native |
适合谁
工程团队在代理功能上迭代,记忆架构更改阻碍了速度——而当前的迁移对于频繁交付来说风险太大。
可运行的 demo约 2 分钟
在你自己的账号上跑通这个场景
Tindlewood Analytics 为每个客户账户存一条记忆:文本给人和检索读,metadata 给代码读。v2 把 plan 字段改名为 tier。同一段历史用三种方式发布,四个读者回答同一个问题:哪些账户享受优先支持?不迁移:v2 路由只找到 6 个里的 2 个,滚动发布中仍在跑的 v1 任务找到 4 个。原地改名:v2 修好了,v1 任务变成 0/6;而且只改 metadata 的更新从不出现在 fact trace 里,审计看不到 8 次迁移中的任何一次。先扩展(新旧键并存、新旧措辞并存、旧字段留在 metadata,每条一次调用):四个读者全部 6/6,8 次迁移全部有据可查。
你会看到
- 每条记录有两条读路径:代码读 metadata 键(
tier、plan),保存的检索用fact list --query读文本;改名要让两条都不断 - 不迁移:v2 路由 2/6(8 条 v1 记录读不出),v1 计费任务 4/6;用
fact update --metadata原地改名:v2 6/6,v1 任务 0/6、12 条读不出,「tier …」检索仍是 2/6 - 只改 metadata 的
fact update只移动updated_at,fact trace里没有任何条目:迁移可见 0/8,旧的plan值也找不回来 - 先扩展再记录,一次
fact update --text … --metadata …:四个读者全部 6/6,8/8 次迁移进入 trace 且保留 v1 字段,5 次运行结果完全一致;record子命令、本地 Web 界面,全程不调用模型
需要: 一个 MemoryLake API key · memorylake CLI · Python 3.9+
运行
git clone https://github.com/memorylake-ai/memorylake-usecases.git cd memorylake-usecases/schema-version-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升级代理框架时的记忆迁移Upgrading from LangChain to LangGraph or CrewAI usually loses memory. MemoryLake makes memory framework-agnostic. Free to get started.
Engineering & Developer在代理的 SDK 升级中保持稳定的记忆SDK upgrades shouldn't break agent memory. MemoryLake provides stable memory contracts across SDK versions. Free to get started.
常见问题
六种之外的自定义记忆类型?
六种之外的自定义记忆类型?
支持在类型化记忆中使用自定义字段。
旧字段的弃用?
旧字段的弃用?
可配置并带有审计记录。
自托管?
自托管?
是的——企业级部署在您的 VPC 中。