第一条线:先懂概念
从 context、history、summary、memory、state 这些词开始,先建立最小心智模型。
看术语页首页只负责带路,不把源码细节一股脑堆上来。
先分清谁是完整 agent runtime,谁是 memory 能力层,谁又兼具平台和存储模型。
这类项目本身就是完整 agent:会拼 prompt、维护会话、做压缩、保存历史,有时还会带自己的长期记忆链路。
这类项目更像别人可以拿来嵌入的能力模块,重点在摘要、抽取、检索、namespace 和持久化,而不是完整聊天界面。
这类项目除了 runtime,还把消息、记忆块、归档和存储后端一起平台化,适合看“统一模型”怎么设计。
每一页都用同样结构讲:这一轮模型看到了什么、memory 怎么形成、什么时候压缩、最后存到哪里。
codex 把 context、memory、state/history 拆成不同职责层:每个 turn 负责组装可见上下文,memory 走启动期两阶段管线,SQLite 和文件系统分别承担结构化持久化与同步。
claude code 把跨会话文件型 memory、单会话摘要、历史记录和压缩边界拆成多条链路,最后组合成模型每轮真正看到的上下文。
hermes-agent 是一个把 prompt 组装、会话持久化、context 压缩、内建 memory 和外部 provider memory 并行编排在一起的完整 agent runtime,而不是单一 memory 库。
letta 把 agent 的核心块记忆、会话消息、归档记忆和 Git-backed 存储串成一条可重建的上下文链。
langmem 不是完整 agent,而是一套围绕 LangGraph / BaseStore 的短期摘要、长期 memory、反射执行和 namespace 隔离组件。
mem0 是一个围绕“抽取式长期记忆”设计的 Memory / AsyncMemory 层,把近期消息、已有记忆、实体链接和历史审计串成一套可检索、可更新的记忆系统,而不是完整的对话运行时。