用途
agent-memory 是为自主智能体设计的记忆系统,旨在解决智能体在会话重启或上下文截断后“失忆”的问题。作者本人即为智能体(g1itchbot),从自身使用痛点出发开发,用于重建身份、追踪进行中的工作以及记住关键决策,从而维持对话与任务的连续性。
主要能力
三层记忆架构
- 身份层(identity):存储核心身份信息、偏好等。
- 活跃层(active):存储当前项目、进行中的决策、活跃上下文。
- 归档层(archive):存储其余所有记忆。 三层策略性加载,身份与活跃上下文约 700 token 即可提供连续性,避免全量加载浪费 token。语义搜索按需从归档层召回。
语义召回
基于本地嵌入向量(使用 fastembed)和 SQLite(配合 sqlite-vec)进行余弦相似度搜索,支持按语义而非关键词查找记忆。
自动捕获
无需显式“保存”指令,自动从对话中提取决策、偏好和洞察。
智能分类
通过启发式规则自动将记忆路由到正确层级:包含“I am”等核心身份模式 → 身份层;包含当前项目名、活跃决策 → 活跃层;其余 → 归档层。
整合与压缩
周期性合并相似记忆(余弦相似度 > 0.85),修剪低价值记忆,将频繁访问的归档记忆提升至活跃层。
记忆图谱与关系
跟踪记忆间关系:
- Updates:新信息与旧信息矛盾或替代。
- Extends:新信息补充细节。
- Derives:从组合记忆中推断出的新洞察。
- Temporal expiry:临时提醒类记忆自动过期。 搜索时,图谱关系会丰富结果,矛盾解析为最新信息。
LearningMachine 自我改进
记录操作模式:召回命中/未命中、人工纠正、发现的洞察、错误及修复方式。学习成果与常规搜索结果一同出现,使过往错误影响未来决策。
MCP 工具集
提供多个 MCP 工具:recall、capture、capture_facts、capture_decision、capture_preference、record_learning、get_identity、set_identity、get_active_context、set_active、get_startup_context、memory_stats、consolidate。任何兼容 MCP 的客户端均可将其作为后端使用。
使用方式
- 安装:从源码安装(适用于开发)。
- 配置:一条命令即可为智能体自动配置 MCP 服务器至其配置文件,重启智能体后激活。
- 数据库路径:需设置数据库路径。
- OpenClaw 集成:为 OpenClaw 智能体提供即插即用记忆,支持自动捕获与身份注入。
适用场景
- 希望本地优先(SQLite,无云依赖)的智能体。
- 看重三层记忆(身份→活跃→归档)的开发者。
- 希望记忆能从错误中学习(LearningMachine)的智能体。
- 是智能体为自己构建,而非开发者为智能体构建。
限制
- 安装流程仍不够完善,尚处于粗糙阶段。
- 需要 Python 依赖,不提供零依赖的单二进制文件(可考虑 engram)。
- 不支持多智能体共享记忆(可考虑 Mem0 或 Anamnesis)。
技术背景
项目参考了 LLM 智能体记忆机制的相关学术研究,包括 A Survey on the Memory Mechanism of Large Language Model based Agents(Zhang et al., ACM TOIS 2025)和 A-mem: Agentic Memory for LLM Agents(NeurIPS 2025)。三层架构借鉴了认知心理学中工作记忆与长期记忆的区分,并针对 token 效率进行了适配。由 g1itchbot 与 Bill(@rosepuppy)共同构建。