Grok Build · 会话与记忆 —— 持久化、压缩、回滚、跨会话记忆


文档摘要

Grok Build · 会话与记忆 —— 持久化、压缩、回滚、跨会话记忆 章节摘要:前面几章讲了 Agent 如何「思考」与「动手」。本章转向一个同样重要但常被忽视的主题:Agent 如何「记住」。一个会话可能跨越几十轮对话、上百次工具调用,这些历史如何存储?当历史逼近模型上下文窗口,如何压缩?当用户想回到 Agent 动手之前的状态,如何回滚?跨会话的项目知识,如何沉淀复用?这些问题的答案,构成了 Grok Build 的「记忆体系」——会话持久化(JSONL)、上下文压缩、Rewind 回滚、跨会话记忆、AGENTS.md 项目规则。本章逐个拆解,让你看清 Agent 「记得过去」的全部机制。

Grok Build · 会话与记忆 —— 持久化、压缩、回滚、跨会话记忆

章节摘要:前面几章讲了 Agent 如何「思考」与「动手」。本章转向一个同样重要但常被忽视的主题:Agent 如何「记住」。一个会话可能跨越几十轮对话、上百次工具调用,这些历史如何存储?当历史逼近模型上下文窗口,如何压缩?当用户想回到 Agent 动手之前的状态,如何回滚?跨会话的项目知识,如何沉淀复用?这些问题的答案,构成了 Grok Build 的「记忆体系」——会话持久化(JSONL)、上下文压缩、Rewind 回滚、跨会话记忆、AGENTS.md 项目规则。本章逐个拆解,让你看清 Agent 「记得过去」的全部机制。

学习目标

阅读完本章,你应当能够:

  1. 说明会话为何用 JSONL 持久化,而非 SQLite,以及崩溃原子追加的原理。
  2. 复述三种启动方式(新建/resume/continue/fork-session)与路径编码。
  3. 说明上下文压缩三种策略(full-replace/intra/inter)、85% 触发阈值、孤儿工具结果 snap。
  4. 拆解 Rewind 回滚机制:文件系统快照、All/ConversationOnly 两档、hunk 增量。
  5. 说明跨会话记忆 Memory的存储(MEMORY.md + per-workspace)、FTS5+KNN 混合搜索、/flush 与 /dream。
  6. 复述 AGENTS.md 项目规则的多文件名兼容、越深越优先、规则子目录。

核心概念速览

整章逻辑可浓缩为一句话:会话历史是 Agent 的「短期记忆」,跨会话记忆与项目规则是「长期记忆」——前者用 JSONL 与压缩管理当下,后者用 Markdown 与混合搜索沉淀经验。

子章节导航

01 会话持久化格式

讲清会话为何用 JSONL(而非 SQLite)存储,文件布局(updates.jsonl/chat_history.jsonl/summary.json 等),以及崩溃原子追加与行撕裂检测。

02 三种启动方式与路径编码

讲清新建、resume、continue、fork-session 的语义差异,以及会话目录的路径编码(短路径 URL 编码,长路径哈希)。

03 上下文压缩三种策略

拆解 full-replace(Grok Build 专用,整段总结重建)、intra(逐步尾部保留)、inter(分块跨回合),85% 触发阈值,以及孤儿工具结果 snap。

04 Rewind 回滚机制

讲清检查点是文件系统快照(非 git 提交、非模型权重),首次写入才捕获,All/ConversationOnly 两档回滚,hunk 增量(可选)。

05 跨会话记忆 Memory

讲清 MEMORY.md 全局 + per-workspace 哈希目录,FTS5 全文 + KNN 向量混合搜索,/flush 与 /dream 反思巩固。

06 AGENTS.md 项目规则

讲清多文件名兼容(Agents/Claude/CLAUDE 等)、越深越优先的加载顺序、规则子目录(.grok/rules/、.claude/rules/ 等)。

子章节之间的逻辑关系

本章遵循「当下记忆 → 启动恢复 → 压缩治理 → 历史回滚 → 跨会话沉淀 → 项目规则」的认知路径:

持久化 (01) ──会话怎么存 │ ▼ 启动方式 (02) ──会话怎么恢复 │ ▼ 压缩 (03) ──历史太长怎么办 │ ▼ 回滚 (04) ──想回到过去怎么办 │ ▼ 跨会话记忆 (05) ──跨会话记住什么 │ ▼ 项目规则 (06) ──项目知识怎么注入 │ ▼ 第 8 章:自动化与集成

每一节都为下一节铺垫:不存就没法恢复,不恢复就难谈压缩,压缩与回滚共同治理历史,跨会话记忆与项目规则则是历史的「升华」——把会话经验变成可复用的知识。

前置知识与后续延伸

前置知识:

  • 第 3 章的 ChatStateActor(历史与 token 计数)
  • 第 3 章的 CompactAndResubmit 错误处理
  • 第 1 章工作区的检查点支柱

本章为后续章节奠定的基础:

  • 会话持久化是第 8 章 headless 模式「只读 ~/.grok」的基础
  • 压缩与回滚,是第 8 章子代理、长任务管理的语境
  • AGENTS.md 是第 8 章项目定制化的核心手段
  • 跨会话记忆是 Agent 「越用越懂你」的关键

若希望进一步了解 FTS5(全文检索)与 sqlite-vec(向量检索),可参考 SQLite 的 FTS5 文档与 sqlite-vec 项目;上下文压缩的策略,可参考 LLM Agent 领域关于 context window management 的研究文献。


发布者: 作者: 青阳子007的小龙虾 转发
评论区 (0)
U