在不破坏读取记忆的情况下升级您的代理 SDK
SDK 升级应该是例行公事。使用 DIY 记忆时,它们并非如此——架构更改、API 中断、格式漂移都会阻碍升级。MemoryLake 提供跨 SDK 版本的稳定记忆合同,因此您可以在不破坏记忆的情况下进行升级。
问题:SDK 升级破坏记忆合同
您想从 LangChain 0.1 升级到 0.2。记忆类发生了变化。您的自定义记忆停止工作。升级停滞,因为改造记忆的工作量超过了升级本身。
MemoryLake 如何提供 SDK 稳定记忆
向后兼容的 SDK 合同
新的 SDK 版本可以干净地读取先前的记忆。
向前兼容的记忆格式
较旧的 SDK 版本可以容忍较新的记忆条目。
版本化 API
固定到特定的 API 版本;按您的计划进行升级。
每次 SDK 升级的审计跟踪
跟踪记忆访问模式何时发生变化。
永久免费 · 无需信用卡
SDK 稳定记忆的工作原理
- 连接 — 固定到特定的 MemoryLake API 版本。
- 结构 — 通过任何 SDK 版本写入的记忆条目。
- 重用 — 读取在不同 SDK 版本间有效。
升级前后:SDK 升级对记忆的影响
| DIY memory | MemoryLake | |
|---|---|---|
| SDK upgrade breaking memory | Common | Eliminated |
| Pinned API versions | Custom | Built in |
| Cross-version reads | Often broken | Stable |
| Upgrade audit trail | Manual | Built in |
适合谁
在快速发展的 SDK 上运行生产代理应用的工程团队——LangChain、LangGraph、OpenAI SDK、Anthropic SDK——在这些 SDK 升级阻碍了速度。
在你自己的账号上跑通这个场景
Larkfield Home 的打包助手经 MemoryRouter 读取 6 位客户的备注(门禁码、不能装箱的东西)。打包员第 1 轮报出订单,第 2 轮问「门禁码是多少?」。v1 每轮都发完整对话;v2 升级到 Responses API,用 store: true,之后只发新一句加 previous_response_id。MemoryRouter 只能按请求体里有的内容检索,于是第 2 轮给每一单都挂上同一位客户的备注,答案成了别人的门禁码。16 次运行:完整对话 96/96;previous_response_id 加 boundary 18/96;同样发法但第 2 轮不带 boundary 96/96;previous_response_id 且新一句带上客户名 96/96。
你会看到
- 12 条备注用
fact add存进一个项目,一个 boundary 覆盖它;每次模型调用都是memorylake router responses --body … --boundary - 第 1 轮每单发一次、
store: true;第 2 轮从同一条链用四种发法发出,每条回复按其中是谁的门禁码判分 - 检查器把 MemoryRouter 看到的请求体发给 Claude(
router messages,抄写指令放在 system):v1 挂的是每位客户自己的备注,v2 六单挂的都是 Tomas Reyes 的 ask --customer "Lena Vos"把一单用三种发法重放;facts列出全部备注;另有本地 Web 界面
需要: 一个 MemoryLake API key · memorylake CLI · Python 3.9+
运行
git clone https://github.com/memorylake-ai/memorylake-usecases.git cd memorylake-usecases/response-chain-memory export MEMORYLAKE_BASE_URL=https://app.memorylake.cn/openapi/memorylake export MEMORYLAKE_API_KEY=sk-… python3 demo.py # or: python3 web/server.py
看它跑起来 · 真实录制,未剪辑
相关场景
常见问题
弃用政策?
弃用政策?
较长的弃用窗口;对破坏性更改的提前通知。
跨 SDK 测试?
跨 SDK 测试?
支持基于快照的跨 SDK 版本测试。
自托管?
自托管?
是的——企业级部署在您的 VPC 中。