Cognee:我刚点开这个开源项目时,先注意到的不是“记忆”,而是它想把 RAG 从补丁改成底座
Cognee:我刚点开这个开源项目时,先注意到的不是“记忆”,而是它想把 RAG 从补丁改成底座
给 Agent 接记忆这件事,很多人已经折腾过一轮了。
最常见的路子还是 RAG:切文档、做 embedding、进向量库、检索、拼上下文。刚开始看着都对,真跑起来就容易出问题。对话一长,前后信息接不上;资料一多,检索结果开始飘;同一个人、同一件事,明明有关联,系统却只能按一段段碎片去捞。
我点进 Cognee 的时候,停了一下。
它不是在讲“再做一个更强的检索器”,而是想直接给 Agent 补一层长期可用的记忆结构。不是临时塞上下文,而是把信息存下来,之后还能继续找、继续连。
这个思路一下就跟常规 RAG 拉开了。
Cognee 做的事,说白了就是两层一起上:一层是向量搜索,负责按语义把东西找回来;另一层是图数据库,负责把人物、事件、概念之间的关系串起来。这样记忆不再只是几段 embedding,而是既能搜到,又知道它跟谁有关系。
看到这里,大概就明白它为什么会让做 Agent 的人有点兴趣。
因为很多所谓“记忆”方案,最后只是把历史消息存进库里,换个方式再检索一遍。能不能找到是一回事,找到之后是不是同一条线索,又是另一回事。Cognee 这里明显更在意后者。
它把整套流程抽象成了一个 ECL 管道:Extract、Cognify、Load。
我挺在意中间那个 Cognify。
前面的 Extract 很好理解,就是把数据拉进来;后面的 Load 也不陌生,就是落到可查询的存储层里。真正不太一样的是中间这步,它不是简单清洗一下文本,而是把原始内容变成更适合 Agent 理解和调用的“认知结构”。这一步做完,后面无论是检索、关联,还是长期记忆,都不再只是原文搬运。
这就不是传统 RAG 那种“切完就存、存完就查”的味道了。
另一个让我多看了两眼的地方,是它的数据入口做得挺宽。
Cognee 提供的是一套比较 Pythonic 的数据管道,能接 30 多种数据源,过往对话、文件、图像、音频转写这些都能往里喂。你能感觉到它不是只服务“文档问答”这一类场景,而是奔着更完整的 Agent memory 去的。
这点很现实。
真到业务里,Agent 需要记住的从来不只是 PDF。还有聊天记录、操作痕迹、外部知识、用户偏好,甚至一段语音转文字后的上下文。记忆层一旦只盯着单一文本源,后面很快就会别扭。
Cognee 没把门槛抬得很高,这也挺重要。
项目给出的设定很直接:6 行代码就能把持久化记忆接进 Agent。先不说复杂系统里到底会不会只停在 6 行,至少它传递出的信号很明确——这不是一个只能拿来读论文、很难真正接进现有工作流的东西。它还有 CLI、本地 UI,也兼容 Ollama 这类本地模型,意味着你既可以从代码里接,也可以先在本地把链路跑通。
我更愿意把它看成一种基础设施倾向。
不是“帮你把 RAG 做得更顺一点”,而是把原来外挂式的知识检索,往统一记忆层上收。文档能进来,对话能进来,关系能留下,后面 Agent 调用时不用每次都从碎片重新拼世界。
现在这个项目已经有 15900 多个 Star,热度不低。它未必能替掉所有 RAG 场景,但至少把一个很实际的问题重新摆到了台面上:Agent 需要的也许不是更多上下文,而是一套能长期积累、能保留关系的记忆系统。
GitHub地址:topoteretes/cognee