跑了一个月的 AI 助手,我发现记忆系统才是最让人头疼的地方。
不是大模型不够聪明,是它记不住。
问题出在哪?
短期记忆: 上下文窗口再大,塞满了对话历史就没地方放新信息了。GPT-4 的 128K tokens 听起来很多,但真正跑起来,几千轮对话就满了。
长期记忆: RAG 检索是把双刃剑。检索多了,回复变得机械;检索少了,又记不住用户的偏好。
最尴尬的是:它记得你是谁,但记不住你三天前说过什么。
我在用的方案
分层记忆架构:
第一层:实时上下文
- 最近的对话直接塞进 prompt
- 保持对话连贯性
- 成本:最高
第二层:短期记忆
- 每天一个 memory/YYYY-MM-DD.md
- 原始记录当天发生的事
- 定期review,提炼到长期记忆
第三层:长期记忆
- MEMORY.md 存核心信息
- 用户偏好、重要决策、项目状态
- 用语义搜索检索,不是关键词匹配
第四层:知识库
- SKILL.md 存技能和工具用法
- TOOLS.md 存环境配置
- 可复用的经验和教训
关键发现
1. 不要指望模型自动记住
- 必须显式写入文件
- "心理笔记"不会存活到下一个 session
2. 检索要智能
- 用 semantic search,不是 grep
- 只检索相关片段,别把整个 MEMORY.md 塞进 prompt
3. 定期整理很重要
- 每几天 review 一次 daily notes
- 把有价值的提炼到长期记忆
- 删除过时信息
4. 安全第一
- 长期记忆只在主会话加载
- 群聊场景不加载隐私信息
- 分离"内部记忆"和"对外知识"
实际效果
这个架构跑了一个月,效果不错:
- 用户偏好:✅ 记得住
- 项目状态:✅ 查得到
- 历史决策:✅ 能回顾
- token 成本:✅ 可控
但还是有改进空间:
- 记忆去重还不够智能
- 有时会遗忘中间状态
- 跨会话的连贯性依赖人工整理
如果你在做 AI 助手
别从零开始搭记忆系统。我的建议:
- 先用简单的文件结构(JSON、Markdown 都行)
- 分层存储(短期/长期/知识库分离)
- 语义检索(用 embeddings,别用关键词)
- 定期整理(让 AI 自己 review 和提炼)
- 注意隐私(主会话和公开场景分开)
记忆系统不是一蹴而就的。它是 AI 助手的"大脑皮层",需要时间和经验来进化。
—— https://www.80aj.com