夜雨聆风学习资料网

ARTICLE · 1297674

57k star:AI 不是记不住,是不会改主意

57k star:AI 不是记不住,是不会改主意
先看三个数字。

57,000 个 star。4,000 次提交。MIT 协议。

Hindsight 是一个给 agent 用的记忆系统,由 Vectorize 维护。它要解决的问题听起来很普通:让 AI 记住之前发生过的事。

但它真正的着力点不在"记住",在"改主意"。

项目在 GitHub 上,搜 vectorize-io/hindsight 就能找到。


一、agent 失忆是个伪问题

所有人都说 agent 会失忆。每开一个新会话,它就把上次教它的东西全忘了。

这个描述没错,但它把注意力引到了错的地方——让人以为问题在于"存不下"。

真正接过记忆库的人会发现,问题很快变成另一个样子。

设想一下:三个月前你跟 agent 说过"我们的缓存用 Redis"。后来你们回滚了,换成了别的方案。今天你问它"我们的缓存是什么",它准确地告诉你"Redis"。

它记性很好。它答得很确定。它答错了。

记性好,不等于判断对。

这才是记忆系统的真正难题:不是存不下,是存下了不会改。


二、为什么按相似度检索解决不了这个问题

常见的做法是向量检索:把每段内容转成向量,按语义相似度找相近的那些。

这套逻辑里没有"过期"这个概念。

一条三个月前的记录和一条昨天的记录,在面对同一个问题时,可能离得一样近。检索会把它们一起返回,然后由你来判断哪条还算数。

更麻烦的是,旧记录通常写得更完整、更有条理——因为当时你是认真写下来的。新记录往往只是随口一句"那个方案不行了"。

结果就是:只按相似度排序的检索,会系统性地偏爱旧结论。

你越认真地记录过时的方案,它越容易被翻出来。


三、它的做法:把记忆分四层,其中一层专门管改主意

Hindsight 把记忆分成四类:

  • 世界事实:炉子会烫
  • 经历:我摸了炉子,被烫了
  • 观察:从多条记忆里归纳出来、带证据支撑的信念
  • 心智模型:从观察和事实里综合出的稳定理解,可以当常备答案直接读

关键在第三层。

"观察"不是覆盖式更新的。新证据进来时,它会强化、弱化或扩展原有的信念,而不是把它删掉重写。

而且每条观察都保留原文引用和证据计数。

这个设计解决了一个很实际的问题:你能看见 agent 是怎么改主意的。

三个月前它认为"缓存用 Redis",背后有三条证据。你说回滚之后,证据变成"支持三条,反对一条",信念强度下降。再后来又有两次失败记录,它才真的翻篇。

整个过程有据可查。而不是某天你突然发现它的答案变了,却不知道为什么。

覆盖式更新看起来更干净——一条记忆替换另一条。但它把"为什么改"这件事抹掉了。而"为什么改",往往比"改成什么"更有用。


四、三个动作:写入、检索、反思

它的核心操作就三个,名字很朴素。

写入时不是把原文扔进数据库,而是先抽事实、识别实体、做归一化。所以"Alice"和"我的同事 Alice"会被认成同一个人,不会变成两条互不相干的记忆。

检索时同时跑四路:语义向量、关键词匹配、图谱关系、时间范围。四路结果先融合排序,再用重排模型精排,按 token 上限裁剪。

为什么要四路?因为纯向量检索在遇到错误码、函数名、专有名词时会失灵。这些词的语义相似度没什么意义,得靠精确匹配。而只靠关键词,又抓不住"我们当时讨论的那个方案"这类模糊指代。

反思是异步的,在后台跑。它把散落的记忆连起来,形成更高层的判断。比如从"这个客户三次都在周五下午回复"归纳出"他周五比较闲"。

这一步慢,但它是"学习"和"存储"的分界线。


五、它做对的三件事

第一,把"世界是什么样"和"我经历了什么"分开存。

这两类东西混在一起,检索时会互相干扰。分开了,问"这个系统怎么工作"和问"上次我改它出了什么问题",走的是两条不同的路。

第二,允许信念被削弱,而不是只能被替换。

这是前面说的那件事,也是整个项目里我觉得值得抄的设计。

第三,记忆库之间严格隔离。

不同的项目、不同的客户,记忆不串。多 agent 协作时,这条比任何检索优化都重要——一次记忆污染能让整个流程的可信度归零。

另外值得一提的是,它在长记忆基准测试上的成绩有第三方独立复现,不只是自己报的数。这一点在记忆这个方向上不常见。


六、它不适合谁

流程简单的工作流。官方自己也说了,如果你的 agent 只是把几个固定步骤串起来,这套东西是大材小用。

只需要短期上下文的。一次会话内的事,上下文窗口就够了,加一层记忆只是多一个要维护的组件。

不想维护数据库的。它背后需要一个正经的数据库,本地完整跑起来对内存也有一定要求。没有运维能力的话,这一步会劝退。

期待它自动变聪明的。它提供的是记忆结构,不是判断力。记忆再准,决策还是模型在做。


七、说到底

大多数人评价一个记忆系统,看的是"记得多不多、找得准不准"。

但真正让 agent 显得笨的,往往不是它忘了,是它抱着一个过时的结论不肯放。

这一点上,人类的记忆机制其实值得抄:我们不会把旧认知删掉,而是让它慢慢失去权重,直到某天发现它已经不影响判断了。

Hindsight 这个名字本身也说明了立场——后见之明。回头看的时候,你才知道当时哪个判断是对的。

57k star 说明很多人都在同一个坑里待过:agent 的问题不是记性差,是它太相信自己记得的东西。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料