7.0
热点
AI SCORE
编程提效2026-07-30 00:32
向量数据库在 Agent 长期记忆中的失效与修复
dev.to · AI#Agent#向量数据库#内存架构
Editor brief · 编辑速览
标准向量检索方案无法有效支撑 Agent 长期运行的上下文管理;分享了改进的内存架构方案。
如果你正在构建一个需要长时间运行(数天或数周)的 AI Agent,很可能已经撞上了“上下文窗口墙”(Context Window Wall)。标准解决方案是把所有聊天历史转换成 embedding,然后统统塞进 Vector Database。
但扁平化向量检索存在一个致命缺陷:它不理解时间。
如果用户周一说“我住在纽约”,周五又说“我刚搬到伦敦”,Vector Database 会同时返回这两条事实。你的 Agent 会因此产生困惑并出现幻觉。
在传统系统工程中,我们会使用双日历模型解决这个问题。我们不再存储扁平文档,而是将状态提取为“主语—谓语—宾语”(Subject-Verb-Object,SVO)事件,并为它们标记 valid_from 和 valid_to。当出现相互矛盾的新事实时,只需为旧事实设置 valid_to 的结束边界。
为了获取当前有效的记忆,Agent 只需执行以下查询:WHERE valid_to IS NULL。
我们厌倦了反复编写这种复杂的事实取代逻辑,于是构建了 Smriti。它是一个完全开源、由 Postgres 支持的 AI Agent 时态记忆引擎。它会异步处理 SVO 提取与事实失效,因此绝不会阻塞 Agent 的推理循环。
欢迎查看代码仓库,并告诉我们你的想法!
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。
这里是一个供程序员分享知识、了解最新动态并推动职业发展的社区。