让代理记住工具故障,以便他们恢复而不是陷入恶性循环
当工具故障时——速率限制、网络错误、模式不匹配——代理往往盲目重试或放弃。如果没有对故障的记忆,同样的工具调用将以同样的方式失败。MemoryLake 为代理提供了工具故障和实际有效的恢复策略的类型化记忆。
问题:代理没有对哪些工具故障的记忆
昨天,Stripe API 限制了代理的速率。今天的代理遇到同样的速率限制,并以相同的策略重试。上周有效的恢复模式——指数退避加分块——在代理可以读取的地方不存在。
MemoryLake 如何捕获工具故障记忆
类型化故障记忆
每个故障都存储原因、工具、恢复动作和结果。
作为技能记忆的恢复策略
成功的变通方案成为可调用的技能。
随时间的模式检测
反复出现的故障模式标记系统性修复。
每个恢复动作的审计轨迹
跟踪哪些恢复尝试有效。
永久免费 · 无需信用卡
工具故障记忆的工作原理
- 连接 — 将故障日志记录接入代理的工具错误处理程序。
- 结构 — 每个故障写入类型化记忆;成功的恢复写入技能记忆。
- 重用 — 在工具调用之前,代理检索相关的先前故障。
前后对比:代理工具故障恢复
| DIY memory | MemoryLake | |
|---|---|---|
| Same tool failure repeated | Constant | Memory-blocked |
| Successful recovery pattern reuse | Manual | Skill memory call |
| Pattern detection across failures | Manual | Reflection memory |
| Audit "what recovery did the agent try?" | Limited | Memory provenance |
适用对象
运行多个工具集成的工程团队——在这些团队中,工具故障频繁且相同的模式不断浪费代理计算资源。
在你自己的账号上跑通这个场景
Copperleaf Billing 有一个夜间账单 agent。六个晚上里,Ledgerline API 四次以 HTTP 429 限流它的 export_invoices 调用;每次失败都用两种方式记下来。作为运行日志交给 MemoryLake 的抽取器,记住的是教训(哪个调用会怎样失败、上次是改成每批 20 条才成功),但重复的失败被合并了:四次失败只留下一到五条事实,12 次运行里有 9 次,某一晚没带来新信息的重复失败一条事实都没改。第 47 晚调用前,agent 按一条规则判断:7 天内同一失败 3 次,就别再重试,去做系统性修复。在运行日志记忆上,12 次运行里有 10 次数少了,6 次规则从未触发。由错误处理器每次失败写一条带类型的记录,每次运行都数出 4 次,并在第三晚触发规则。
你会看到
- 两种记忆并排:当晚的运行日志用
conv msg append --timestamp … --wait追加进会话交给抽取器;错误处理器每次失败用fact add+fact update --metadata(run、date、tool、error、recovery、outcome)写一条记录 - 第 47 晚的调用前检查两边都读:关于这次失败的事实里写到的每个日期、按来源消息定日期的每条
fact trace,以及用fact list --query export_invoices加 metadata 过滤取回的记录 - 12 次运行:运行日志数全 4 次的有 2 次,加上
fact trace3 次,带类型的记录 12 次;规则在第 45 晚(本该如此)首次成立的分别是 2、3、12 次 history子命令把这一周每一晚和两种记忆逐条对照,另有本地 Web 界面;不调用模型
需要: 一个 MemoryLake API key · memorylake CLI · Python 3.9+
运行
git clone https://github.com/memorylake-ai/memorylake-usecases.git cd memorylake-usecases/recurring-failure-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 或 MCP 可调用的任何工具。
跨代理故障记忆共享?
跨代理故障记忆共享?
可配置范围。
自托管?
自托管?
是的——企业级部署在您的 VPC 中。