Context 是 Agent 的灵魂。研究 Agent 的记忆系统,是理解各种 Agent 的一个有效切面。
Session 和 Memory
Session
这里的 session 指每次与 Agent 对话产生的 context。
目前主流 context window 大约在 256k。一次 session 超出后通常会触发 compact,这个过程会丢失信息;并且每个 session 的 context 彼此独立。
Memory
我最早关注这个概念,是因为 OpenClaw。作为有 runtime 的 Agent,它必须有一套长期、可追溯的记忆机制。
其本质是基于 OS 文件系统的 Markdown 记忆层,通常分为两类:
- 日志式记忆:每次 session 在上下文将耗尽或结束后,保存一段 summary 到日志
- 总结式记忆:定期扫描日志,再生成更高层的“热记忆”
通过这套设计,Agent 大致实现了类似人的记忆系统。
在“回忆”阶段,OpenClaw 使用向量搜索混合传统检索,能够像人一样闪回日志中的碎片信息。
为什么我关注 OpenViking
后来我有一个明确需求:给 Agent 外挂一套记忆系统。
OpenClaw 对我来说太笨重,所以我更关注 OpenViking。
OpenViking 是什么
OpenViking 是一个独立、文件式、由 LLM 管理的 memory 系统。
当 Agent 以 MCP 或 CLI 的方式把 context 注入 OpenViking 后,LLM 会按照预设类型自动整理并写入 memory。
这意味着,LLM 接管了“记忆整理”这个管理过程。
而真正值得思考的问题变成:
到底什么内容值得被 Agent 持久记忆?
我认为,个人专属记忆系统是最宝贵的资产之一。
基模能力会持续进步,但模型无法天然学会你的个人习惯与偏好。
当它长期读取你的 daily session,并沉淀为 skill 或 memory 时,这其实就是一种“只属于你的后训练”。
未来趋势
OpenClaw 并不一定适合所有人。
在工作场景里,很多团队并不强依赖 runtime,但会强依赖 memory。
每个人每天都会产生大量 session,这些 session 本身就是公司和个人最有价值的知识资产:
- 对个人:沉淀使用习惯,提升协作效率
- 对团队:减少信息对齐成本,复用历史上下文
在 OpenViking 社群里,已经有人讨论“团队共享 memory”。
如果能系统化地沉淀全部工作 session,团队会明显减少重复沟通,把时间投入到真正的决策和执行上。