前面几节,我们已经把 Agent 的“短期记忆”体系逐步搭起来了。
我们先有:
Conversation History
用来记录,“过去发生过什么。”
然后有:
Working Memory
用来记录,“当前任务最重要的认知是什么。”
再有:
Session
让用户今天上午的多轮交互,下午还能继续恢复。
接着我们又实现:
Context Window Monitor
Context Compaction
让 Agent 不至于因为历史越来越长,把整个 Context Window 撑爆。
到这里,一个新的问题自然出现,如果 Session 已经结束,哪些信息还值得继续留下?
比如用户今天和 Agent 做了一个重要决定:
这个项目以后统一使用 Python 3.9。
第二天新建一个 Session。
如果 Agent 完全不知道昨天的决定,那它又可能建议:
升级 Python 版本。
再比如今天排查一个复杂项目后,Agent已经确认:
项目入口是 src/main.py
测试框架使用 pytest
部署环境不允许新增依赖
数据库继续使用 SQLite
这些事实并不只是“今天这个 Run 的临时状态”。
它们未来还会继续影响行为。
这就是 Long-term Memory 要解决的问题,让今天形成的重要事实、偏好、决策和经验,在明天的新 Session 里仍然可用。
这里还有后半句话容易被忽略,当事实被纠正、要求已经过期,或者用户要求删除时,明天也不能继续拿旧记忆做决定。 会写入只是起点,能够追溯、更新、失效和遗忘,才算形成完整闭环。
但这一节我们先不急着上:
向量数据库
Embedding
RAG
Memory Retrieval Pipeline
那些技术以后当然有价值。
可如果一开始连,“什么值得记?”
都没想清楚,直接上向量库,只会把大量低质量历史永久保存下来。
所以我们先用最容易理解、最容易调试、最容易审计的方式:
文件系统。
设计:
memory/
├── user.md
├── project.md
├── decisions.md
└── learnings.md
并提供:
read_memory
write_memory
update_memory
delete_memory
让 Agent 真正完成,今天做出的决定,明天继续知道;今天已经纠正的旧结论,明天不再冒出来。
开场引入
先看一个真实场景。
今天下午,用户和 Coding Agent 处理一个 Python 项目。
经过多轮讨论后,用户明确决定,“这个项目以后继续使用 Python 3.9,不要升级版本;测试使用 pytest;除非我明确同意,不要新增第三方依赖。”
当前 Session 里,Working Memory 记录:
Goal:
修复启动问题
Completed:
- 已确认 Python 3.9
- 已确认 pytest
- 已确认不新增依赖
Session 结束。
第二天,用户新开一个会话,“帮我给这个项目加一个配置加载模块。”
如果 Agent 没有 Long-term Memory,它拿到的可能只有:
System Prompt
Current Task
项目文件
然后模型发现:
pydantic-settings
很适合,于是建议,“新增 pydantic-settings 依赖。”
但昨天用户刚说,“不要新增第三方依赖。”
不是模型故意忘记。
而是我们根本没有把这个决定从短期状态提升成长期记忆。
所以关键问题不是,“如何让模型记住所有聊天内容?”
而是,哪些信息应该从 Session 中被提炼出来,成为未来仍然有效的 Memory?
这就是 Long-term Memory 的核心。
真实系统里,长期记忆至少可能包含四类东西:
用户偏好
项目事实
关键决策
经验 / 学习
于是我们把它们拆成:
memory/
├── user.md
├── project.md
├── decisions.md
└── learnings.md
为什么不全放一个 memory.md?
因为一开始看起来简单。
但过一段时间就会变成:
用户偏好
项目路径
旧错误
部署规则
SQL 结论
用户语气
测试命令
经验
决策
……
全部混在一起。
后面既难读,也难更新。
所以和前面 ContextBuilder 一样,我们还是坚持,先把职责边界分清楚。
这一节不会追求“记忆系统有多智能”。
我们先追求:
可读
可改
可追踪
可审计
跨 Session 可复用
可纠正
可删除
这正是文件系统方案最大的价值。我们会先把单用户、单项目的机制讲透,再补上真实服务必须考虑的作用域和权限边界,不让“教学版简单”悄悄变成“生产环境默认安全”。
知识地图
![图片[1]-Long-term Memory:让 Agent 跨 Session 记住信息-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1573.png)
Long-term Memory 在整个 Agent Harness 中的位置:
![图片[2]-Long-term Memory:让 Agent 跨 Session 记住信息-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1574.png)
















请登录后查看评论内容