太长不看版
- 创建知识库时,相关的个人信息放在同一个笔记,比如我的基本信息、我的车的信息、我的家人的信息分别存放为单独的笔记。
- 默认助手设置——【模型设置】——【工具调用方式】从「提示词」改为「函数」。经过我的测试,当 Cherry Studio 把工具放在提示词中时,AI 的思考过程中会需要多几步确认工具是否存在以及用途,而改为「函数」相当于明确告知这就是可用工具列表,能减少 token 消耗。
以下是正文。
前面我尝试了使用 Cherry Studio 的全局记忆功能,但因为不太完善而放弃了。后来在翻 issues 的时候,看到开发者建议用知识库来实现类似的功能,我决定试试。
创建知识库
我首先研究了下 Cherry Studio 的知识库功能,发现比我想象中强大很多。不仅支持录入笔记(也就是纯文本),还支持文件、目录、图片、网址甚至网站地图(sitemap)。不过我只是想记录一些个人信息,所以笔记就够了,其他功能暂时用不上。
创建知识库时,嵌入模型还是选择了 OpenAI 的 text-embedding-3-large。虽然之前在全局记忆功能中遇到过中文支持不好的问题,但我测试下来,在知识库中没有这个问题。除了选择嵌入模型这个选项之外,其余设置我全部保留了默认值。
然后,我问了 AI 该如何组织这些笔记。它建议我把相关的个人信息放在同一个笔记里,比如我的基本信息、我的车的信息、我的家人的信息分别存放为单独的笔记,我照做了。
使用知识库问题一:工具验证过程冗余
我在对话框里选择了记录有我个人信息的知识库,模型选择了 Claude Sonnet 4.5,然后问了下 AI 有几个可用的工具。它知道自己有两个工具——web_search 和 builtin_knowledge_search,但我发现,在思考内容中,偶尔会多出一段验证这俩工具是否存在的过程,就好像它不太确定这些工具到底能不能用一样。
这既浪费 token,又导致回复时间变长。经过一番尝试,我发现如果把默认助手设置——【模型设置】——【工具调用方式】从「提示词」改为「函数」,AI 的思考过程中就不会多出验证工具是否存在的环节了,会直接给出回答。工具描述放在提示词里是之前 API 不支持 tools 参数的变通方法,现在 API 已经支持了就没必要了。
尝试减少 AI 调用知识库的频率
我想要长期将知识库挂载在对话框中,但这样的话,Cherry Studio 会始终把 builtin_knowledge_search 这个工具包含在 tools 里。问题是,其实约一半的情况下我并不需要 AI 搜索知识库,而挂载工具本身也是消耗 token 的。但我又懒得经常手动挂载或卸下知识库。
我注意到助手设置的【知识库设置】里有一项【调用知识库】的选项,可以从「强制检索」改为「意图识别」,也就是用 AI 来决定要不要把工具加到 API 请求中,但实际用下来发现,当我问 AI 个人信息相关问题时,它经常不调用知识库,也就是自动判断并不准确。
折腾了一圈,最后我还是选择自己手动挂载和卸下知识库了。虽然麻烦点,但至少能确保需要的时候工具在那儿,不需要的时候也不会白白浪费 token。
知识库的 bug
挂载知识库后,有时候不需要检索知识库的对话,AI 也会去检索。这其实没有问题,问题是知识库内没有相关内容时,对话偶尔会在知识库这一步直接中断,没了后续,此时就需要卸下知识库,然后重新生成。