coding-agent-internals

持久记忆 — 实现方式对比

两个极端

无记忆:每次会话从零开始

Agent 状态
Claude Code ❌ 无持久记忆(靠 200K 上下文硬撑)
Codex ❌ 无持久记忆
Aider ❌ 无持久记忆
OpenCode ❌ 无持久记忆(有上下文压缩)
Cursor ❌ 无持久记忆

这些工具依赖:会话内上下文、项目文件(AGENTS.md 等)、用户每次重述偏好。

会话级记忆:项目内持久化

Agent 实现方式
omp Hindsight Memory — retain/recall,会话压缩为 mental model,项目级隔离

omp Hindsight

语义记忆:跨会话持久检索

Agent 实现方式
Hermes mem0 — 语义记忆系统

Hermes 的 mem0

中间态:上下文压缩

部分工具虽无持久记忆,但有会话内上下文管理:

Agent 方式
OpenCode 自动压缩长对话,防止 token 爆炸
Claude Code 200K 上下文,靠大窗口硬撑
omp Hindsight Memory(项目级知识保留)

关键问题

  1. 记忆粒度:是存整段对话,还是提取结构化知识?
  2. 检索方式:关键词匹配 vs 语义向量搜索
  3. 隐私风险:记忆中是否可能存入敏感信息(密钥、密码)?
  4. 记忆衰减:旧记忆如何淘汰?是否有置信度机制?

待补充