TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 560 subscribers
Post #1226 8
Cognee Hackathon 技术复盘:AI 记忆矛盾与深度修剪层

Cognee 是为 AI Agent 设计的记忆层,底层混合使用 LanceDB(向量嵌入)和 Kuzu(图数据库),通过 cognify() 对原始文本进行 LLM 驱动的实体与关系抽取,构建知识图谱。

一位 NIT Silchar 大三学生(Geetansh Vikram)在 WeMakeDevs × Cognee 黑客松中,发现了一个被忽视的痛点:AI 记忆的“上下文腐烂”(context rot)——当同一主体的信息被多次更新时,简单的向量存储无法区分新旧,导致模型回答错误。

他构建了 ContextRot Bench 基准测试,包含 15 个事实流场景(职位申请状态、用户位置、订阅计划等),每个场景有真实答案和不应出现的陈旧值。
他原本计划使用 Cognee 的 improve() 函数来解析矛盾——文档称其“运行摄入后增强、修剪陈旧节点”。但实测发现,improve() 并非物理删除,而是通过 LLM 在图中添加调和边。查询时再由 LLM 推理正确结果,这导致 75% 的情况下朴素管道仍会出错,且陈旧节点始终残留。
于是作者调用底层图引擎 (get_graph_engine()) 和向量引擎 (get_vector_engine()),构建了自定义深度修剪层:先在图库中查询匹配 subject+value 的 Fact 节点并删除,再在 LanceDB 各表中删除关联的向量块,实现双存储的原子清理。
过程中还发现了两个静默 bug:安装 fastembed 但不安装 cognee[fastembed] 会导致图构建无任何向量;LLM 抽取会改写谓词,需改用 subject+值匹配而非谓词匹配。


基准测试结果:朴素向量存储准确率为 0%,Cognee + 深度修剪层为 100%。作者指出,问题只出现在被矛盾的事实上,稳定事实两者都能正确回答。

最终,作者向 topoteretes/cognee 仓库提交了 Graphiti 迁移教程和 Mem0 迁移教程两个 PR,目前正在审核中。

GitHub: Geetansh-12/cognee_hackathon

#开发者 #工具 #Cognee #WeMakeDevs #ContextRotBench #知识图谱 #AI记忆 #LanceDB #Kuzu #深度修剪
@DevToolboxHub
More from @devtoolboxhub
  1. Oct 2, 2026功能开关正在变成没人清理的技术债 功能开关(Feature Flag)是现代软件交付里最有效的工具之一:支持灰度发布、A/B 实验、未发布功能门控,以及生产环境的即时熔断开关。但这…
  2. Oct 2, 2026containerd 检查点恢复路径默认关闭 Kubernetes 里策略变成进程状态只有一处,就是创建。检查点恢复是通往运行进程的第二条路,而这条路上没有任何环节决定:当保存的状…
  3. Oct 1, 2026给 AI 代理建一份「自欺清单」 维也纳邮政与邮件服务商 Postservice.at 创始人 Stephan Holzbach 不是开发者,但今年公司大部分工作跑在 Claude…
  4. Oct 1, 2026代码评审评论为何比本意更刺耳 一条评审评论大约四十秒写完,通常夹在两件事之间,写的人清楚自己的语气。读的人刚在这份代码上花了三天,正想收尾,而且听不到你的声音,于是自己补上一种语气…
  5. Oct 1, 2026用 Hindsight 给客服 Agent 加上持久记忆 大多数客服 Agent 只擅长回答眼前这条消息。真正难的是同一个客户一周后再来,Agent 完全不知道之前发生过什么。作者…
  6. Sep 30, 2026AMSI 绕过技术 2026 开发者指南 AMSI(Antivirus Malware Scan Interface)是 Windows 的恶意脚本扫描接口,覆盖 PowerShe…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →