Hindsight Docker 部署并配置 Hermes
- GitHub: https://github.com/vectorize-io/hindsight
- 官方文档: https://hindsight.vectorize.io/
为什么使用 Hindsight
为什么 AI Agent 需要真正的"长期记忆"?
大多数 AI Agent 在会话结束后都会"失忆"。
每次开启一轮新对话,系统都需要重新认识用户:它不知道你是谁,不记得你们之前讨论过什么,也无法继承自己在过去交互中已经获得的理解。看起来这像是一个实现细节,但实际上,它限制的是 AI Agent 的能力边界——没有稳定、可持续的记忆,Agent 很难真正成为一个能够长期协作的智能体。
而"让 AI 记住事情"这件事,远没有把历史对话做个向量检索那么简单。
1. 记忆不仅是检索,更需要时间推理
很多问题并不是在问"哪段历史最相似",而是在问"过去某个时间点发生了什么"。
例如:“Alice 去年春天做了什么?”
这类问题的关键不在于语义匹配,而在于对时间线的理解、事件的组织,以及对"春天""去年"这类时间范围的推理能力。如果记忆系统只能根据 embedding 找相似文本,那么它很难真正回答这类问题。
2. 零散事实本身没有价值,关键在于关联与推断
现实中的记忆不是一条条彼此孤立的记录,而是可以相互连接、相互推导的知识网络。
假设系统知道两件事:
- Alice 在 Google 工作
- Google 位于 Mountain View
那么它理应能够回答:“Alice 在哪里工作?”
这并不要求系统曾经显式存下"Alice 在 Mountain View 工作"这句话,而是要求它能把已有事实关联起来,完成跨记忆的推理。如果记忆系统只能机械地存储和召回片段信息,那么这些事实永远只是"堆在那里",无法转化为真正可用的知识。
3. Agent 的记忆需要"沉淀",而不是无限堆积
对 AI Agent 来说,记忆不应该只是不断追加日志。一个真正可用的记忆系统,应该能从长期交互中提炼出更稳定、更高层的观察。
例如,一个编程助手在多次协作后,可能逐渐发现:
- 用户偏好函数式编程风格
- 用户更关注可维护性,而不是极致性能
- 用户倾向于接受渐进式重构,而不是一次性大改
这些内容不应该只是散落在若干对话记录里,而应该被整理、归纳、沉淀成对用户的长期认知,并在后续生成代码、提出建议、做技术选型时持续发挥作用。
换句话说,Agent