

























开篇引导段:今天在 GitHub Trending 上看到一个有意思的项目:Cognee,它主打“给 AI Agent 一个能长期记住并主动关联知识的自我托管记忆层”。一句话概括,就是想让 Agent 不再被上下文窗口限制,而是拥有一个可演进、可查询、可共享的知识库。
Cognee 是一个面向 AI Agent 的开源长期记忆平台。它允许开发者把任意格式的数据(文档、网页、数据库、聊天记录等)导入系统,自动构建成本地托管的知识图谱,并为 Agent 提供跨会话的持久记忆能力。
传统 LLM 应用最大的瓶颈之一,是上下文窗口有限且每次对话从头开始。Cognee 试图解决三个核心问题:
Cognee 的核心特性包括:
Cognee 的 pipeline 可以抽象为四层:
从 pyproject.toml 可以看到 Cognee 的依赖非常广泛:
Cognee 区分了两种记忆:
这种分层设计让 Agent 既能快速响应,又能把有价值的信息沉淀下来。Claude Code 插件的 hook 设计也体现了这一点:SessionStart 初始化记忆、PostToolUse 捕获动作、SessionEnd 把会话数据合并到永久图谱。
uv 或 poetry 管理环境);或使用 pip:
配置 LLM Key:
export LLM_API_KEY="sk-xxx"
也可以在项目根目录创建 .env 文件,按官方模板填写。
import cognee
import asyncio
async def main():
# 写入长期记忆(自动完成 add + cognify + improve)
await cognee.remember("Cognee 能把文档变成 Agent 的长期记忆。")
# 写入会话记忆
await cognee.remember("用户喜欢详细解释。", session_id="chat_1")
# 自动路由查询
results = await cognee.recall("Cognee 是做什么的?")
for result in results:
print(result)
# 先查会话记忆,再 fall back 到图谱
results = await cognee.recall("用户喜欢什么?", session_id="chat_1")
for result in results:
print(result)
# 清空指定数据集
await cognee.forget(dataset="main_dataset")
if __name__ == "__main__":
asyncio.run(main())
# 记住一条知识
cognee-cli remember "Cognee 能把文档变成 Agent 的长期记忆。"
# 查询
cognee-cli recall "Cognee 是做什么的?"
# 清除
cognee-cli forget --all
# 启动本地 UI(需要 Docker)
cognee-cli -ui
Cognee 提供了官方镜像 cognee/cognee 和 cognee/cognee-mcp。最快捷的方式是 Docker Compose:
cp .env.template .env
# 编辑 .env,设置 LLM_API_KEY
# 启动 API Server
docker compose up
# 可选:同时启动前端、MCP Server、Postgres、Neo4j
docker compose --profile ui --profile mcp --profile postgres --profile neo4j up
Dockerfile 中使用了 uv 构建多阶段镜像,启用 bytecode 编译以提升容器冷启动速度,并且通过 UV_LINK_MODE=copy 避免挂载卷时的链接问题。
# 目标:根据客户历史数据解决 billing 问题
await cognee.remember(
"用户反馈发票金额不对,之前两次类似 billing 问题都由支付与发票系统同步延迟导致。"
)
results = await cognee.recall("用户发票金额异常的原因")
# Agent 可以基于 recall 结果给出:
# "我找到 2 个上个月已解决的类似 billing 案例,原因都是支付与发票系统同步延迟。"
Cognee 可以保存资深分析师的 SQL 模式、schema 结构和成功案例。当新人分析师提问时,系统检索相似 schema 与历史优秀 SQL,自动适配并返回解释。
await cognee.remember("资深分析师计算留存率的 SQL 模板 ...")
results = await cognee.recall("如何计算客户留存率")
# 结果包含:匹配到的专家 SQL、对应 schema、执行说明
Cognee 提供了 Claude Code 插件和 OpenClaw 插件。安装后,Agent 的每次工具调用、用户提示、上下文压缩都会被捕获并写入 Cognee,实现真正的“跨会话记忆”。
# Claude Code
claude --plugin-dir ./cognee-integrations/integrations/claude-code
# 或连接到 Cognee Cloud
export COGNEE_SERVICE_URL="https://your-instance.cognee.ai"
export COGNEE_API_KEY="ck_..."
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
运行时报 LLM_API_KEY 缺失 | 环境变量未设置 | export LLM_API_KEY="..." 或创建 .env |
cognee-cli -ui 启动失败 | 没有 Docker 环境 | 安装 Docker Desktop、Colima 或其他 OCI 运行时 |
| 安装时出现 Python 版本错误 | 使用了 3.9 或 3.15 | 切换到 Python 3.10–3.14 |
| 图谱构建速度慢 | 文档大、embedding 模型慢 | 调小 chunk size、使用本地 fastembed、异步批量处理 |
| 向量检索结果不准确 | embedding 模型与任务不匹配 | 在配置中切换 embedding provider 或微调模型 |
| 多用户场景数据混淆 | 未启用租户隔离 | 查看用户/权限模块配置,启用 dataset/tenant 隔离 |
Cognee 把“长期记忆”从 Prompt 工程里抽离出来,变成了一套可自托管、可演进、可观测的知识基础设施。它不只是给 LLM 加个向量库,而是让 Agent 真正把数据“记住”并能跨会话、跨文档、跨 Agent 地关联和利用。如果你的项目需要构建“企业大脑”或“个人知识助理”,Cognee 值得作为底层记忆层优先考虑。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。