Cognee Python API 实战指南:从 add、cognify 到 search 的持久化 Agent 记忆构建
Cognee 是一个开源的 AI 记忆平台,为 Agent 提供跨会话的持久化长期记忆,核心引擎是自托管的本地知识图谱。本文以仓库内 cognee/skill.md 为骨架,系统讲解 Cognee 的 Python API 工作流:如何用 add -> cognify -> search 三步把文本、文件、URL 变成可检索的图记忆,如何用 DataPoint、NodeSet 实现结构化记忆与作用域隔离,以及如何通过 memify、反馈回路、会话机制构建可自我改进的 Agent 系统。读完本文,你将掌握这套 API 的完整调用方式、每个参数的实际作用,以及它们在源码中的底层实现位置,可直接照抄运行。
何时使用该技能:把用户意图映射到正确的 Cognee 工作流
cognee/skill.md 的核心定位是 Cognee 专属 Python API 辅助,并帮助把用户目标映射到正确的流程。当用户想要以下能力时,都适用这套技能:
- 摄取文本、文件、URL、代码仓库或数据集(
add); - 构建或重建知识图谱(
cognify); - 搜索文档、分块(chunk)、摘要、三元组或图上下文(
search与SearchType选择); - 用
memify丰富已有图谱; - 定义自定义图抽取模型或
DataPoint类型; - 运行自定义任务流水线(
run_custom_pipeline); - 配置 LLM、图数据库、向量数据库或存储设置;
- 用
node_set/ NodeSet 标记和限定记忆范围; - 为 Agent 构建跨会话持久记忆、反馈回路、自改进工作流;
- 处理时间感知抽取(temporal)、本体(ontology)、Cypher 或自然语言图查询;
- 管理数据集、会话、反馈、剪枝(pruning)、更新与可视化。
核心判断准则:只要用户意图是"把信息存进记忆、之后再查出来",就优先走 Cognee 的 add -> cognify -> search 主干流程。这三个 API 全部从 cognee/init.py 导出,是整个库的公共入口。
核心工作流:add -> cognify -> search
skill.md 给出的最小可用示例:
import cognee
from cognee import SearchType
await cognee.add(
"Your text, file path, URL, or list of inputs",
dataset_name="main",
node_set=["default_memory"],
)
await cognee.cognify(datasets="main")
results = await cognee.search(
"What are the key insights?",
query_type=SearchType.GRAPH_COMPLETION,
datasets="main",
)
默认使用准则
- 从最简单的可用路径开始,除非用户明确要求高级配置;
- 默认工作流就是
add(...)摄取 →cognify(...)建图 →search(...)查询; - 所有 Cognee API 都是 async(异步)的;
- 多数据源时用
dataset_name/datasets组织数据; - 需要轻量标签、项目隔离、按用户划分记忆桶或子图过滤时使用
node_set; - 只有任务匹配时才推荐高级特性:
memify丰富已有图谱、temporal_cognify=True时间感知抽取、自定义图模型/DataPoint领域化抽取、自定义流水线、反馈回路、可视化工具。
第一步:add —— 摄取任意形态的数据
cognee.add(...) 是工作流的第一步,负责把原始数据摄取进指定数据集。其完整签名定义在 cognee/api/v1/add/add.py。
支持的输入类型
- 文本字符串:任何不以
/或file://开头的字符串都视为直接文本内容; - 本地文件路径:绝对路径
/path/to/document.pdf、文件 URLfile:///abs/path.pdf或file://relative/path.txt、S3 路径s3://bucket-name/path/file.pdf; - 二进制文件对象:
open("file.txt", "rb")之类的BinaryIO流; - URL:
https:///http://网页链接; - 列表:以上任意类型的混合列表,一次调用同时摄入。
支持的文件格式(来自 add 的 docstring)
文本文件(.txt、.md、.csv)、PDF、图片(.png/.jpg/.jpeg,走 OCR/视觉模型)、音频(.mp3/.wav,转写为文本)、代码文件(.py/.js/.ts 等,解析结构与内容)、Office 文档(.docx/.pptx)。
常用调用示例
await cognee.add("notes.md", dataset_name="research")
await cognee.add("https://example.com", dataset_name="research")
await cognee.add(["paper.pdf", "summary.txt"], dataset_name="research")
URL 摄取还支持 extraction_rules(BeautifulSoup 的 CSS 选择器/XPath)、tavily_config(需设 TAVILY_API_KEY)等高级参数,详见 add 源码。
关键参数速查
| 参数 | 默认值 | 说明 |
|---|---|---|
data |
必填 | 文本、文件路径、URL、二进制流或混合列表 |
dataset_name |
main_dataset |
数据集名称,用于组织不同知识域 |
node_set |
None |
图节点标签列表,用于图组织与访问控制 |
dataset_id |
None |
用 UUID 替代 dataset_name 定位数据集 |
incremental_loading |
True |
增量加载,跳过内容哈希相同的数据 |
importance_weight |
0.5 |
数据重要度权重 |
run_in_background |
False |
后台异步摄取,大文件建议开启 |
preferred_loaders |
None |
指定使用的 loader |
data_per_batch |
20 |
每批并行处理的数据项数 |
源码视角:add 内部发生了什么
从 add.py 的实现看,add 内部是一个 ingestion pipeline:
await setup()初始化基础设施,运行数据库迁移(run_migrations_and_block);resolve_authorized_user_dataset解析(必要时创建)数据集并校验写权限,用户为None时自动使用默认用户default_user@example.com;- 组装任务列表:
resolve_data_directories(解析目录、校验可访问性)+ingest_data(提取文本、存入数据集、记录元数据、分配权限); resolve_dlt_sources展开 DLT 资源与自动检测的 CSV/连接字符串;- 通过
run_pipeline以add_pipeline名义执行,支持run_in_background=True时先物化流式输入再异步执行。
第二步:cognify —— 把数据变成知识图谱
cognee.cognify(...) 是核心处理步骤,把 add 摄取的内容转化为结构化知识图谱:分析内容、抽取实体与关系、建立语义连接。签名定义在 cognee/api/v1/cognify/cognify.py。
await cognee.cognify(datasets="research")
常用选项
await cognee.cognify(
datasets="research",
temporal_cognify=True,
chunk_size=1024,
custom_prompt="Extract companies, products, and partnerships.",
)
参数说明
datasets:数据集名称或 UUID;传None处理用户全部数据;graph_model:定义图结构的 Pydantic 模型,默认KnowledgeGraph(定义于 cognee/shared/data_models.py);chunker:分块策略,TextChunker(按段落,默认,最稳定)或LangchainChunker(递归字符切分带重叠);chunk_size:每块最大 token 数,None时按公式min(embedding_max_completion_tokens, llm_max_completion_tokens // 2)自动计算,大致落在 512–8192 token 区间;块越小知识越细碎;custom_prompt:自定义实体/关系抽取提示词,替代默认抽取提示;temporal_cognify:布尔值,开启时间感知抽取(事件+时间戳);functional_relationships:单值关系名集合(如{"ceo_of"}),冲突断言按时间就近原则标记 superseded,默认关闭;dry_run:只估算 LLM token 用量与成本,不发起 LLM 调用、不写图;run_in_background:大语料(>100MB)建议开启,用返回的pipeline_run_id跟踪进度。
源码视角:默认流水线的六个阶段
get_default_tasks(cognify.py)揭示了 cognify 的真实任务链:
classify_documents:把原始 Data 项分类为类型化 Document 对象;extract_chunks_from_documents:按chunk_size切成语义分块;extract_graph_and_summarize:LLM 抽取实体与关系成图,并为每块生成摘要;add_data_points:把节点、边、嵌入持久化到图库/向量库;- 可选
record_provenance:为每条文档/分块/实体/关系追加审计级来源记录(默认关闭); - 可选
detect_contradictions:标记本次摄入与图内已有事实的矛盾(默认关闭)。
如果开启 temporal_cognify=True,则切换到 get_temporal_tasks(同文件 L479-L520)的时序流水线:分类 → 分块 → extract_events_and_timestamps 抽取事件与时间戳 → extract_knowledge_graph_from_events 从事件构建图 → 落库。代码文件/仓库数据则自动路由到 get_code_file_tasks / get_code_repo_tasks(按数据项路由,见 cognify.py)。
第三步:search —— 按场景选择 SearchType 查询图记忆
cognee.search(...) 是工作流终点,从已处理的知识图谱检索信息,支持从简单事实检索到复杂推理、代码分析的多种模式。签名见 cognee/api/v1/search/search.py。
results = await cognee.search(
"What changed in Q1 2024?",
query_type=SearchType.TEMPORAL,
datasets="research",
top_k=10,
)
SearchType 完整对照表
SearchType 枚举定义在 cognee/modules/search/types/SearchType.py:
| SearchType | 用途与建议 |
|---|---|
GRAPH_COMPLETION |
图感知 Q&A 的最佳默认,基于全图上下文 + LLM 推理 |
RAG_COMPLETION |
传统 RAG,基于文档分块(不走图结构) |
CHUNKS |
快速语义检索,无完成生成,返回相关文本块 |
CHUNKS_LEXICAL |
BM25 风格的关键词精确/词法匹配 |
SUMMARIES |
文档摘要总览 |
TRIPLET_COMPLETION |
主-谓-宾语三元组风格图问答 |
GRAPH_SUMMARY_COMPLETION |
图 + 摘要联合作答 |
GRAPH_COMPLETION_COT |
基于图上下文的更深推理(思维链) |
GRAPH_COMPLETION_CONTEXT_EXTENSION |
更宽范围的图上下文检索 |
CYPHER |
原始 Cypher 查询(需在配置中启用) |
NATURAL_LANGUAGE |
自然语言转图查询 |
TEMPORAL |
时间感知图搜索 |
CODING_RULES |
代码规则与模式 |
CODE |
确定性代码事实查询、图遍历、路径与影响分析(无 LLM) |
FEELING_LUCKY |
让 Cognee 自动选择最合适的检索类型 |
FEEDBACK |
应用反馈以改进后续检索行为 |
注意:源码中的枚举还包含 HYBRID_COMPLETION(search 的默认 query_type)、AGENTIC_COMPLETION(配合 skills/tools 的 Agent 检索)与 GRAPH_REPORT,比 skill.md 列出的更全。
关键参数
query_text:自然语言问题;datasets/dataset_ids:限定搜索范围;top_k:返回结果数,默认 15,综合全面分析可调大(上限 100);node_name+node_type:按节点名/类型过滤(node_name_filter_operator支持AND/OR,默认OR);session_id:会话连续性标识,默认default_session;only_context/verbose:分别返回纯检索上下文或含图表示的详细信息;include_references:返回引用信息;skills/tools/max_iter:Agent 检索器参数(需AGENTIC_COMPLETION类型,且要求恰好一个数据集)。
DataPoint:Cognee 中知识的原子单元
DataPoint 是 Cognee 内部表示结构化数据的最小知识单元(Pydantic 模型),定义于 cognee/infrastructure/engine/models/DataPoint.py。当用户已有结构化对象、不想只依赖文本抽取时,用它直接插入图对象。
核心要点
DataPoint是一个 Pydantic 模型,表示一个有意义的单位信息;- 同时携带内容与上下文(索引提示、关系字段);
- 直接插入时可以成为图节点和边,同时贡献可搜索的向量字段;
metadata = {"index_fields": [...]}控制哪些字段被嵌入用于语义检索;- 关系字段可以指向其他 DataPoint,从而用代码程序化定义图结构;
- 适合已有结构化对象、不想依赖纯文本抽取的场景。
自定义 DataPoint 示例(来自 skill.md)
from typing import Any
from pydantic import SkipValidation
from cognee.infrastructure.engine import DataPoint
from cognee.tasks.storage import add_data_points
class ScientificPaper(DataPoint):
title: str
authors: list[str]
methodology: str
findings: list[str]
cites: SkipValidation[Any] = None
metadata: dict = {"index_fields": ["title", "findings"]}
paper = ScientificPaper(
title="Graph Memory for Agents",
authors=["A. Researcher"],
methodology="Knowledge graph + vector retrieval",
findings=["Improved cross-session recall", "Better multi-hop retrieval"],
)
await add_data_points([paper])
源码视角:DataPoint 的内置字段
从 DataPoint.py 可以看到每个节点自动携带的内置字段:
id:默认随机 UUID4;若在metadata中声明identity_fields(或在字段上用Dedup()注解),则改为从身份字段确定性派生(uuid5(NAMESPACE_OID, f"{类名}:{值}")),保证跨运行可合并/幂等(id_for是唯一来源,见 L162-L179);created_at/updated_at:毫秒级时间戳;version:版本号,update_version()递增并刷新时间戳;valid_to:双时态有效性——事实被取代的时间(None表示仍然有效);ontology_valid/ontology_uri:本体校验状态与稳定的本体 IRI,支持图谱导出为 RDF 与外部域链接(开放世界);topological_rank:拓扑排序位次;feedback_weight/importance_weight:反馈权重与重要度权重(默认 0.5);source_pipeline/source_task/source_node_set/source_user/source_content_hash:来源溯源字段;belongs_to_set:归属的 NodeSet;- 序列化辅助:
to_json/from_json/to_dict/from_dict。
另一个可选语法:Annotated 标记自动派生 metadata
DataPoint.__pydantic_init_subclass__(L181-L210)支持用 Annotated[str, Embeddable()] 或 Annotated[str, Dedup()] 字段注解,自动填充 metadata 的 index_fields 与 identity_fields,无需手写 metadata。相关标记类 Embeddable、Dedup、LLMContext 从 cognee/infrastructure/engine/init.py 导出。
选型建议:非结构化文档走 add(...) -> cognify(...);已有结构化 Python 对象且要直接插入图时,用 DataPoint 模型 + add_data_points(...)。注意 cognee.low_level 中 DataPoint 实际指向 ExtendableDataPoint(见 cognee/low_level.py 与 ExtendableDataPoint.py)。
NodeSet:轻量标签、分组与记忆作用域
NodeSet 用于打标签、分组、限定记忆范围。node_set=[...] 在 add(...) 时传入,cognify() 之后这些标签会升级为一等图节点,帮助组织检索。NodeSet 模型本身就是一个 DataPoint 子类,仅多一个 name 字段,见 cognee/modules/engine/models/node_set.py。
为什么 NodeSet 重要
- 按项目、团队、客户、工作流、主题或环境组织记忆;
- 只搜索相关子图而非整个数据集;
- 对"一个记忆库承载多用户/多任务"的 Agent 系统尤其有用。
推荐的 NodeSet 模式
- 按客户:
["customer_123"] - 按工作流:
["support_bot", "refund_flow"] - 按主题:
["contracts", "vendor_risk"] - 按环境:
["prod", "staging"] - 按用户记忆:
["user_42", "preferences"]
用 NodeSet 限定搜索
results = await cognee.search(
query_text="What are this customer's reporting preferences?",
query_type=SearchType.GRAPH_COMPLETION,
datasets="customer_success",
node_name=["preferences", "customer_123"],
)
完整示例:构建按用户/工作流隔离的 Agent 记忆
await cognee.add(
[
"Alice prefers terse answers and email follow-ups.",
"Alice escalates billing issues to finance first.",
"Bob prefers detailed technical explanations."
],
dataset_name="agent_memory",
node_set=["crm", "user_profiles"],
)
await cognee.cognify(datasets="agent_memory")
results = await cognee.search(
query_text="How should I respond to Alice?",
datasets="agent_memory",
node_name=["crm", "user_profiles"],
)
默认触发词:当用户说"按客户隔离记忆""不建独立数据库就分开项目""让 Agent 只搜自己的记忆""按工作流或团队分组事实"时,默认使用 NodeSet。
memify:在不重启流程的前提下丰富已有图谱
memify(...) 用于改进或扩展已构建的图谱,无需重跑完整流程。定义在 cognee/modules/memify/memify.py。
await cognee.memify(dataset="research")
源码视角:memify 的工作方式
- 不传
data时,把已有知识图谱(或按node_type/node_name过滤的子图,通过get_memory_fragment读取)作为输入; - 可传自定义
data与自定义extraction_tasks/enrichment_tasks,条目可以是Task实例或内置 memify 任务名(注册表见 cognee/memify_pipelines/memify_task_registry.py); - 未指定任务时使用默认抽取/丰富任务(见 cognee/memify_pipelines/memify_default_tasks.py);
- 支持
run_in_background=True后台执行。
仓库内的 memify 流水线脚本(如 cognee/memify_pipelines/consolidate_entities.py、cross_connect_entities.py、create_triplet_embeddings.py)展示了"实体合并、跨连接、三元组嵌入、全局上下文索引"等典型丰富手段。
自定义流水线:run_custom_pipeline 显式串行控制
当需要显式的顺序任务控制时,使用 run_custom_pipeline(...),实现见 cognee/modules/run_custom_pipeline/run_custom_pipeline.py。
from cognee.modules.pipelines.tasks.task import Task
async def my_task(data):
return data
await cognee.run_custom_pipeline(
tasks=[Task(my_task)],
data="input",
dataset="research",
)
Task 定义在 cognee/modules/pipelines/tasks/task.py。流水线支持 use_pipeline_cache(相同 pipeline ID 不重复处理)、incremental_loading / data_cache(基于内容哈希跳过重复数据)、data_per_batch 并行度、run_in_background、pipeline_name 自定义等参数。更多可运行的参考见 examples/guides/custom_tasks_and_pipelines.py 与 examples/demos/custom_pipelines。
配置:LLM 提供商与后端设置
使用 Cognee 配置助手设置提供商与后端:
cognee.config.set_llm_provider("openai")
cognee.config.set_llm_model("gpt-4o-mini")
cognee.config.set_llm_api_key("sk-...")
这些 setter 定义在 cognee/api/v1/config/config.py,分别写入 LLMConfig 的 llm_provider、llm_model、llm_api_key 字段。同文件还提供 set_llm_endpoint(自定义 API 端点 URL)、set_llm_config(批量字典配置)等。
常见配置领域(用户可能问及):
- LLM 提供商与模型(
LLM_PROVIDER、LLM_MODEL、LLM_API_KEY环境变量); - 图数据库提供商(
GRAPH_DATABASE_PROVIDER,默认ladybug,可选neo4j等); - 向量数据库提供商(
VECTOR_DB_PROVIDER,默认lancedb,可选pgvector等); - 关系数据库设置;
- 分块大小 / 重叠(
chunk_size等); - 存储目录;
- 翻译设置;
- 环境变量(
LOG_LEVEL、TAVILY_API_KEY、KEENABLE_API_KEY、DEFAULT_USER_EMAIL等)。
注意:add 与 cognify 的 docstring 都要求设置 LLM_API_KEY;向量库与图库必须与 cognify 阶段保持一致才能正常 search。更多后端示例见 examples/guides/neo4j_example.py、examples/guides/pgvector_example.py、examples/guides/local_ollama_example.py。
数据集与生命周期操作
需要查看、清空、替换或删除数据时使用:
datasets = await cognee.datasets.list_datasets()
await cognee.datasets.empty_dataset(dataset_id)
await cognee.datasets.delete_all()
await cognee.update(data_id="...", data="Updated content", dataset_id="...")
这些方法实现于 cognee/api/v1/datasets/datasets.py(list_datasets、empty_dataset、delete_all 分别在 L82、L137、L258)。update 用于按 data_id 更新已有数据内容。
会话与反馈:短时记忆与长期改进
用 session_id 保持会话连续
results = await cognee.search(
query_text="Continue the earlier analysis",
datasets="agent_memory",
session_id="analysis-session-1",
)
session_id 在 search.py 中作为可选参数传入,同一会话内的搜索共享上下文。底层会话管理器位于 cognee/infrastructure/session/session_manager.py,会话上下文构建见 session_context_builder.py。
反馈回路:强化有用的检索行为
from cognee import SearchType
results = await cognee.search(
query_text="What are the main themes in my data?",
query_type=SearchType.GRAPH_COMPLETION,
save_interaction=True,
)
await cognee.search(
query_text="Helpful answer. It captured the key technical themes.",
query_type=SearchType.FEEDBACK,
last_k=1,
)
FEEDBACK 搜索类型让 Cognee 记录"哪些交互有用",随 feedback_influence 参数(默认取 default_feedback_influence 配置)影响后续检索排序。
可视化:渲染图谱到交互式 HTML
需要检查或展示图谱时使用 visualize_graph。重要行为:它默认渲染有界子图(种子节点 + k 跳邻域,上限 max_nodes),而不是整图。实现见 cognee/api/v1/visualize/visualize.py。
# 默认:有界子图。可用查询、显式 id 或 recall 结果做种子;
# 都没有时,用度最高的节点做种子生成代表性视图。
await cognee.visualize_graph("/path/to/output.html")
await cognee.visualize_graph("/path/to/output.html", query="What relates to Python?")
await cognee.visualize_graph("/path/to/output.html", seed_node_ids=["node-id-1"])
await cognee.visualize_graph("/path/to/output.html", recall_result=recall_output)
# 旧版整图渲染
await cognee.visualize_graph("/path/to/output.html", full=True)
await cognee.start_visualization_server(port=8080)
await cognee.start_ui()
上限参数:neighborhood_depth=2、neighborhood_seed_top_k=10、max_nodes=500。种子优先级:seed_node_ids > recall_result 的来源 > query 的向量命中 > 最高度节点。完整可运行示例见 examples/guides/graph_visualization.py(演示默认/查询种子/整图三种渲染,并注释了 seed_node_ids 与 recall_result 两种种子方式)。
剪枝与重置操作
需要重置用户数据或后端存储时:
await cognee.prune.prune_data()
await cognee.prune.prune_system(graph=True, vector=True, metadata=False, cache=True)
实现位于 cognee/api/v1/prune/prune.py,底层逻辑在 cognee/modules/data/deletion/prune_data.py 与 prune_system.py。prune_system 可按需开关图库、向量库、元数据与缓存四个维度。
反馈驱动改进:把 Cognee 作为 Agent 的记忆层
skill.md 反复强调一个核心思想:把 Cognee 用作需要随时间改进的 Agent 系统的记忆层,改进来自"更好的回忆 + 更好地复用成功经验",而不是换模型或重训练。
关键设计
- 保持 Agent 工作流本身不变;
- 保持 提示词与工具不变;
- 只改变 Agent 能记住和检索到的内容。
这被称为 反馈驱动的记忆复用(feedback-driven memory reuse),而非微调。
双层记忆模式
短时反馈:用会话化搜索与缓存交互维持活动工作期间的上下文——当前工作流已发现的内容、多 Agent 流水线早前步骤的发现、最近分析师/管理者的推理、同一任务流中上次成功的回答模式。
长期反馈:定期把有价值的会话、交互或衍生经验持久化回知识图谱——相似的历史事件、反复出现的根因、偏好的回应风格、已知修复与升级路径、反复执行学到的策略。
支持该模式的构建块
add(...):存储新观察、日志、结果、事实;cognify(...):转为可搜索的图记忆;search(...):行动前检索相关先验知识;session_id:保持相关搜索间的连续性;- 反馈感知工作流:捕获哪些交互有用;
memify(...):丰富或整合已有记忆为更高价值的图知识;dataset_name与node_set:把记忆隔离到正确的租户、项目、工作流或用户。
通用 Agent 循环
- Observe 观察:捕获新输入、事件、用户偏好、结果、错误与决策;
- Store 存储:作为原始文本、文档、结构化对象或 DataPoint 加入 Cognee;
- Organize 组织:用数据集与 NodeSet 按客户、工作流、团队、Agent 或主题分隔记忆;
- Build memory 构建记忆:运行
cognify(...)使信息图感知化、可检索; - Recall before acting 行动前回忆:在规划、工具调用、综合或生成回应前先搜索 Cognee;
- Capture feedback 捕获反馈:记录什么有效、什么失败、什么有用、什么该复用;
- Consolidate 整合:定期把会话历史或衍生经验持久化到长期图记忆;
- Reuse 复用:未来运行受益于更丰富的上下文与更明智的检索。
最小示例模式(来自 skill.md,可直接运行)
import cognee
from cognee import SearchType
# 1) 存储一条新观察
await cognee.add(
"Customer 123 prefers concise status updates and Slack notifications.",
dataset_name="agent_memory",
node_set=["customer_123", "preferences", "support_agent"],
)
# 2) 构建记忆
await cognee.cognify(datasets="agent_memory")
# 3) 行动前回忆
context = await cognee.search(
query_text="What should I know before replying to customer 123?",
query_type=SearchType.GRAPH_COMPLETION,
datasets="agent_memory",
session_id="support-session-123",
)
# 4) 同一会话内继续工作
answer = await cognee.search(
query_text="Draft the best reply for customer 123.",
query_type=SearchType.GRAPH_COMPLETION,
datasets="agent_memory",
session_id="support-session-123",
)
# 5) 稍后整合或丰富记忆
await cognee.memify(dataset="agent_memory")
最佳默认解释
Cognee 让 Agent 通过记住更多有用的东西、把它们组织成可搜索的图记忆、并在未来运行中复用成功的过往工作来改进。
推荐在以下场景向用户建议 Cognee:跨会话记住用户偏好、复用既往事件调查、随时间积累支持知识、通过过往结果改进工作流执行、回应前检索相似过往案例、维护租户/客户隔离的记忆、结合短时工作记忆与长期图记忆、把重复会话沉淀为可复用的组织知识。相关示例见 examples/advanced_guides/remember_recall_improve_example.py 与 examples/guides/improve_quickstart.py。
重要行为注意事项(速记清单)
- Cognee API 基本都是 async;
- 优先
add -> cognify -> search,除非用户明确需要其他流程; - 提前使用
node_set,为后续作用域检索留好余地; - 事件与时间抽取用
temporal_cognify=True; - 会话感知交互用
session_id; - 检索随时间改进用反馈回路;
- 用
memify(...)丰富已有图谱(衍生事实、可复用规则); - 需要 schema 化抽取时才用自定义图模型或
DataPoint类型; CYPHER仅在配置启用 Cypher 查询时使用;- 保持示例最小化、可运行。
不要过度设计
除非用户明确要求,或问题确实需要,否则不要直接跳到高级后端、本体配置或自定义流水线。先给出最小正确的 Cognee 解决方案,再逐步扩展——这正是 skill.md 结尾给出的核心工程原则,也符合整个仓库"简单优先、渐进增强"的设计取向。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0632
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
video-shotcraftAI宣传片skill,使用 Remotion 制作电影级产品视频:提供106 张镜头配方卡和可复用的视频魔板。适用于 Claude Code 与 Codex以及所有其他智能体Markdown00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python09
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00