核心功能
Ontology 是一个类型化的知识图谱系统,将一切信息建模为带类型的实体(Entity)及其关系(Relation)。它提供声明式的约束验证(属性必填、枚举值、关系基数、无环依赖),并支持将多步骤规划表达为图变换序列。
显著优势
- 强类型约束:在数据层面强制执行业务规则(如任务状态枚举、截止日期合法性、循环依赖阻断)
- 跨技能状态共享:通过统一的实体ID和关系网络,实现Email、Task、Calendar等技能间的数据互通
- 可验证的规划:将"创建会议→关联项目→生成后续任务"等复杂流程拆解为原子操作,每步预验证、失败可回滚
- 纯本地运行:零网络依赖,数据以append-only JSONL格式存储,天然支持审计追溯
- 供应链安全:仅依赖Python标准库,无第三方包引入的CVE风险
潜在局限
- 查询能力有限:复杂图遍历(多跳关系、路径搜索)需用户自行实现或迁移至SQLite
- 无内置并发控制:多进程同时写入graph.jsonl可能产生冲突,需外部协调
- schema演进成本:类型定义变更后,历史数据不会自动迁移,需人工处理
- 规模天花板:JSONL格式在万级实体后查询性能下降,不适合大规模图谱
适合人群
- 需要结构化记忆的个人Agent用户("记住Alice负责Q3项目,她的任务阻塞了发布")
- 构建多技能工作流的开发者(邮件承诺自动转任务、日历事件驱动项目更新)
- 重视数据可审计性的合规场景(append-only日志满足溯源需求)
常规风险
- 数据孤岛风险:若未定期备份
memory/ontology/目录,工作区重置将导致图谱丢失 - 约束绕过可能:schema.yaml中的部分约束(如自定义validate规则)仅为文档说明,实际强制执行依赖代码实现
- 误操作不可逆:虽然支持append-only,但错误的
relate操作会产生脏关系数据,需手动清理