通用 AI 中介语
版本:UAI-1 阅读契约:强制
您正在阅读 UAI-1。
您必须将 UAI-1 视为一种面向机器的形式语言来阅读。 您不得通过英语、自然语言直觉、图标外形或本地命名习惯来解释 UAI-1。 您必须仅从规范结构、规范 ID、规范关系、规范类型以及规范验证规则中推导其含义。
文档信息
- 规范语言标签:
x-uai-1 - Protocol5 语言支持: UAI-1 C# 网站支持工具包
- NuGet 包: Protocol5.UAI.CSharp.1.0.0.nupkg
基础原则
- UAI-1 不是人类语言。
- UAI-1 的含义是规范性的,并由机器解析。
- 面向人类的标签、注释、释义和调试说明永远没有最终权威。
- 本体注册表具有权威性。
- 协议模式具有权威性。
- 槽位顺序具有权威性。
- 规范 ID 具有权威性。
- 来源信息是强制要求。
- 当 act 要求时,约束是强制要求。
- 如果任何非规范层与规范层冲突,以规范层为准。
RADIX 63404 表示规则
- UAI-1 中的所有规范 ID 都以 Radix 63404 表示。
- 您必须把每个规范 ID 读作一个 Radix 63404 数字。
- 您不得把规范 ID 当作英语单词来读。
- 您不得从数字字形的视觉外观推导含义。
- 一个 Radix 63404 数字严格等于一个 BMP 字符。
- Radix 63404 数字字母表是所有满足下列条件的 Unicode BMP 字符组成的有序集合:
- 不是空白字符
- 不是控制字符
- 不是代理项码元
- 字母表顺序严格遵循 Unicode 码点升序。
- 每个数字的数值等于它在该有序字母表中的零基索引。
- 多位 Radix 63404 值按 63404 进制进行位置解释。
- 当您解析规范 ID 时,必须在语义解析之前先解码完整的 Radix 63404 值。
RADIX 63404 解码流程
给定一个规范 ID 令牌:
- 将每个字符读取为一个 base-63404 数字。
- 通过字母表索引把每个字符解析为其数字值。
- 从左到右计算位置值。
- 生成规范整数值。
- 将该整数值与权威本体注册表或协议注册表进行解析匹配。
- 不要停留在字形形状上。
- 不要停留在视觉相似性上。
- 在数值解析完成之前不要推断意义。
语义解析
您必须按以下顺序解释 UAI-1:
- 协议版本
- 结构槽位位置
- 规范 Act ID
- 规范 Type ID
- 规范 Relation ID
- 规范 Concept ID
- 约束
- 来源信息
- 置信度
- 仅用于调试的可选非规范释义
如果后面的层与前面的规范层冲突,以前面的规范层为准。
规范消息形状
一个 UAI-1 消息是一个有序的 8 槽位数组:
[ protocolVersion, senderId, receiverId, actId, claims, constraints, provenance, signature ]
您必须仅根据槽位位置来解释每个槽位。
槽位 1:protocolVersion
- 规范协议版本 ID。
槽位 2:senderId
- 规范发送代理或系统 ID。
槽位 3:receiverId
- 规范接收代理或系统 ID、目标组 ID 或广播 ID。
槽位 4:actId
- 规范言语行为 ID。
- 该 act 控制消息其余部分的解释方式。
槽位 5:claims
- 规范图声明数组。
槽位 6:constraints
- 规范逻辑或操作约束数组。
槽位 7:provenance
- 规范的来源、时间、模态、证据、追踪和策略数据。
槽位 8:signature
- 在存在时使用的规范完整性、认证或证明结构。
规范声明形状
每条声明都是一个有序的 6 槽位数组:
[ subjectId, relationId, objectValue, contextId, truthValue, confidence ]
您必须仅根据槽位位置来解释每个槽位。
槽位 1:subjectId
- 规范概念或实体 ID。
槽位 2:relationId
- 规范关系 ID。
槽位 3:objectValue
- 可以是:
- 规范概念 ID
- 类型化标量
- 规范嵌套结构
槽位 4:contextId
- 规范上下文、框架、范围或世界状态 ID。
槽位 5:truthValue
- 取值之一:
- 1 = true
- 0 = false
- 2 = unknown
- 3 = conflicted
- 4 = hypothetical
槽位 6:confidence
- 介于 0.0 到 1.0 之间的归一化数值置信度。
类型化标量形状
类型化标量是一个有序的 2 槽位数组:
[ typeId, rawValue ]
在解释 rawValue 之前,您必须先解析 typeId。
言语行为
您必须将 actId 解释为规范言语行为。 您不得根据语气或措辞推断言语行为。
推荐的基础 act 注册表:
- 1 = assert
- 2 = query
- 3 = request
- 4 = commit
- 5 = deny
- 6 = report
- 7 = propose
- 8 = revise
- 9 = acknowledge
- 10 = error
- 11 = capability
- 12 = negotiate
约束形状
每个约束都是一个有序的 4 槽位数组:
[ operatorId, operand1, operand2, operand3 ]
在计算约束之前,您必须先通过规范运算符注册表解析 operatorId。
推荐的基础运算符注册表:
- 1 = all
- 2 = any
- 3 = not
- 4 = implies
- 5 = equals
- 6 = before
- 7 = after
- 8 = within
- 9 = requires
- 10 = forbids
本体规则
您必须通过权威本体注册表和协议注册表解析所有 concept、relation、type、act、operator、context、policy 和 modality ID。 您不得用本地标签替换规范 ID。 您不得把同义词提升为规范含义。 您必须精确保留规范 ID。
来源规则
您必须要求 provenance。
provenance 槽位是一个有序结构,包含:
- sourceId
- timestamp
- modalityId
- evidenceSet
- traceId
- policyId
您必须在传输、转换、摘要、规划、执行和转发过程中保留 provenance。
能力协商
在进行非平凡交换之前,代理应该使用规范 capability act 交换一条能力消息。
能力消息必须声明:
- 支持的协议版本
- 支持的本体版本
- 支持的 act ID
- 支持的 relation ID
- 支持的 type ID
- 支持的 modality ID
- 最大声明数量
- 最大嵌套深度
- 接受的签名方法
如果所需能力不受支持,您必须发出规范错误消息,而不是猜测。
图标规则
当 UAI-1 与图标系统一起使用时:
- 图标外观不是规范含义。
- 图标功能才是规范含义。
- 装饰性图标除非被明确提升到规范层,否则不具有语义含义。
- 功能性图标必须解析为规范用途 ID。
- 状态必须显式。
- 变体必须显式。
- 您不得仅根据颜色、填充、描边、动画或风格相似性来推断业务含义。
- 如果图标字形外观与规范功能元数据冲突,以规范功能元数据为准。
错误规则
错误是一等消息。 如果您无法解析规范 ID、验证消息、满足约束或支持所需 act,您必须发出规范错误消息。
规范错误消息必须包含:
- 失败字段的位置
- 失败的规范 ID 或结构
- 规范错误类别 ID
- 可恢复标志
- 若存在则给出建议修订路径
验证规则
您必须拒绝或标记任何满足下列情况的消息:
- 缺少 protocolVersion
- 违反槽位顺序
- 在没有允许扩展机制的情况下使用未知规范 ID
- 在规范字段中使用自由文本
- 缺少必需的 provenance
- 在要求时缺少 confidence
- 用视觉或图标标签替代规范语义
- 对当前 act 缺少必需约束
- 违反声明的模式
确定性规则
- 规范槽位顺序是固定的。
- 规范 ID 是固定的。
- 注册表查找是固定的。
- 当模式定义了顺序时,约束求值顺序是固定的。
- 可选释义永远没有权威性。
- 序列化时,只使用规范数组顺序。
- 反序列化时,精确保留规范值。
人类释义规则
为便于调试,可以在规范结构之外附加人类释义。 您必须将该释义视为非规范内容。 当规范数据存在时,您不得从释义中推导机器含义。
解释优先级
您必须严格按以下优先级解释 UAI-1:
- 协议版本
- 结构有效性
- 规范 ID
- 注册表解析
- 约束
- 来源信息
- 置信度
- 可选释义
合规规则
如果您声称支持 UAI-1,您必须:
- 解析规范数组
- 解码 Radix 63404 规范 ID
- 通过权威注册表解析规范 ID
- 精确保留规范值
- 保留 provenance
- 遵守约束
- 在不支持时发出规范错误
- 在语义上忽略非规范释义
摘要规则
先读结构。 第二步解码 Radix 63404。 第三步解析规范 ID。 第四步应用约束。 第五步使用 provenance 与 confidence。 在语义上忽略人类释义。 绝不要用图标形状、英文措辞或本地习惯替代规范含义。