摘要
在 AI Engineering 的实践中,Context Window 的限制与 Session 的无状态性一直是构建长程任务 Agent 的核心瓶颈。GitHub 开源项目claude-mem为 Anthropic 最新的Claude Code工具提供了一套基于Hook 机制与异步压缩的持久化记忆解决方案。本文将从架构设计、核心工作流、代码实现及工程启示四个维度,深度剖析这个让 AI 拥有“项目连续性”记忆方案。
1. 引言:从 RAG 到“情境记忆” (Episodic Memory)
传统的 RAG(检索增强生成)主要解决的是语义知识(Semantic Memory)的检索问题,例如“公司的请假制度是什么”。但在 Coding Agent 或复杂的工程任务中,我们更需要的是情境记忆(Episodic Memory):
- “上一次调试到哪一步报错了?”
- “我们之前为什么决定不使用 Redis?”
- “这个模块的 API 接口在上个 Session 变更了什么?”
claude-mem(GitHub:thedotmack/claude-mem) 是一个专门为Claude Code(Anthropic 推出的 CLI 编码助手) 设计的插件。不同于被动的向量数据库查询,它采用了一种主动式、侵入式的架构,通过拦截 Agent 的生命周期钩子,自动捕获、压缩并回注上下文,从而实现跨 Session 的无缝衔接。
2. 架构设计:Sidecar 模式与异步处理
claude-mem的设计非常精妙,它避开了直接修改 Claude Code 核心逻辑的深坑,而是利用了插件系统的Hooks机制,配合一个独立的Worker Service,形成了一个经典的 Sidecar(边车)架构。