Learning Guide

把 6 个 agent 的 memory 和 context 讲清楚

先用白话看懂全貌,再一路走到具体实现、存储分层、压缩时机和源码证据。整站默认按“普通读者也能读懂”的方式组织。

源码事实跨项目归纳搭建建议
这站怎么读
  • 完全没背景:先看术语页,再看共同规律页。
  • 想比较 6 个项目:直接看横向对照页。
  • 想做自己的 agent:看框架选择页和实现蓝图页。
  • 想确认每个结论:每页底部都能回到 docs 证据页。
01

推荐阅读路径

首页只负责带路,不把源码细节一股脑堆上来。

第一条线:先懂概念

从 context、history、summary、memory、state 这些词开始,先建立最小心智模型。

看术语页

第二条线:看共性

把 6 个项目放到一起看,理解它们为什么都要分“当前上下文”“短期历史”“长期记忆”。

看共同规律

第三条线:做自己的系统

从场景、记忆需求、存储成本和多 agent 协作四个方向决定你的技术路线。

看框架选择
02

先把 6 个项目分类型

先分清谁是完整 agent runtime,谁是 memory 能力层,谁又兼具平台和存储模型。

终端型 / 交互式 Agent Runtime

这类项目本身就是完整 agent:会拼 prompt、维护会话、做压缩、保存历史,有时还会带自己的长期记忆链路。

  • claude code
  • codex
  • hermes-agent

Memory / Context 能力层

这类项目更像别人可以拿来嵌入的能力模块,重点在摘要、抽取、检索、namespace 和持久化,而不是完整聊天界面。

  • langmem
  • mem0

平台型 Agent 系统

这类项目除了 runtime,还把消息、记忆块、归档和存储后端一起平台化,适合看“统一模型”怎么设计。

  • letta
03

6 个 repo 学习入口

每一页都用同样结构讲:这一轮模型看到了什么、memory 怎么形成、什么时候压缩、最后存到哪里。

终端型 Agent Runtime turn context + 启动期记忆管线

codex

codex 把 context、memory、state/history 拆成不同职责层:每个 turn 负责组装可见上下文,memory 走启动期两阶段管线,SQLite 和文件系统分别承担结构化持久化与同步。

终端型 Agent Runtime 文件记忆 + 会话摘要

claude code

claude code 把跨会话文件型 memory、单会话摘要、历史记录和压缩边界拆成多条链路,最后组合成模型每轮真正看到的上下文。

终端型 Agent Runtime 本地记忆 + provider 插件

hermes-agent

hermes-agent 是一个把 prompt 组装、会话持久化、context 压缩、内建 memory 和外部 provider memory 并行编排在一起的完整 agent runtime,而不是单一 memory 库。

平台型 Agent 系统 core memory + archive + Git-backed

letta

letta 把 agent 的核心块记忆、会话消息、归档记忆和 Git-backed 存储串成一条可重建的上下文链。

Memory / Context 能力层 摘要节点 + BaseStore

langmem

langmem 不是完整 agent,而是一套围绕 LangGraph / BaseStore 的短期摘要、长期 memory、反射执行和 namespace 隔离组件。

Memory / Context 能力层 抽取式长期记忆

mem0

mem0 是一个围绕“抽取式长期记忆”设计的 Memory / AsyncMemory 层,把近期消息、已有记忆、实体链接和历史审计串成一套可检索、可更新的记忆系统,而不是完整的对话运行时。