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命名记忆快照每个测试的快照选择运行之间的记忆差异SESSION OUTPUT✓ Same prompt, on-brand answerNo re-briefing required.

通过可以固定和重放的记忆快照可靠地测试代理

免费开始使用

永久免费 · 无需信用卡

问题:没有记忆快照,代理测试无法重现

测试 A 通过。测试 B 失败。是代理代码还是记忆漂移?没有固定的记忆,每次测试都在不同的上下文中运行。回归测试变得不可靠。代理质量的持续集成变得不可能。

MemoryLake 如何通过快照支持代理测试

命名记忆快照

命名记忆快照

固定特定的记忆状态以进行测试。

MEMORY每个测试的快照选择

每个测试的快照选择

每个测试在已知的记忆状态下运行。

MEMORY运行之间的记忆差异

运行之间的记忆差异

比较测试之间的变化。

跨环境的快照推广

跨环境的快照推广

在开发、预发布和持续集成中使用相同的快照。

免费开始使用

永久免费 · 无需信用卡

记忆快照测试的工作原理

  1. 连接 — 在已知的良好记忆状态下创建快照。
  2. 结构 — 测试在运行时将记忆固定到特定的快照。
  3. 重用 — 持续集成在一致的记忆下运行;结果可以干净地比较。

之前与之后:使用记忆快照的代理测试

DIY memoryMemoryLake
Test reproducibilityMemory drift breaks testsPinned snapshots
Regression detectionUnreliableReliable
Snapshot promotion across envsCustomBuilt in
Memory diff between runsManualSemantic diff

适合谁

需要可靠记忆状态进行测试、回归检测和持续集成的工程团队,构建代理质量保证管道。

可运行的 demo约 1 分钟

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

Tollquay Freight 的报价代理以项目记忆为准:每条运单规则一条事实,代码读取它的 metadata。8 条测试守着这个代理,测试要读记忆,于是团队用三种方式钉住测试夹具。一周里同事们改了几条规则、代码一行没动之后,按 fact id 钉住的夹具报告「每个钉住的 id 都还在」,8 条测试却翻了 3 条:fact update 保留 id,所以 id 钉住的只是名字,不是内容。直接读活记忆的测试翻了 4 条;等真正的边界 bug 上线时,2 条该拦住它的测试只拦住 1 条:另一条测试的上限已被同事挪走,还有一条测试因为 bug 恰好抵消了一次记忆改动而变绿。按内容钉住的夹具翻转 0 条,2 条全部拦住。

你会看到

  • 三种夹具并排:直接读 fact list 的活记忆、用 fact get 逐个加载的 fact id 列表、以及按读到时的样子存进文件的事实(文本、metadata、updated_at、sha256)
  • 同事 5 次写入、代码不变:id 夹具的检查显示 9/9 个 id 都能取到,同时 3 条测试翻转;它也看不见活记忆里新增的那条规则(新 id)
  • 一次把恰好等于上限的值也拒掉的重构:在活记忆上,30 kg 的边界测试已不再测边界(上限已改为 25 kg),周六那条测试则因为 bug 抵消了一次记忆改动而变绿
  • 按内容钉住:0 条假红,2 条测试都拦住了 bug,drift 检查列出全部 5 处变化,包括一次只改 metadata 的审批;drift 子命令、本地 Web 界面,全程不调用模型

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

运行

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

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

相关场景

常见问题

快照存储成本?

增量编码;最小。

跨环境快照共享?

是的 — 在开发、预发布、生产类环境之间推广快照。

自托管?

是的 — 企业级部署在您的 VPC 中。