编程智能体记得之前的对话吗?

简短的回答:不记得。但那些对话都还在你的磁盘上

Claude Code、Codex CLI、Cursor、Gemini CLI 在这件事上是一样的:同一个会话里它记得你说过的每一句话;开一个新会话,它对上一个一无所知——昨天一起修好的 bug、试过又放弃的方案、最后真正跑通的那条命令,全都不在。

这不是 bug,也不是你漏开了什么开关。智能体在会话中的记忆就是上下文窗口,会话结束,窗口就被丢掉了。

三样东西都叫「记忆」

机制跨会话保留里面有什么
上下文窗口当前会话的全部内容,直到装不下为止
规则文件(CLAUDE.mdAGENTS.md只有你亲手写进去的那些
磁盘上的会话记录是,但没有人去读每一轮对话、每条命令、每个报错,原样保存

所以老实的回答是:你的智能体把发生过的一切都写下来了,然后再也没打开过那个文件。而且 Claude Code 默认在 30 天后把这个文件删掉(cleanupPeriodDays)——想保留,就在 ~/.claude/settings.json 里把这个数调大。

各家的情况

下面每一个都会把会话写到磁盘上。「能恢复会话」指这个工具可以重新打开过去的某一个会话并接着做,但没有一个会主动去检索你更早的会话。

工具跨会话记忆能恢复单个会话记录位置
Claude Code是(--resume~/.claude/projects/**/*.jsonl
Codex CLI~/.codex/sessions/**/rollout-*.jsonl
Cursorstate.vscdb(SQLite)与 ~/.cursor
Gemini CLI~/.gemini/tmp/*/chats/
Copilot CLI~/.copilot/session-state/*/events.jsonl
DeepSeek Harness(dsh)~/.dsh/sessions/*/session-*/session.jsonl.zstd
Kimi Code~/.kimi-code/sessions/*/*/agents/main/wire.jsonl
Qwen Code~/.qwen/projects/*/chats/*.jsonl

格式登记表里有全部二十一个工具:各自的路径通配符,以及一条记录长什么样。

「它不是给会话做了总结吗?」

压缩(compaction)是会话变长、窗口装不下时发生的事:早先的轮次被一段摘要替换掉,剩下的才放得进去。这段摘要只活在那个会话里,而且它是散文。

在一台机器上对 43 次真实压缩做的测量(方法和语料见评测):

  • 决策保留了 77%
  • 实际跑过的命令保留了 0.2%

这和使用时的感受是一致的:它还记得你们选了 Postgres,但完全不知道当时的迁移命令是什么。

怎么让它记住

1. 自己写下来

规则文件每次会话开始都会被读一遍,写进去的东西就永远记得。它适合放约定、构建命令、不要碰的地方;不适合放历史——你得提前预判什么以后会用到,而没有人会去记录一个还没踩到第二次的坑。

2. 记忆服务

这类平台从你装上它的那一刻开始往后记录,通常还要靠一个抽取模型。它们从空的开始——你之前几个月的工作不在里面——并且给本来不需要联网的流程加进了一次网络调用。

3. 直接读已经存在的会话记录

不需要提前记录,因为记录早就发生了。在这些文件上建一个索引,就能回答「这个我是不是遇到过」——包括你装任何工具之前的每一个会话。deja 做的就是这件事:

curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
deja install --auto
$ deja "connection pool exhausted"
[claude] api   · Jul 8 · 8f31c0a9 — 2 matches
  login started failing after refresh token rotation; jwt kid mismatch in tests
  fixed by reloading jwks cache after rotateKey and adding a clock-skew test
[codex]  web   · Jul 1 · b77d91e2 — 1 match
  refresh token cookie needed SameSite=Lax in local callback flow

接上自动召回之后,这次查询是智能体自己发起的:会话开始时、提问命中过去的工作时、动手改文件或执行命令之前、命令失败之后。全部在本地:不需要账号,不上传,也不调用模型。

就算你不装任何东西,这些历史也是你自己的,而且是纯文本。快速开始 · 为什么会忘事 · 中文 README