我告诉 ChatGPT 我喜欢简短的回答。Claude 从来没收到这个消息。

博客 · 阅读时间 4 分钟

你用的每一个 AI 工具都在悄悄构建自己对你是谁的一套私有认知,而它们彼此之间互不沟通。告诉 ChatGPT 你更喜欢简短的回答而不是长篇大论,它也许真的会记住——下一次,在 ChatGPT 里。五分钟后为同一件事打开 Claude,你又得重新解释一遍,因为在 Claude 的记忆里,你和 ChatGPT 的那次对话根本没发生过。你不是忘了告诉 Claude。你告诉的是一家公司,不是一个人。

这才是问题的真正形状,而且不是哪一个产品的错。OpenAI 的记忆留在 OpenAI 的产品里。Anthropic 的记忆,如果有的话,留在 Anthropic 里。每个助手「现在记住你了」的功能都被限制在自己的围墙之内,因为这家公司之外没有人有任何理由去搭建让它跨界流动的那一层。这个功能是有用的。它只是被困住了。

我曾经凑合用的办法

有一段时间,我的解决办法是一个文本文件:一份不断增长的清单,记着那些我已经说累了的事情,粘贴到当天用的工具里——如果在用 ChatGPT 就粘到那个标签页,如果换到 Claude 就粘进某个项目的自定义指令里。它的效果正好符合预期——一件只对你记得粘进去的那个工具有用的东西。换到第三个工具,清单根本就不在那儿。更新了一份副本却忘了另一份,于是它们连哪些偏好才是最新的都对不上。

发生了什么变化

Skilnu 的 memory 存在于你的账户上,而不是某一个助手自己的记忆系统里。你连接的任何 MCP 客户端——Claude、ChatGPT、Codex,不管你当天实际在用哪个——都可以用 save_memory 保存一条。你之后连接的任何 MCP 客户端,包括还没试过的那些,都可以用 search_memories 重新找到它。只要告诉 ChatGPT 一次你喜欢简短的回答,下次你在 Claude 里时,它已经在那儿等着被找到——不是因为 Claude 记住了,而是因为两边都不需要各自记一遍。

检索是语义化的,所以两边甚至不需要用相同的词。你对 ChatGPT 说成「请别在变量命名上吹毛求疵」的那条 memory,在 Claude 问你喜欢怎样的代码审查时依然会被找到,因为这两句话意思相同,即使几乎没有共同的词。

这不是什么

它不会回放你的对话,也不意味着一个助手能读到你对另一个助手说过的话——在 ChatGPT 和 Claude 之间传递的,只是被明确保存下来的内容,从来不是周围的那段对话。除非有人——你或者智能体——明确调用了 save_memory,否则什么都不会被存储,就像没有人决定值得保留之前,什么都不会作为 skill 发布一样。这更接近你会留给新同事的一条笔记,而不是一份完整记录——一份简短、刻意挑选的「值得知道」清单,不是录音。

而且它需要和 skill 一样的自律。「用户偏好简洁的回答」是一条在任何工具里都值得拥有的 memory。「周二聊了很久数据库」不是——它是一份没有任何可执行内容的摘要,和一个从文档起草的 skill 描述而不是指示时犯的错误一模一样。有用的 memory 读起来像是给下一次的指示,而不是关于这一次的日记。

厌倦了对每个 AI 工具都重新教一遍关于你自己的事?

免费注册 阅读教程