AI智能体的记忆召回正在被解决,缺失的是权限。
摘要
作者认为,AI智能体的记忆召回在很大程度上已得到解决,但缺失的一层是对所检索记忆的权限/授权,因此介绍了Provem——一个位于智能体与记忆存储之间的开源治理层,基准测试表明它能消除合规违规。
AI智能体的记忆正在变得更好。Mem0、Zep、Letta 等产品能存储更多上下文、检索相关记忆,并让智能体在多个对话中保持状态。我认为检索不再是最大的难题,至少在欧洲不是。更难的问题在于:智能体是否被允许使用它刚刚检索到的记忆?举两个构建招聘智能体的例子。简单的那个:候选人说“删除我的薪资期望。”三个月后,智能体被问到该候选人是否合适,它完美地检索到了旧数字并使用了它。检索成功了,但从 GDPR 的角度看,系统失败了。现实的那个更隐蔽也更糟。为了建立融洽关系,招聘人员会记下候选人在闲聊中主动透露的信息:他们计划组建家庭、他们的宗教信仰、他们和谁住在一起。这些被嵌入后,就成了另一条可检索的记忆。现在,智能体悄悄掌握了特殊类别数据(GDPR 第9条:健康、宗教、性取向),以及那些招聘决定本不该依赖的特征(德国的 AGG(反歧视劳动法)保护性别、宗教、性认同,甚至询问家庭计划都是违法的)。公司从来就不被允许收集这些数据,也不能据此采取行动,但记忆系统会乐此不疲地把它提供给下一个“这个候选人合适吗?”的答案。更好的嵌入会让情况更糟:它们会更可靠地浮现出这条敏感记录。你无法靠系统提示中的“请不要使用已删除或敏感的个人数据”来可靠地解决这个问题。一旦智能体有了长期记忆,我认为它们需要更接近数据库授权层的东西。在记忆到达模型之前,必须有人回答:这条是否已被删除?这个租户是否有访问权限?保留期是否已过?它来自哪里,我们是否信任它?是否存在冲突?智能体是否应该拒绝?这就是我一直在用 Provem 构建的东西。它位于智能体和存储之间:智能体 → 治理/合规层 → Mem0 / Zep / SQLite / 你自己的数据库。诚实地说:它不会改善底层检索。如果 Mem0 没有检索到某个东西,Provem 也无法凭空造出来。这一层只决定提供 / 拒绝 / 弃权,并记录原因。为了检验这能否带来改变,我构建了一个确定性基准。它是合成数据,智能体也是刻意脚本化的,因此它隔离了记忆层的贡献,而不是证明真实世界的健壮性。相同的后端、相同的场景、相同的种子,治理开启与关闭对比:合规违规:240 → 0;记忆投毒成功率:100% → 0%;无声复合错误:72.6% → 0.0%;良性准确率:保持 1.000(它仍然能回答普通问题,所以并不是靠拒绝一切来取胜)。而我最关心的局限是:有一种攻击它无法阻止。如果投毒是通过与用户相同的可信渠道进入的(不是抓取的页面或工具输出,而是用户自己的对话),那么来源信息没有信号,它就会被提供出来。要捕捉这种情况需要写入侧审查,而不是这一层。这一点已写在局限中,并有测量数据。召回告诉你智能体知道什么。治理决定它当下被允许知道什么。我越来越认为,这正是为演示而构建的智能体与能在欧洲公司内部运行的智能体之间的分界线。所有内容都已开源,包括基准和局限。仓库在评论中。对于在欧洲构建智能体的人们:你们现在如何处理删除和特殊类别数据?是靠提示词指令、人工审查、检索层的某些机制,还是还没有处理?
相似文章
如果AI代理拥有公共记忆会怎样?
作者探讨了AI代理拥有公开、可审计的记忆来记录重要决策的想法,这可能会增强信任,但也带来新的复杂性。
你认为智能体记忆主要是一个AI问题,还是一个恰好被AI使用的基础设施/数据管理问题?
对智能体记忆主要是一个基础设施/数据管理问题而非AI问题的反思,聚焦于权限、范围、修订历史等实际复杂性。
我认为大多数“AI agent”项目失败是因为人们跳过了乏味的权限层
作者认为,成功的AI agent产品需要一个健壮的权限系统,包括只读、草稿、审批、有限执行和审计层,优先考虑安全性而非表面的神奇效果。
我构建了一个用于AI助手的开源记忆治理层 - 寻求技术反馈 [P]
MemoryOps AI 是一个用于AI助手的开源记忆治理层,通过策略、过期、审计和删除保证来处理记忆生命周期。作者希望从构建AI代理和RAG系统的开发者那里获得技术反馈。
我们是否低估了AI代理记忆可能带来的危险?
讨论了赋予AI代理记忆的风险,包括信任问题、数据投毒和运营风险,并向构建者提出了关键问题。