马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 设计虱聊科技 于 2026-6-22 17:03 编辑
上一篇我们聊了 Hindsight 和 TEI 向量服务的本地部署,装好之后 Hermes 就有了外置大脑,理论上能记住我们的一切。 但我装好之后兴冲冲地跟Hermes聊了一天,第二天查了一下Hindsight后台,空空如也。 折腾了大半天才发现,Hindsight 本地版部署完只是装了个壳,以下5个配置不改,它就是个摆设。
✿ 配置一:自动记忆没成功打开
Hindsight 有个 auto_retain 功能,用来自动保存我们对话中的信息,默认是开启的。但"开启"和"能用"之间,隔着一个配置文件。也就是说,刚部署完时,它确实开了,但没完全开。 问题出在哪?容易出错的点: (1)Hermes 可能会记错 Hindsight 配置文件的位置 Hermes 目录下会有一个专门配置 Hindsight 插件的文件,在 /opt/data/hindsight/config.json(注意这里指的是 Hermes 容器内路径)。 但我的 Hermes 一直以为路径是 /opt/data/.hermes/hindsight/ ,结果配置半天全白配置。建议在配置的时候让他提前看一眼 Hermes 和 Hindsight 的官方文档。 (2)Hermes 终端的 Hindsight 配置要生效 一定要在 Hermes 的终端中配置 Hindsight 的工作模式 和 api_url。 最好确定下在 opt/data/hindsight/config.json这个配置文件里已经显式写上了 "mode": "local_external"和 "api_url": "http://NAS_IP:8888"。 不写这两个,Hindsight 会默认用 cloud 模式,然后因为找不到 API Key,直接把 auto_retain 给静默关闭了。 注意,是静默关闭。不会报错,不会提示,就是默默地不存任何东西。我们跟AI聊了一周,以为都在自动记忆,其实啥也没存。 opt/data/hindsight/config. json 的正确的配置长这样,供参考: - {
- "mode": "local_external",
- "api_url": "http://NAS_IP:8888",
- "auto_retain": true,
- "retain_every_n_turns": 10,
- "retain_async": true,
- "auto_recall": true,
- "recall_budget": "mid",
- "bank_id": "default"
- }
复制代码
设置好后,重启 Hermes 容器,使配置生效。
✿ 配置二:召回频率,不是越频繁越好
auto_retain 能用了,下一个问题来了:多久存一次? Hindsight 用 retain_every_n_turns 这个参数控制频率,意思是每N轮对话自动保存一次。默认值是 1,也就是每轮都存。 每轮都存不是挺好吗?记的越多越靠谱?还真不是。 (1)成本问题 之前我们说的本地化方案中,可不包含 LLM(语言大模型),因为 LLM 做的结构化事实提取工作本地跑不动。 所以每次 retain 操作,Hindsight 都要调用云端 LLM ,把我们说的话拆成 who/what/when/where/why 这种 JSON 格式的大量信息。 假设一次提取消耗3000 tokens。你要是每轮都存,一天聊50轮就是15万tokens,一个月下来光retain的API费用就能买杯咖啡了。 (2)噪音问题 更麻烦的是噪音。 我们跟 AI 说"帮我查个快递""明天天气怎么样“”今天充了100元话费“,这种信息存进去就是添乱。等以后 recall 检索的时候,噪音多了,真正有用的记忆反而被淹没。 我的建议是设成 10。每 10 轮存一次,够用了。真正重要的信息,Hermes 会在关键节点主动保存,不会因为频率低就漏掉。 当然,这个值最好还是让 Hermes 结合自己的具体业务提个建议作为参考。 retain_every_n_turns: 1 → 测试用,噪音多,成本高 retain_every_n_turns: 3-5 → 日常够用 retain_every_n_turns: 10 → ✅ 推荐,平衡捕获和噪音 retain_every_n_turns: 20+ → 太稀疏,可能漏重要信息
✿ 配置三:什么该存,什么不该存
频率调好了,还得管住存什么。 Hindsight 不是垃圾桶,有些信息存进去反而添乱:
不该存的: - 记账信息——已经有专门的家庭账本在管理
- 临时数据——"帮我算个1+1"
- 已经有结构化存储的——知识库里已经有的内容
该存的: - 用户的偏好和习惯——"我喜欢喝绿茶""我偏好口语化表达"
- 重要事实——"我的 NAS 是绿联 DX4600"
- 承诺和约定——"下周三前把报告给我"
- 长期知识——技术方案、踩坑经验
这个过滤目前没法做成自动规则,靠的是 Hermes 自己的判断。我们可以在跟它聊天时,遇到重要信息主动说一句"记住这个",Hermes会优先保存。遇到明显不重要的对话,它也会自动跳过。 但如果我们发现 Hindsight 里出现了一堆"帮我查快递""今天天气"这种记忆,说明 retain 频率太高了,建议把 retain_every_n_turns往上调,并显式要求 Hermes 某类信息不要记录。
✿ 配置四:Reflect——让记忆从"存了"变成"懂了"
前面三个配置解决的是"存"的问题。但Hindsight最厉害的不是存,是懂。 它有个 Reflect(反思)功能,会分析我们所有的记忆,把零散的事实整合成更高层的理解。 比如我们之前跟它聊过偏好 React、聊过想学 Vue ,它能自己总结出"用户想从 React 转向 Vue "。 这种理解是单条记忆做不到的。这也是Hindsight和普通记忆工具最大的区别,它不只是个数据库,它能自己思考。 但Reflect不会自动触发,需要我们手动调用或者设置定时任务。 我的做法是设了一个每周六凌晨5:30的定时任务,让它自动执行一次 Reflect 总结, 并要求 Hermes 把每次的 Reflect 结果自动存回 Hindsight,以做到循环打磨的目的。 Reflect 执行完,我们会收到一条飞书通知,告诉我们这周 Hindsight 总结出了什么新理解。 也可以手动触发。在 Hermes 对话里说"做一次 Hindsight 反思总结"就行,它会调用 Reflect API,返回反思结果,并作为新的记忆自动存回 Hindsight。
✿ 配置五:备份——Hermes 数据丢了记忆就消失了
最后一个,也是最容易被忽略的。 Hindsight 的数据存在 Docke r命名卷里。容器重启没问题,数据还在。但如果你误删了容器,数据就没了。 我吃过这个亏。 现在的做法是让 Hermes 设置定时任务,在每日凌晨自动备份自己的重要文件和 Hindsight 的数据。 在 Hindsight 网页后台也可以手动导出。访问 Hindsigt 后台,进记忆库,点导出就行。不过 AI 时代,谁还自己动手啊,哈哈。 NAS用户嘛,数据安全意识不能少。Hindsight 存了我们所有的偏好和习惯,如果丢了,AI 助手又变要回陌生人了。 这期先到这里,等我再折腾点其他素材,看看还能写点什么。
我是设计虱聊科技——坚持创作有深度、高质量的作品、致力于分享干货、抵制标题党和网络垃圾,是我的座右铭。让我们共同打造互联网内容创作和知识分享的一股清流!ヾ(◍°∇°◍)ノ゙
|