核心概述
Ontology 是一套面向 AI Agent 的类型化知识图谱系统,通过实体-关系-属性的三元组模型,实现结构化记忆的持久化存储与可组合 Skill 间的状态共享。
核心用法
该 Skill 围绕三类核心操作构建:
1. 实体管理 —— 创建、查询、更新 14 种预定义类型(Person、Project、Task、Event、Document 等),支持自定义属性与类型约束
2. 关系构建 —— 通过声明式关联(如 has_owner、blocks、for_event)建立实体间依赖网络,支持基数约束与无环验证
3. 图查询与验证 —— 提供类型过滤、属性匹配、关系遍历等查询能力,以及 schema 级别的约束检查(必填字段、枚举值、属性黑名单、acyclic 关系)
典型工作流包括:用户说"记住 Alice 负责网站改版项目"→ 创建 Person 实体 + Project 实体 + has_owner 关系;或"显示项目 Z 的所有依赖"→ 执行图遍历查询。
显著优点
- 结构化语义:强类型系统替代自由文本记忆,支持机器可理解的推理(如"阻塞任务自动识别关键路径")
- 跨 Skill 协同:通过声明式契约(
ontology: reads/writes)实现技能间解耦通信,避免硬编码集成 - 计划即代码:将多步骤任务建模为图变换序列(CREATE→RELATE→CREATE),支持原子性验证与回滚
- 安全纯净:100% Python 标准库实现,零第三方依赖,本地文件操作无网络外泄风险
- 可扩展架构:Append-Only 存储设计 + YAML Schema 定义,便于从原型(JSONL)迁移到生产(SQLite)
潜在局限
- 存储容量:默认 JSONL 格式在大规模图(>10万节点)下查询性能受限,需手动迁移至 SQLite
- 并发安全:当前实现未显式处理多进程并发写入,单 Agent 场景无碍,多 Agent 共享需外部协调
- 查询能力:无内置图查询语言(如 Gremlin/Cypher),复杂多跳查询需自行编写遍历脚本
- 因果集成:虽文档提及与 Causal Inference Skill 的集成模式,但实际需开发者手动实现 action 日志双写
- T3 来源风险:个人开发者维护,缺乏企业级 SLA 保障,长期维护连续性存疑
适合人群
- 构建长期记忆 Agent 的开发者(需跨会话持久化用户偏好、项目上下文)
- 多 Skill 协同系统的架构师(需标准化状态交换格式)
- 任务规划类应用(Todo、项目管理 Agent)的实现者
- 注重数据主权、要求完全离线运行的隐私敏感场景
常规风险
| 风险类别 | 等级 | 说明 |
|---------|------|------|
| 数据丢失 | 中 | JSONL 为文本格式,异常中断可能损坏最后一行,建议定期备份 |
| 约束绕过 | 低 | 直接文件操作可绕过 `ontology.py` 的验证逻辑,需配合权限管控 |
| schema 漂移 | 中 | 追加式 schema 更新可能导致历史数据与新约束冲突,需定期运行 `validate` |
| 敏感信息误存 | 低 | Credential 类型强制 `secret_ref` 间接引用,但无法阻止用户在其他类型中硬编码密码 |
综合评估
Ontology 是 Agent 基础设施层的高质量组件,其设计体现了"显式优于隐式、约束优于约定"的工程哲学。对于追求可解释性、可审计性的 Agent 系统,它是优于向量数据库记忆方案的结构性选择。建议在个人项目、POC 验证、隐私优先场景中优先采用,生产环境大规模部署前需补充 SQLite 后端与并发控制。