面试被问到“记忆机制”?一个开源项目帮你理解!
最近 Claude Code 很火,但用过的同学都知道一个痛点:新开对话啥都不记得,上次说好的代码风格、踩过的坑、定好的方案——重新来过。
而且在目前的面试中,面试官已经不仅仅询问你Skills,MCP,他们更看重你对于实际工程中的痛点有没有深刻的认识。
最近的一场面试中,面试官就深入的与我讨论了记忆机制的落地场景,在什么时候应该用什么,然后我忽然发现,mem0并不是最好的解法,至少它绝不是唯一的解法。
考虑到这儿,索性就自己写了一个开源项目,既是增强简历的竞争力,也是希望在ai浪潮中做出自己的贡献。
项目是什么
CapsuleMemory —— 给 AI 系统加「胶囊式记忆」的 Python 框架。
- GitHub:https://github.com/Musenn/capsule-memory
- PyPI:
pip install capsule-memory - npm(TS SDK):
npm install @capsule-memory/sdk - 协议:Apache 2.0,完全开源
最直接的用法:让 Claude Code 记住你
pip install 'capsule-memory[mcp]' capsule-memory-mcp
把这个 MCP Server 注册到 Claude Code 配置里(Cursor、Windsurf 同理),然后:
- 每次对话开始,Claude 自动拉取历史相关记忆
- 对话中自动检测可复用的「技能」(你的代码偏好、常用方案等)
- 对话结束后自动封存,下次直接用
完全不用手动配置提示词,Server 内部已经内置了给 Claude 的操作指令。
核心设计:你的记忆你做主
和其他 AI 记忆方案最大的区别是:默认不自动存任何东西。
每次对话都是一个独立的 Session,只有你主动调用 seal() 才会持久化。这样你能精确控制存了什么,不会出现「系统偷偷记住了一个错误方案」的情况。
from capsule_memory import CapsuleMemory
cm = CapsuleMemory()
# 被动模式:一行代码处理 recall + ingest + 生命周期
result = await cm.remember(
user_message="我偏好 black 格式化",
ai_response="好的,记住了。",
user_id="alice"
)
# 手动封存这次对话
await cm.seal_session(user_id="alice", title="代码风格偏好", tags=["python"])
架构上有哪些亮点
1. 技能提取引擎
不只是存对话记录,会实时识别对话中的「可复用技能」:
UserAffirmation | 用户明确肯定了某个方案 |
RepeatPattern | 同类问题多轮出现 |
StructuredOutput | AI 输出了完整脚本/配置 |
LengthSignificance | 单次响应内容极长 |
触发后会生成事件,让用户决定要不要提取成独立技能胶囊,不强制。
2. 四种存储后端
pip install capsule-memory # Local 文件(默认,开发够用) pip install 'capsule-memory[sqlite]' # SQLite + 384维向量检索 pip install 'capsule-memory[redis]' # Redis(多服务场景) pip install 'capsule-memory[qdrant]' # Qdrant(生产级向量数据库)
SQLite 和 Qdrant 用 sentence-transformers 做语义向量,支持 recall("部署问题") 匹配语义相近的历史记录。
3. 三种接入方式
- SDK:直接在代码里调用(见上面示例)
- MCP Server:给 Claude Code / Cursor 用(10 个工具)
- REST API:FastAPI 服务,16 个端点,任何语言都能调
# 启动 REST API 服务 pip install 'capsule-memory[server]' capsule-memory serve --port 8000 # 访问 localhost:8000/docs 有完整 Swagger UI
4. 多框架适配器
# LangChain 直接替换记忆组件 from capsule_memory.adapters.langchain import CapsuleMemoryLangChainMemory # LlamaIndex 同理 from capsule_memory.adapters.llamaindex import CapsuleMemoryLlamaIndexMemory
工程质量怎么样
- Python 3.11 / 3.12 / 3.13 全覆盖
- 431 个单元测试,全过
- mypy strict 模式 + ruff lint 零报错
- CI 完整跑 lint → 类型检查 → 单元测试 → 集成测试
- 核心只依赖 5 个包(pydantic、msgpack、rich、aiofiles、typer),LLM 相关全部可选,基础安装包很轻
已发布到 PyPI 和 npm
# Python pip install capsule-memory # TypeScript / JavaScript npm install @capsule-memory/sdk
Release 页面也挂了预编译包:https://github.com/Musenn/capsule-memory/releases/tag/v0.1.1
项目刚开源不久,Alpha 阶段,如果你用了有什么问题欢迎开 Issue 反馈。
觉得不错的话点个 Star 支持一下 ⭐
查看21道真题和解析