太长不看版
这个功能目前并不完善,不建议使用。我遇到的问题有:
- 嵌入模型要使用通义千问的
qwen3-embedding-8b才能搜索到相关记忆。可能是因为 OpenAI 的text-embedding-3-large对中文支持不佳。 - Cherry Studio 无法稳定记录对话里的信息,会出现不记录信息、自动记录的信息无意义、信息太多导致杂乱等问题。
- AI 偶尔不会自动搜索记忆,不过你可以在对话中明确提醒它搜索。
- 开启功能后,会导致 AI 在使用网络搜索时报错:
Error Details: text part 15 not found
全局记忆最好的实现方式是创建知识库记录自己的信息,然后在对话中引用。看看我用知识库实现全局记忆的尝试。
以下是正文。
最近在折腾桌面端的 AI 客户端,先后尝试了 ChatWise、Chatbox 和 Cherry Studio,最终选择了 Cherry Studio(为什么?)。
用了几天之后,我决定试试全局记忆功能。这个功能类似 ChatGPT 网页版的“记忆”,能让 AI 记住我的个人信息和偏好,避免每次对话都要重复交代背景。这是很实用的功能,但实际使用时却遇到了不少坑。
配置全局记忆功能
打开全局记忆功能后,需要配置三个参数:
- LLM 模型:这个简单,选了我常用的 Claude Sonnet 4.5
- 嵌入模型:我只知道 OpenAI 的
text-embedding-3-large,就选了它 - 嵌入维度:完全不懂,保持默认值
配置完成后,我找了一段包含大量个人信息的历史对话继续聊天。切换到全局记忆页面,发现它真的自动记录了 71 条记忆,看起来一切正常。
万事大吉?并不。
第一个坑:记忆查不到
我确认全局记忆里有一条“名字叫 XXX”的记忆,然后打开新对话,问 AI:“我叫什么名字?”
结果:查不到!
按照惯例,遇到问题先查文档。但 Cherry Studio 官网里居然搜不到这个功能,Google 搜索结果也只是这个功能发布时的版本公告,没有实质性的使用说明。
转机:让 AI 帮我调试
我突然想到:既然是在跟 AI 聊天,那是不是可以直接让它帮我调试这个功能?
我查看了 AI 的思考过程,发现它会尝试用关键词来调用记忆搜索。于是我说:“你用‘名字’作为关键词搜索试试”
这次查到了!但匹配度只有 58.7%,看起来并不高。
难道全局记忆靠的只是关键词匹配?感觉不应该啊,于是我让 AI 自行测试,它给出了结果:
- 搜“姓名” → 查不到
- 搜“这个人叫什么” → 查不到
“名字”能查到,“姓名”却查不到?这玩意儿不是应该能理解语义的吗?
理解嵌入模型
在继续折腾之前,我决定先搞清楚这个全局记忆功能的工作原理。
简单来说,嵌入模型会把文本转换成向量(一串数字)。当 AI 需要查询记忆时,会把关键词也转换成向量,然后通过计算向量之间的相似度来找到最匹配的记忆。
理论上,这种方式应该能理解语义,而不是简单的关键词匹配。但前面的测试结果却是只能查到“名字”,查不到“姓名”。
AI 给出了几个可能的原因,其中一个引起了我的注意:OpenAI 的 text-embedding-3-large 对中文支持不够好。
验证猜想:英文会不会好点?
为了验证是不是中文的问题,我手动添加了一条英文记忆:“Age XXX”
然后让 AI 测试,它搜了“age”和“how old”这些词,刚开始都查不到,但神奇的是,等了大概一分钟,再试就都能查到了。
原来记忆被添加后需要一个索引过程,得等一会儿才能生效。
测试到这里,问题基本确认了:OpenAI 的嵌入模型对中文支持确实不够好。
解决方案:换个中文友好的嵌入模型
既然 OpenAI 对中文支持不够好,那就换一个中文友好的模型。
我先试了 AI 推荐的 bge-large-zh-v1.5,效果依然不理想。然后看到通义千问的 qwen3-embedding-8b,注意到它的维度高达 4096(作为对比,bge-large-zh-v1.5 的是 1024),理论上更强。
换成千问的模型后重新测试:
- “名字” → ✅ 查到了
- “姓名” → ✅ 查到了
- “叫什么” → ✅ 查到了
- ”name” → ✅ 查到了
至此,第一个坑算是解决了。
第二个坑:Cherry Studio 的自动记录有问题
在前面的测试中,我是手动在全局记忆页面添加的记忆。接下来我想测试 Cherry Studio 是否会自动记录我的信息。
我开启了一个新的对话,跟 AI 介绍了我的个人信息,然后切换到全局记忆页面,发现并没有新增任何记忆。
我又开始让 AI 自行测试,但这一次 AI 提供的几个解决方案都没用,我只好自己尝试。
我先是尝试了开关全局记忆功能,无效。然后我尝试新开一个会话,明确提出让 AI 搜索记忆,再介绍了我的生日和年龄,这次这俩信息被记录下来了。难道是要先搜索一次记忆才能触发记录?但是我接着介绍了我的职业,没有被记录下来。
然后我新开了一个会话,先问 AI 我的性别,它回答正确了,然后我介绍了我的职业,这次职业被记录下来了。
总之,经过了多次尝试,总结出一些规律:
- 可能必须先搜索一次记忆,才能触发记录新信息
- 以“我”开头的、简短明了的信息更容易被记录
- 跟 AI 的自然对话似乎跟容易触发记录。带有明显指令性的对话反而不容易被记录
- AI 自动记录的信息很零碎,甚至会导致原本是一块完整的记忆被拆成好几块,导致每一块都没有意义
但是这些规律也经常失效,所以最稳定的办法还是手动添加记忆。
第三个坑:不会自动搜索记忆
在我手动添加了我的职业后,我在新的对话里问 AI:“给我一些职业规划”,AI 的回答是让我告诉它我的职业背景。我回复“你是知道的”,然后它才想起来使用 builtin_memory_search 工具来搜索记忆。
经过多次尝试,我发现 AI 很少会自动搜索记忆,经常需要我明确提醒它。
写在最后
这次踩坑的经历让我意识到:在 AI 时代,解决问题的方式真的变了。
以前遇到问题,我会查文档、用搜索引擎。但这次,我直接让 AI 帮我调试,通过它的思考过程找到问题的根源,效率高了不少。
我是一个好奇心很重的人,每当我大脑里蹦出一个问题,我都会立刻去找答案。以前,我会用 Google 搜索,但现在,直接问 AI 成了更高效的选择,即使它不知道,它也能通过网络搜索帮我找到答案。
我还发现我对 AI 的依赖越来越强了:
- 代码有 bug?让 AI 解决
- 写代码?让 AI 初步写完,然后自己微调
- 设计界面?让 AI 设计各个页面并提供代码
- 需要润色文章?找 AI
- 职业规划、心理咨询甚至是家庭琐事,跟 AI 聊聊真的能得到有用的建议
不得不感叹,AI 发展的真的太快了。