Ontology

🧠 结构化知识图谱 · 智能体共享记忆中枢

基于类型约束的知识图谱系统,为AI代理提供结构化记忆、实体关系管理和跨技能状态共享能力,支持复杂工作流建模与验证。

收藏
6.2k
安装
1.4k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心定位

Ontology 是一套面向 AI 代理设计的类型化知识图谱系统,通过实体-关系-属性的三元组结构,将松散的自然语言对话转化为可验证、可查询、可共享的结构化记忆。它解决了多轮对话中信息碎片化、技能间状态隔离、以及复杂任务依赖难以追踪的核心痛点。

核心用法

系统围绕实体(Entity)关系(Relation)构建:

  • 实体创建ontology create --type Person --props '{"name":"Alice"}' 生成带类型的节点
  • 关系连接ontology relate --from proj_001 --rel has_owner --to p_001 建立有向边
  • 图查询:支持按类型过滤(--type Task)、属性匹配(--where '{"status":"open"}')、关系遍历(--related
  • 约束验证:通过 schema.yaml 定义必填字段、枚举值、禁止属性、关系基数、无环性等规则

典型触发场景包括:"记住 Alice 是项目经理"、"查询项目 Website Redesign 的所有未完成任务"、"创建依赖任务 A 的任务 B"、或跨技能共享状态(如邮件技能创建 Commitment,任务技能自动转为 Task)。

显著优点

1. 结构化持久化:Append-only 的 JSONL 存储保留完整历史,避免对话上下文丢失
2. 跨技能协同:通过标准化的实体 ID 和关系类型,打破技能壁垒,实现"邮件承诺→任务创建→日历事件"的流水线

3. 可验证性:类型约束在写入前强制执行,防止脏数据污染图谱(如禁止 Credential 直接存储明文密码)

4. 工作流即代码:多步骤计划可建模为图变换序列,每步原子化提交,支持约束失败回滚

5. 查询灵活性:从简单属性过滤到多跳关系遍历,覆盖从个人笔记到项目管理的多元场景

潜在缺点与局限性

  • 迁移成本:简单场景需维护 schema 和实体关系,认知负担高于直接文件存储
  • 查询性能:默认 JSONL 格式在万级节点后效率下降,需手动迁移至 SQLite
  • 约束覆盖不全end >= start 等时序约束、复杂业务规则仍为文档级说明,未全部代码化
  • 可视化缺失:依赖命令行查询,无内置图谱可视化能力
  • 并发安全:未提及多代理同时写入的锁机制,高并发场景可能产生冲突

适合人群

  • 长期运行的个人助理代理(需跨会话记忆)
  • 多技能协作系统开发者(需状态共享枢纽)
  • 项目管理场景用户(任务依赖、责任人追踪)
  • 偏好显式数据建模的技术用户(愿意维护 schema)

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 数据丢失 | `graph.jsonl` 损坏导致图谱不可恢复 | 定期备份、考虑 SQLite 迁移 |
| 敏感信息泄露 | Credential 实体若误用明文存储 | 强制 `secret_ref` 间接引用,schema 层禁止敏感字段 |
| 循环依赖 | Task A blocks Task B blocks Task A | 启用 `acyclic: true` 关系约束 |
| 约束绕过 | 直接编辑 JSONL 跳过验证 | 始终通过 CLI/API 操作,避免手动文件修改 |
| 性能衰减 | 无索引的 JSONL 查询随数据量恶化 | 监控文件大小,及时迁移数据库 |

总结

Ontology 是 Agent 架构中的"记忆皮层"——它不是最简单的存储,但为需要可解释、可关联、可验证知识的场景提供了工程化的基础设施。

Ontology 内容

references文件夹
scripts文件夹
手动下载zip · 13.2 kB
queries.mdtext/markdown
请选择文件