利用Claude内置记忆功能、Projects工作区、以及项目级CLAUDE.md和全局~/.claude/CLAUDE.md多层机制,可以让AI在不同会话间保持上下文和偏好一致。
"用 uv,不要用 pip。""要列点,不要写长文。""提交前务必先跑测试。"类似这样的偏好,你给 Claude 打过多少次,它才终于记住?Claude 在单次对话里表现出色,跨会话却忘得一干二净,实在让人恼火。
下面列出所有让偏好持久化的实用方法,从内置功能到 Skills 再到共享记忆层。
Claude 有内置的记忆功能,会跨会话存储偏好和上下文,还有一个记忆导入工具,可以把其他 AI 平台的情境迁移过来。偶尔去检查一下它存了什么内容并做些整理;过时的偏好(比如你早已迁移到 Y 库了却还写着"我们用 X 库")比没有更糟糕。
Claude 还有 Projects 功能:专门的工作空间,把相关的对话和文件归拢在一起,在项目内跨会话上下文可以延续。Projects 解决的是某项工作范围内的记忆问题,而非贯穿你整个生活的记忆。
对 Claude Code 用户而言,CLAUDE.md 是你拥有的杠杆效应最高的记忆文件:
项目级 CLAUDE.md:放在仓库里,存放编码规范、架构决策、约定俗成。团队共享它。
全局 ~/.claude/CLAUDE.md:应用到每个项目。个人偏好放在这里:沟通风格、工具选择("用 uv 不用 pip")、工作流规则("提交前跑测试")。
保持具体("用 Inter 字体、4px 圆角、zinc-800 背景色"比"让它好看点"好得多),用标题组织起来。每月检查一次,它会腐坏。
Claude 生态圈有一些 Skills,能够自动教 Claude 检测并存储偏好。模式是这样的:当你纠正 Claude("其实用 X 不用 Y")时,Skill 会把它存到本地向量记忆里,在后续新会话中回复之前,Claude 会语义化地检索那段记忆,找到相关的偏好。有些实现是完全本地的,不走云端。这是最接近"它自己会学习我"的方案,且不依赖任何服务。
一种相关的 DIY 做法:维护一个 ~/.claude/memory.md(或类似文件),分节存放身份、偏好、项目、过往决策和人,指示 Claude 去读取和更新它。结构化、透明、完全可控。代价是维护工作:你成了自己偏好的数据库管理员。
每种基于文件的方法都会碰到同样的琐事:你要保证文件是准确的。偏好在变、项目会结束、决策会被推翻。一份 400 行满是过时条目的记忆文件是负担,整理它感觉像是在打第二份工。这种管理负担是把人推向托管方案的原因。
我想要 Skill 那种行为(自动检测、语义召回),又不想维护文件,还想要它无处不在,而不只是 Claude 专用。
于是我把 Vilix AI 通过 MCP 接了上来。它是一个记忆层,独立于任何一个应用:
自动捕获:从对话本身中保存纠正和偏好。无需"记住这个"命令,无需编辑文件。
回复前检索:新对话开始时,相关偏好自己浮现出来。
跨工具:同样的偏好在 Claude Code、Cursor 和我其他已连接的工具上都生效,在笔记本和手机上都是,因为记忆存储在我账户的服务端。
每个工具配置大约 10 分钟,有免费套餐。
日常生活中差别不大但持续存在:我不再需要在请求前附上已经说过十几遍的偏好。
自动记忆是概率性的。对于必须始终生效的硬规则("绝不在周五部署"),还是要放在 CLAUDE.md 或项目指令里,那里是确定性的。把记忆层用在偏好的长尾、上下文和历史这些你本不需要重复的内容上。时不时瞄一眼存了什么;每个记忆系统都需要一个管理者,哪怕是个懒的管理者。
如果 Claude 是你唯一的工具,全局 CLAUDE.md 加上一个 memory Skill 能让你走得很远。如果你的偏好应该跟着你到处跑,用一个统一的记忆层来承载一切。