本文由 AI 自动摘录整理,原始链接:Agent 框架中的记忆管理
推荐指数:7/10(推荐读原文)
背景
来自公众号 CppMore,系统梳理了 Agent 框架中记忆管理的完整架构:从短期记忆、长期记忆到治理策略,结合 Wuwe Agent Framework 的 C++ 实现给出具体代码示例。是中文社区少见的 Agent 记忆管理深度文章。
核心观点
- 记忆管理决定 Agent 智能化程度:记什么、怎么记、何时记、如何取,是四个关键问题。成功的经验积累越多,Agent 越智能
- 短期记忆维持上下文连续性:LLM 每次 API 调用都是独立的,必须手动保存上下文(对话消息、任务状态、历史摘要)。同时需要预算控制——上下文有限、成本递增、无关信息干扰
- 长期记忆需显式写入,默认不自动记录:只保存稳定可复用的信息(用户偏好、项目事实、决策约束等),自动写入可能污染后续会话、泄露敏感信息
- 治理策略是产品化前提:信息隔离(跨用户不串)、敏感过滤(API key 不入库)、TTL 过期清理、操作审计追踪,缺一不可
补充要点
- 短期记忆三类:对话消息、任务状态、历史摘要——历史摘要是保留有效复杂性、消除噪声的关键手段
- 长期记忆存储双引擎:SQLite 存完整内容 + 向量数据库(如 Qdrant)建语义索引,语义索引是派生数据,丢失可从 SQLite 重建
- 语义搜索解决的核心痛点:表达方式不同但意思相同的查询,常规数据库无法匹配
- 召回流程:Qdrant 语义搜索 → SQLite 取完整记录 → 过滤/排序 → 注入 Prompt
- Wuwe C++ 框架中 memory_policy 控制各类记忆窗口大小,memory_context 管理作用域
- 长期记忆需分组(user/application/conversation/agent),否则不同场景记忆混串