
一句话:Cognee 是给 AI Agent 造“长期记忆”的开源平台,用自托管知识图谱把跨会话上下文变成可检索、可进化、可共享的记忆层。
写在前面
Agent 越用越强的前提,不是模型更大,而是“记得住”。
但现实是:Claude Code 关掉就失忆、Cursor 重启就忘光、LangGraph 会话一结束上下文归零。
大家开始在 session 里塞 prompt、写 memory 文件、自己做 RAG 检索,本质都是在解决同一个问题:
让 Agent 记住它学过什么、你偏好什么、项目上下文是什么。
Cognee 要干的就是这件事,而且比“自己攒记忆脚本”更系统: ingest → 知识图谱 → 向量 + 图检索 → 多 Agent 共享。
一、它解决什么问题
| 维度 | 说明 |
|---|---|
| 核心问题 | Agent 上下文窗口再大,关掉会话就归零 |
| 一句话卖点 | 把文档 / 对话 / 工具痕迹自动变成知识图谱,跨 session 持久记忆 |
| 协议 / 论文 | arxiv:2505.24478,Optimizing the Interface Between Knowledge Graphs and LLMs for Complex Reasoning |
| 部署 | 本地 Docker / pip / CLI,或 Cognee Cloud |
| 客户端 | Python SDK、Rust、TypeScript、OpenClaw 插件、Claude Code 插件、MCP Server |
二、支持范围与接入方式
Cognee 的接入面很宽,不是只绑一个 IDE:
- Python SDK:
remember / recall / forget / improve四个 API 覆盖记忆全生命周期 - Claude Code 插件:SessionStart / UserPromptSubmit / PostToolUse / SessionEnd 生命周期钩子,自动把工具痕迹和 assistant 回答同步进图谱
- OpenClaw 插件:
@cognee/cognee-openclaw,让 OpenClaw Agent 直接读写记忆 - Cursor / LangGraph / MCP:不是深度绑定,而是标准接口接入
- 30+ 数据源:warehouses、docs、chats、API 都能
cognee.add(...)进同一层记忆 - Docker Compose 一键起:cognee API + cognee-mcp + Postgres/PGVector + Neo4j 可组合
三、差异化能力
-
知识图谱 + 向量双检索
不是纯 RAG。Cognee 把文档做成知识图谱,节点和关系会随着你新增资料而演化;检索时自动在向量语义和图推理之间选最优路径。 -
Ontology Generation(本体生成)
自带认知科学 grounded 的本体生成,不需要你手写 schema;ingest 时自动提炼实体关系,适合企业知识库这种“结构不固定”的场景。 -
四阶段记忆 API
remember写入长期图谱,recall自动选检索策略,forget删除记忆,improve让记忆自我修正。这比“只存不删”的向量数据库更像真实记忆。 -
多 Agent / 多租户隔离
dataset-scoped 记忆 + agentic user/tenant isolation + OTEL collector + audit traits,企业级权限和可观测性已经内置。 -
浏览器端 Brains + 对话历史侧边栏
v1.1.2 新增“Brains”浏览器、文档管理、拖拽上传、对话驱动的检索历史、知识图谱自定义 prompt / ontology 上传,已经从一个后端 SDK 长成了带 UI 的平台。
四、工具链与运行时
| 组件 | 作用 |
|---|---|
cognee Python 包 |
记忆 API、ingest、cognify、prune、search |
cognee-cli |
命令行 remember / recall / forget / -ui |
| Docker Compose | API 8000 + MCP 8001 + UI 3000 + Postgres/Neo4j |
cognee-mcp |
MCP Server,Claude Code / OpenClaw / Cursor 直连 |
| OpenClaw 插件 | Agent 主程序内记忆读写 |
| Claude Code 插件 | 会话生命周期自动同步记忆 |
| Rust / TS 客户端 | 非 Python 栈也能接入 |
五、对比:Cognee vs Mem0 vs 自建 RAG 记忆
| 维度 | Cognee | Mem0 | 自建 RAG/ 向量库 |
|---|---|---|---|
| 记忆形态 | 知识图谱 + 向量 | 向量 + 元数据过滤 | 视实现而定 |
| 关系推理 | 图推理原生 | 弱 | 基本无 |
| Agent 插件 | OpenClaw / Claude Code / Cursor / LangGraph / MCP | 有 SDK 和 MCP | 自己写 |
| 本体 /Schema | 自动生成 ontology | 手动 metadata | 手动 schema |
| 多租户 | 内置 isolation | 视部署 | 自己造 |
| 可观测性 | OTEL + audit traits | 较弱 | 视选型 |
| 学习曲线 | Docker / pip / CLI 三层可选 | 较低 | 较高 |
结论:如果你只是想让单 agent“有点记性”,Mem0 更轻;如果你要 多 Agent 共享知识、长期演化、企业隔离,Cognee 的系统性更强。
六、实战:3 步跑通
Step 1:本地启动
uv pip install cognee
echo 'LLM_API_KEY="YOUR_OPENAI_API_KEY"' > .env
cognee-cli -ui
Step 2:写入 + 检索
import cognee, asyncio
async def main():
await cognee.remember("Cognee turns documents into AI memory.")
results = await cognee.recall("What does Cognee do?")
for r in results:
print(r)
asyncio.run(main())
Step 3:接 Claude Code / OpenClaw
# Claude Code
claude plugin marketplace add topoteretes/cognee-integrations
claude plugin install cognee-memory@cognee
export LLM_API_KEY="sk-..."
claude
# OpenClaw 侧装插件 @cognee/cognee-openclaw 即可直连同一记忆层
七、风险与坑
- 本地依赖不轻:官方推荐 Docker Compose + Postgres + Neo4j,内存吃紧机器上会重。
- LLM API Key 硬依赖:cognify / ontology generation / improve 都走 LLM,没有 key 只能存 raw text。
- 项目仍早期:v1.0 刚发,GitHub 200+ open issues,生产环境建议先跑小数据集。
- 云服务尚未完全开放:cognee.ai 有托管版,但当前主流仍是自托管。
- MCP Server 稳定性:HTTP/SSE/stdio 三套 transport,不同 client 适配程度不同。
八、总结
Cognee 最值得装的理由有三:
- 记忆不止是向量检索:知识图谱让“谁关联谁”变成一等公民,不是靠 embedding 硬猜。
- Agent 生态接入最全:Claude Code / OpenClaw / Cursor / LangGraph / MCP,不逼你换工具。
- 四阶段 API 设计接近真实记忆:remember / recall / forget / improve,不只是“记住”,还能“修正”。
先试一周:跑通 remember + recall,给你的 coding agent 开个长期记忆,再决定要不要接知识图谱和 Neo4j。
参考
- GitHub:https://github.com/topoteretes/cognee
- 官网:https://cognee.ai/
- 论文:https://arxiv.org/abs/2505.24478
- PyPI:https://pypi.org/project/cognee/
- Docker Hub:https://hub.docker.com/r/cognee/cognee
- Claude Code 插件:https://github.com/topoteretes/cognee-integrations/tree/main/integrations/claude-code
- OpenClaw 插件:https://www.npmjs.com/package/@cognee/cognee-openclaw