Skip to main content

记忆与会话压缩

了解 Finch 如何保留重要信息

Finch 有两件事都在"处理旧内容",但目的不同,容易搞混:

  • 记忆:这次聊的东西,怎么留到下次对话还记得——跨会话生效。
  • 会话压缩:这一次对话开太久,快装不下了怎么办——只在当前这一次对话内部起作用。

一句话区分:压缩是给当前对话续命,记忆是给未来的自己留笔记。

记忆是怎么攒起来的

Finch 不会把聊天记录整篇存起来当记忆,而是分几类存放:

  • 关于你的稳定事实(怎么称呼你、沟通偏好)
  • 最近在忙的项目、跨项目通用的习惯
  • 只在近期有用的临时信息,过几天自动作废
  • 某个项目/空间专属的约定

每次对话结束后,Finch 会回看这次聊了什么,挑出真正值得记住的稳定信息记下来——一次性的任务细节、报错信息、命令输出不会被记下来,已经记过的也不会重复记。这些笔记不会无限膨胀,快满或过时了会自动清理。太短、没什么实质内容,或者你开了隐私模式的对话,不会被拿去提炼。

你也可以直接说"记住……""忘掉……",这种明确要求会立刻生效,不用等对话结束。

记忆都存在哪

记忆不是黑盒,全部是明文的 Markdown 文件,放在 Finch 的个人主目录下,随时能自己打开看、改:

  • USER.md:关于你的稳定事实
  • MEMORY.md:最近在忙的项目、跨项目的习惯
  • memory/日期.md:每天一份的临时日志
  • memory/spaces/空间名.md:某个空间专属的记忆
  • memory/lessons.md:踩过的坑、工具用错了怎么改

设置里的「记忆」页能看到这些文件的列表,点开可以直接预览内容。

会话压缩是怎么回事

一次对话聊久了,之前所有的消息都会占用空间,快装不下时 Finch 会自动压缩:把最新的一部分完整保留,更早的部分折叠成一份摘要(目标、约定、已完成/待办的事、关键决定),替换掉原始内容,让对话能继续聊下去。整个过程是自动的,界面上会提示"对话压缩中…"。

压缩出来的摘要只在这一次对话里有效,换个新对话不会带过去——这也是它和"记忆"的根本区别。

用小模型专门做这些杂活

记忆提炼和会话压缩本质上都是"总结",不需要动用你日常聊天的主力模型。设置里的「记忆」页可以单独指定一个「记忆与辅助任务模型」,专门用来做这两件事——默认不开启,建议选一个响应快、成本低的小模型,既不占用主力模型的额度,速度也更快。