类型化知识图谱,用于结构化智能体记忆和可组合技能。适用于创建/查询实体(人员、项目、任务、事件、文档),链接关系时使用。
Ontology : A 键入词汇+约束系统,用于将知识作为可验证的图表来表示.
功能概述
Ontology : A 键入词汇+约束系统,用于将知识作为可验证的图表来表示.是一项面向实际任务的技能,主要用于Core Conception.;Everything is a entities with a type , professionals, 以及和其他实体的关系。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
本体(Ontology)
一种带类型的词汇表 + 约束系统,用于将知识表示为可验证的图结构。
核心概念
所有事物均为一个实体(entity),具有类型(type)、属性(properties)以及与其他实体的关系(relations)。每次变更(mutation)在提交前均需通过类型约束校验。
Entity: { id, type, properties, relations, created, updated }
Relation: { from_id, relation_type, to_id, properties }
适用场景
| 触发条件 | 对应操作 |
|---|---|
| “记住……” | 创建/更新实体 |
| “关于 X,我知道哪些信息?” | 查询图谱 |
| “将 X 与 Y 关联起来” | 创建关系 |
| “显示项目 Z 的所有任务” | 图遍历 |
| “哪些内容依赖于 X?” | 依赖性查询 |
| 规划多步骤工作 | 建模为图变换操作 |
| 技能需共享状态 | 读写本体对象 |
核心类型
# 代理与人员
Person: { name, email?, phone?, notes? }
Organization: { name, type?, members[] }
# 工作
Project: { name, status, goals[], owner? }
Task: { title, status, due?, priority?, assignee?, blockers[] }
Goal: { description, target_date?, metrics[] }
# 时间与地点
Event: { title, start, end?, location?, attendees[], recurrence? }
Location: { name, address?, coordinates? }
# 信息
Document: { title, path?, url?, summary? }
Message: { content, sender, recipients[], thread? }
Thread: { subject, participants[], messages[] }
Note: { content, tags[], refs[] }
# 资源
Account: { service, username, credential_ref? }
Device: { name, type, identifiers[] }
Credential: { service, secret_ref } # 禁止直接存储密钥
# 元信息
Action: { type, target, timestamp, outcome? }
Policy: { scope, rule, enforcement }
存储
默认路径:memory/ontology/graph.jsonl
{"op":"create","entity":{"id":"p_001","type":"Person","properties":{"name":"Alice"}}}
{"op":"create","entity":{"id":"proj_001","type":"Project","properties":{"name":"Website Redesign","status":"active"}}}
{"op":"relate","from":"proj_001","rel":"has_owner","to":"p_001"}
可通过脚本或直接文件操作进行查询;对于复杂图谱,建议迁移至 SQLite。
仅追加规则(Append-Only Rule)
在处理已有本体数据或模式时,应追加/合并(append/merge)变更,而非覆盖文件。此举可保留历史记录,并避免覆盖先前定义。
工作流
创建实体
python3 scripts/ontology.py create --type Person --props '{"name":"Alice","email":"alice@example.com"}'
查询
python3 scripts/ontology.py query --type Task --where '{"status":"open"}'
python3 scripts/ontology.py get --id task_001
python3 scripts/ontology.py related --id proj_001 --rel has_task
关联实体
python3 scripts/ontology.py relate --from proj_001 --rel has_task --to task_001
校验
python3 scripts/ontology.py validate # 检查全部约束
约束定义
在 memory/ontology/schema.yaml 中定义:
types:
Task:
required: [title, status]
status_enum: [open, in_progress, blocked, done]
Event:
required: [title, start]
validate: "end >= start if end exists"
Credential:
required: [service, secret_ref]
forbidden_properties: [password, secret, token] # 强制间接引用
relations:
has_owner:
from_types: [Project, Task]
to_types: [Person]
cardinality: many_to_one
blocks:
from_types: [Task]
to_types: [Task]
acyclic: true # 禁止循环依赖
技能契约(Skill Contract)
使用本体的技能应在声明中明确:
# 在 SKILL.md 前置元数据(frontmatter)或标题中
ontology:
reads: [Task, Project, Person]
writes: [Task, Action]
preconditions:
- "Task.assignee 必须存在"
postconditions:
- "新创建的 Task 的 status 字段值为 open"
将规划建模为图变换
将多步骤计划建模为一系列图操作:
计划:"安排团队会议并创建后续任务"
1. CREATE Event { title: "Team Sync", attendees: [p_001, p_002] }
2. RELATE Event -> has_project -> proj_001
3. CREATE Task { title: "Prepare agenda", assignee: p_001 }
4. RELATE Task -> for_event -> event_001
5. CREATE Task { title: "Send summary", assignee: p_001, blockers: [task_001] }
每一步操作执行前均进行校验;若违反约束,则回滚。
集成模式
与因果推理(Causal Inference)集成
将本体变更日志作为因果动作记录:
# 创建或更新实体时,同步记录至因果动作日志
action = {
"action": "create_entity",
"domain": "ontology",
"context": {"type": "Task", "project": "proj_001"},
"outcome": "created"
}
跨技能通信
# 邮件技能创建承诺(Commitment)
commitment = ontology.create("Commitment", {
"source_message": msg_id,
"description": "Send report by Friday",
"due": "2026-01-31"
})
# 任务技能接收该承诺
tasks = ontology.query("Commitment", {"status": "pending"})
for c in tasks:
ontology.create("Task", {
"title": c.description,
"due": c.due,
"source": c.id
})
快速开始
# 初始化本体存储目录
mkdir -p memory/ontology
touch memory/ontology/graph.jsonl
# 创建模式(可选,但推荐)
python3 scripts/ontology.py schema-append --data '{
"types": {
"Task": { "required": ["title", "status"] },
"Project": { "required": ["name"] },
"Person": { "required": ["name"] }
}
}'
# 开始使用
python3 scripts/ontology.py create --type Person --props '{"name":"Alice"}'
python3 scripts/ontology.py list --type Person
参考文档
references/schema.md— 完整类型定义与约束模式references/queries.md— 查询语言与图遍历示例
指令作用域说明
运行时指令操作本地文件(memory/ontology/graph.jsonl 和 memory/ontology/schema.yaml),并提供 CLI 接口用于 create/query/relate/validate 操作;该范围属于本规范覆盖范畴。该技能将读写 workspace 文件,并在首次使用时自动创建 memory/ontology 目录。校验涵盖属性必填项、枚举值、禁用属性检查;关系类型与基数(cardinality)校验;对标注 acyclic: true 的关系执行无环性(acyclicity)检查;以及 Event 类型中 end >= start 的时间逻辑校验。其余更高层级的约束若未在代码中实现,则仍仅为文档说明性质。
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章