Files
nexus/wiki/sources/养龙虾5天血泪史-我的AI-Agent为什么总失忆-OpenClaw-记忆调试全记录.md
2026-04-18 00:18:08 +08:00

3.6 KiB
Raw Blame History

title, type, tags, date
title type tags date
养龙虾5天血泪史我的AI Agent为什么总失忆OpenClaw 记忆调试全记录 source
AI
Agent
OpenClaw
记忆管理
上下文压缩
2026-04-02

Source File

Summary

  • 核心主题AI AgentOpenClaw的长期记忆问题诊断与解决
  • 问题域:上下文窗口压缩导致的信息丢失、搜索失效、系统臃肿、模型切换失忆
  • 方法/机制内存刷新、混合搜索BM25+向量+重排序)、检索指令、上下文修剪、系统提示词审计清理、交接协议
  • 结论/价值5天调试将系统提示词从 20,9652 令牌降至 9,349 令牌(减少 28%),总结出 10 条 OpenClaw 内存管理黄金法则

Key Claims

  • 上下文压缩会丢失细节信息(姓名、数字、具体决定),需要在压缩前将重要内容写入磁盘
  • 纯语义搜索在专有名词、具体数字和确切短语上失败,混合搜索(关键词+向量+重排序)效果更好
  • 检索不是自动的,需要在启动序列中添加明确的检索指令
  • 系统提示词中的每个未使用技能都是每个消息上的开销,移除不使用的文件比添加更重要
  • 模型切换时需要交接协议,否则新模型会以空白上下文窗口开始

Key Quotes

"这是设计使然。上下文窗口是有限的。但默认行为对一切一视同仁,这意味着你精心设计的第三条消息指令,和第七条消息的闲聊得到了相同待遇。"

"信息存在"和"Agent使用信息"之间有区别。你需要两者。搜索基础设施处理第一部分。启动指令和检索习惯处理第二部分。

"真正的修复不是添加更多文件。而是移除那些什么都不做的文件。"

"写入纪律比读取纪律更重要。如果代理不将决定、结果和错误记录到磁盘,这些东西只存在于上下文窗口中。而上下文窗口会被压缩。"

Key Concepts

  • 上下文压缩OpenClaw 将旧消息压缩为摘要以腾出空间,但会丢失细节
  • 内存刷新:在压缩前将重要上下文写入磁盘的机制
  • 混合搜索:结合 BM25关键词匹配、向量嵌入语义相似性和重排序器的搜索策略
  • 检索指令:在启动序列中明确告诉 Agent 何时搜索的指令
  • 上下文修剪:通过 TTL 和保留策略主动清理旧上下文
  • 系统提示词审计:定期检查并移除未使用的技能和文件
  • 交接协议:模型切换前将当前上下文写入每日日志的规范

Key Entities

  • OpenClaw:运行在 Telegram 上的 AI Agent 管理工具,作者的助理"星辉"基于此构建
  • QMD:内存搜索后端,结合 BM25、向量嵌入和重排序器
  • SQLiteOpenClaw 默认的搜索后端,使用向量嵌入但在精确匹配上表现不佳

Connections

Contradictions

  • 与之前的养虾日记2让Agent更懂你思路对比:
    • 养虾日记2侧重 self-improving skill 和双层记忆架构的主动学习
    • 本篇侧重被动防御机制(内存刷新、交接协议)和系统优化
    • 两者互补:主动学习减少错误,被动防御确保记忆不丢失