Finch 有两件事都在"处理旧内容",但目的不同,容易搞混:
- 记忆:这次聊的东西,怎么留到下次对话还记得——跨会话生效。
- 会话压缩:这一次对话开太久,快装不下了怎么办——只在当前这一次对话内部起作用。
一句话区分:压缩是给当前对话续命,记忆是给未来的自己留笔记。
记忆是怎么攒起来的
Finch 不会把聊天记录整篇存起来当记忆,而是分几类存放:
- 关于你的稳定事实(怎么称呼你、沟通偏好)
- 最近在忙的项目、跨项目通用的习惯
- 只在近期有用的临时信息,过几天自动作废
- 某个项目/空间专属的约定
每次对话结束后,Finch 会回看这次聊了什么,挑出真正值得记住的稳定信息记下来——一次性的任务细节、报错信息、命令输出不会被记下来,已经记过的也不会重复记。这些笔记不会无限膨胀,快满或过时了会自动清理。太短、没什么实质内容,或者你开了隐私模式的对话,不会被拿去提炼。
你也可以直接说"记住……""忘掉……",这种明确要求会立刻生效,不用等对话结束。
记忆都存在哪
记忆不是黑盒,全部是明文的 Markdown 文件,放在 Finch 的个人主目录下,随时能自己打开看、改:
USER.md:关于你的稳定事实MEMORY.md:最近在忙的项目、跨项目的习惯memory/日期.md:每天一份的临时日志memory/spaces/空间名.md:某个空间专属的记忆memory/lessons.md:踩过的坑、工具用错了怎么改
设置里的「记忆」页能看到这些文件的列表,点开可以直接预览内容。
会话压缩是怎么回事
一次对话聊久了,之前所有的消息都会占用空间,快装不下时 Finch 会自动压缩:把最新的一部分完整保留,更早的部分折叠成一份摘要(目标、约定、已完成/待办的事、关键决定),替换掉原始内容,让对话能继续聊下去。整个过程是自动的,界面上会提示"对话压缩中…"。
压缩出来的摘要只在这一次对话里有效,换个新对话不会带过去——这也是它和"记忆"的根本区别。
用小模型专门做这些杂活
记忆提炼和会话压缩本质上都是"总结",不需要动用你日常聊天的主力模型。设置里的「记忆」页可以单独指定一个「记忆与辅助任务模型」,专门用来做这两件事——默认不开启,建议选一个响应快、成本低的小模型,既不占用主力模型的额度,速度也更快。