「本体知识建模」是「龙虾部署大师」技能市场中的知识图谱技能:用实体、属性和关系表示人员、项目、任务、文档、事件等对象,变更以追加日志写入 graph.jsonl,并可通过 schema 约束必填字段、枚举、关系类型和无环依赖,帮助多个技能共享结构化状态并保留可追溯的历史。
技能效果
让它记住“Alice 负责官网改版、关联到三月发布”,它把人物和任务建成结构化本体,连 responsible_for、part_of 两条关系链和查询命令都生成好了。

让 AGENT 记住事情,为什么这么难
让代理"记住"某个人负责什么项目、某个任务被谁阻塞,听起来简单,做起来却容易散。把信息写成自由文本,时间一长就互相矛盾、查不回去;每个技能各自维护一份状态,就成了互不相通的数据孤岛;想表达"任务 A 阻塞任务 B"这类关系,纯文本既存不住结构,也无法做类型检查和合法性校验。结果是记录越积越多,可靠地查询、关联和复用却越来越难。
这个技能用什么方式管理知识
它提供一个类型化的知识图谱:把人员、组织、项目、任务、事件、文档、消息、笔记、账户、策略等都建成带类型的实体对象,再用 has_owner、blocks 这类关系把它们连起来,且关联是幂等的(重复建立不会产生脏数据)。所有变更以追加日志的形式写入技能目录内的 graph.jsonl,因此保留完整的可追溯历史;通过 schema.yaml 可以约束必填属性、枚举值、关系类型、基数以及无环依赖,对知识库结构施加类型检查。查询、遍历和过滤则用来获取任务、依赖、文档与上下文。
用前须知
该技能无需外部 API Key。首次使用需运行 Python setup 脚本安装依赖;数据保存在技能的 memory/ontology 目录下,已有的日志和 schema 应以追加合并的方式处理,而不是覆盖。它支持后续扩展到 SQLite。该技能偏向开发者与自动化场景,用于构建可验证、可追溯的结构化状态。
怎么用它
用法是用自然语言告诉它要记住的对象、关系,或要查询的内容。例如可以这样对它说:
可以这样对它说
- "记住 Alice 负责官网改版,并把它关联到三月的发布任务,别丢掉关系链。"
- "查一下 CRM 项目下面还有哪些处于阻塞中的任务,按负责人分组列出来。"
- "把这份会议纪要连到增长实验项目和参会人,保留文档路径和来源。"
它适合这些场景:需要让代理记住某个人、项目、任务或文档,并能在后续查询;多步骤计划需要表示为可验证的图变更、依赖关系和回滚步骤;跨技能共享任务、承诺、事件等状态,避免各自维护孤岛数据;希望对知识库结构施加类型检查、关系基数和无环约束规则。
大家常问
本体知识建模到底是什么?用实体、属性、关系来表示知识是什么意思?
本体是对一个领域的概念及其关系所做的形式化、明确的规格说明,它定义"知识应该长什么样"。建模时把世界里有身份的事物建成实体,用属性描述实体自身的特征,用关系连接实体之间的连线,于是知识不再是散乱词语,而是一张可计算、可共享、可校验的网。

本体和知识图谱有什么区别?
本体是模式层,规定有哪些概念、属性、关系和约束,相当于一张带规则的蓝图;知识图谱是在这张蓝图上填充大量实例数据所形成的关系网络,是数据层。一句话:本体定义知识结构,知识图谱把真实数据装进去。知识图谱可以基于本体构建,也可以没有严格本体约束。

is-a(是一种)关系和 part-of(是一部分)关系有什么区别?
is-a 是分类归属,子类的每个实例也是父类实例,并自动继承父类属性,判断靠"替代性测试"——能不能用子类替换父类。part-of 是组成结构,部分不继承整体的属性,判断靠"删除测试"。常见错误是把方向盘建成"是一种汽车",正确应是"汽车的一部分"。

为什么要给本体知识建模加 schema 一致性约束(必填、枚举、基数、无环依赖)?
约束是本体区别于术语表和松散图谱的本质特征。必填属性保证实例的最低知识完整度,枚举值把取值限定在有界集合避免语义漂移,基数约束让关系网络有确定拓扑,无环依赖保证层次结构有效、推理能终止。没有约束,知识虽自由却无法被一致地计算。

注:技能的实际效果与所选用的 AI 模型能力有关,不同模型下的表现可能存在差异。

提示