用途:解决项目 CLAUDE.md 单层记忆、无淘汰机制的问题——持久事实与临时偏好混在同一常驻文件里,会话中学到的事实若不手写就会丢失。agent-memory 用“晋升阶梯”替代单纯扩容:一条声明靠反复出现获得晋升资格,最后一步由人工确认。
主要能力:分四层,按注入策略而非存储格式区分。L0 为原始会话记录,从不注入;L1 为候选原子,按相关性在提示时召回,不提交(gitignore);L2 为本项目上下文,每次会话开始注入,采纳后提交;L3 为跨项目稳定人设,始终注入,采纳后提交。晋升门控:L0→L1 由显式标记触发(指令、纠正、明示偏好、命名教训、可复现失败),规则驱动、高精度、低召回;L1→L2 需 ≥3 个不同会话且跨 ≥2 个不同日历日,直接陈述的声明需 2 个会话但仍受跨日规则约束,已验证声明一次观察即可晋升且是唯一免跨日路径;L2→L3 需在 ≥2 个不同项目中出现、存在 ≥30 天且无争议。两类门控拒绝而非猜测:被脱敏改写过的声明不能仅凭证据晋升;存在未解决矛盾的声明冻结在 L1,等待人工裁决,不静默覆盖原有内容。
使用方式:提供三个脚本命令,如 python3 scripts/memory_inspect.py --tier L1 查看记忆与晋升阻塞项,--why "PR base branch is dev" 追溯来源,--contested 列出所有存在矛盾的声明,python3 scripts/memory_promote.py 干跑晋升流程且不写入。三个钩子无人值守运行:SessionStart 注入 L2+L3,UserPromptSubmit 召回相关 L1 原子,SessionEnd 捕获并暂存;可分别用 AGENT_MEMORY_SESSIONSTART=0、AGENT_MEMORY_USERPROMPTSUBMIT=0、AGENT_MEMORY_SESSIONEND=0 禁用。所有钩子失败开放:记忆系统损坏只会损失记忆,不会中断会话。
硬性规则:写入前脱敏,任何被改动的原子隔离出晋升流程;只提议不直接应用,晋升结果落在 .memory/staged/,只有显式 /cs:memory adopt 才会改动 CLAUDE.md 且先备份;引用而非编造,每个原子带指向来源记录行的反向指针,--why 解析歧义时宁可不输出;争议声明不作为事实呈现,但仍会注入并打标签;已提交层不携带路径,晋升时剥离含操作系统用户名的反向指针前缀。
适用场景与限制:适合 CLAUDE.md 已膨胀到无人细读、希望智能体从会话中学习持久事实的项目。仅依赖标准库,无数据库、嵌入、网络或 LLM 调用。具体安装方式、平台支持与收费信息暂未提供。