关于 graph-engineering
graph-engineering 是面向构建图结构记忆和任务编排的 Agent 技能,适用于图工程实践或学习。它以知识图谱的九阶段流程和任务图指导设计、提取、融合与评估。
主要功能
- 01知识图谱九阶段流程
- 02任务图编排指导
- 03本体与模式优先设计
- 04实体、关系和事件提取
- 05知识融合与质量评估
- 06图与 LLM 集成模式
适用场景
- 01规划领域知识图谱建设
- 02指导 Agent 任务依赖编排
- 03教学知识图谱工程概念
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ codejunkie99/ graph-engineering --skill graph-engineering安装后在 Claude Code 中输入/graph-engineering确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/curriculum.mdextraction.mdfusion-and-llm.mdmodeling.mdtask-graphs.md详细介绍
图谱工程
图谱工程是一门设计 Agent 工作所依托结构的学科,而不是设计提示词。它包含两个部分:
- 知识图谱——Agent 记住什么。节点是实体和事实,边是带有时间和来源信息的关系。本文件中的 9 阶段流水线涵盖了这部分内容,提炼自东南大学研究生知识图谱课程 (https://github.com/npubird/KnowledgeGraphCourse,Peng Wang 教授),并翻译为英文,针对大模型时代的 Agent 进行了调整。
- 任务图谱——Agent 如何工作。节点是任务,边是执行依赖关系:并行扇出、独立的验证器上下文、停止规则,以及人工审核关卡。 如果用户的请求涉及编排 Agent,而不是构建记忆,请阅读 references/task-graphs.md。
核心思维模型:知识图谱是带有模式的产品,而不是一堆三元组。质量取决于流水线顺序——先对领域建模,再进行抽取;先融合,再存储;每个阶段都要评估。
教学模式
当用户想要学习图谱工程(而不是构建某种东西)时,要进行教学,而不只是执行。规则如下:
- 每个阶段都要结合用户自己的领域:请用户提供一个真实项目或数据集,然后在所有阶段中以此为贯穿示例。
- 教学时生成可视化产物。 这门学科中的概念都有其形状;要把它们展示出来。对于每个主要概念,都要生成一张用户可以留存的小图——mermaid 图(用于流水线和任务图的 flowchart,用于示例本体和子图的
graph LR),或者在交互性有帮助时生成一个独立的 HTML 页面。至少要包括:9 阶段流水线、一个根据用户领域绘制的包含 3 种类型的本体、一个从真实样本中抽取的子图(5-10 个节点),以及一个以用户自己的任务为节点的菱形模式。 - 按照流水线的顺序教学,每次交流讲一个阶段,并以一个小练习收尾(“为你的项目写出 3 个能力问题”),然后再进入下一阶段。
- 结束时,将课程中构建的内容整理为一个起步用的
ontology.yaml,并绘制一张供用户首次实际构建使用的任务图。
9 阶段流水线
按顺序执行各阶段。对于小型项目,阶段 4–6 可以合并为一次抽取,但绝不能跳过阶段 3(本体)或阶段 8(融合)——现实世界的图谱往往会在这两个阶段出问题。
-
范围与价值检验 — 确认图谱优于更简单的结构。当查询需要跨越多跳(“谁与 X 合作过,参与了使用 Y 的项目”)、实体会在多个文档中反复出现,或关系本身就是数据时,图谱才有价值。如果查询只需单跳,就用表格并到此为止。
-
知识表示方式选择 — 选择事实的编码方式:属性图(Neo4j 风格,务实的默认选择)、RDF 三元组(互操作性/标准),或 JSON/SQLite 中的普通类型化边(小规模)。现在就决定如何为每条事实附加时间和来源信息。
-
本体建模 — 在抽取之前定义实体类型、关系类型(含定义域/值域)和属性。从最小规模开始:5–15 种实体类型、10–30 种关系类型。课程中的两条规则:每种关系都要使用精确的动词名称(用
ACQUIRED,而不是RELATED_TO);如果两种类型总是一起查询,就将它们合并。 详细说明和完整示例:references/modeling.md -
实体抽取(NER) — 从来源中抽取类型化实体。方法阶梯:封闭词汇使用精确规则/词典 → 开放文本使用提示词中包含本体的 LLM 抽取。始终连同文本跨度和来源指针一起抽取,以记录来源信息。
-
关系抽取 — 抽取已识别实体之间的类型化边。将 LLM 限定在本体的关系列表内,并检查定义域/值域;拒绝端点类型不兼容的边。这一步验证就能排除大多数幻觉结构。
-
事件抽取 — 对于动态领域(新闻、日志、交易),将事件作为一等节点抽取(触发项 + 类型化参数 + 时间),而不只是抽取静态边。 阶段 4–6 的抽取方法、提示词模式和失败原因: references/extraction.md
-
质量门槛 — 融合之前先抽样评分:实体精确率(抽取出的实体是否真实且类型正确?)、关系精确率(来源句子是否确实断言了该边?)。修正提示词/规则,而不是修改输出,然后重新运行。在继续之前,以 50 项样本达到 ≥90% 的精确率为目标——增加轮次可以提高召回率;糟糕的精确率会永久污染图谱。
-
知识融合 — 合并同一来源内和不同来源之间的重复项:指向同一现实实体的不同表面形式(“SEU” = “Southeast University” = “东南大学”)。采用阻断 + 匹配 + 合并策略。跳过这一步是图谱毫无用处的头号原因。 匹配策略:references/fusion-and-llm.md
-
为 LLM 提供服务(KG × LLM) — 让 Agent 能够利用图谱:GraphRAG 检索(子图 → 上下文)、图谱即记忆(Agent 通过阶段 4–8 将事实写回),以及 LLM 基于路径进行推理。模式和陷阱: references/fusion-and-llm.md
工作规则
- 始终先定义架构。 没有本体的抽取只会生成一个带箭头的“图谱”,本质上不过是词云。如果用户不愿意设计架构,就根据 3 份示例文档构建最小的 5 类型本体,并提交审批。
- 每条事实都要记录来源信息。 每个节点/边都存储
source、extracted_at和置信度。这一点不可妥协——融合(阶段 8)和可信度都依赖于此。 - 循序渐进,避免一蹴而就。 先让 10 份文档的试点项目经过全部 9 个阶段,再扩大规模。试点能以 1% 的成本暴露本体缺口。
- LLM 抽取是流水线中的阶段工具,而非整个流水线。 LLM 用于阶段 4–6;周边的架构、验证和融合才是让输出成为知识图谱的关键。
参考文件
- references/curriculum.md — 源课程的完整译文课程大纲,包含各讲摘要及原始中文幻灯片的链接。 当用户需要深入了解理论、学术基础或原始材料时阅读。
- references/modeling.md — 知识表示与本体工程(课程第 2–3 讲)。在阶段 2–3 阅读。
- references/extraction.md — 从规则到大模型提示词的实体、关系和事件抽取(第 4–7 讲)。在阶段 4–7 阅读。
- references/fusion-and-llm.md — 知识融合与知识图谱 × 大模型集成(第 8–9 讲)。在阶段 8–9 阅读。
致谢
内容提炼并翻译自东南大学《知识图谱》研究生课程,彭旺教授授课 — https://github.com/npubird/KnowledgeGraphCourse。 所有原始课程 PDF 均为中文;本技能是为 AI Agent 工作流改编的独立英文提炼版本。