Skip to content

Carrier 视觉接受(Carrier Visual Acceptance)

Carrier 是渲染具身化(embodiment)的宿主表面。Carrier 视觉接受契约决定一份给定的具身化能不能在一个给定的 Carrier 上被显示。它是"这个 Agent 能不能在这里显示出来"的准入关卡。

Carrier 接受契约决定什么

判断结果
具身化匹配 Carrier 的强类型契约准入并渲染
具身化超出 Carrier 的契约拒绝,或退回到一个准入的退化呈现
具身化结构非法拒绝并返回强类型错误
具身化触犯 Carrier 策略拒绝并返回强类型原因

Carrier 不会默默渲染半个版本。契约说了算,结果只能是准入、退化呈现、拒绝三选一。

为什么由 Carrier 来决定

如果具身化可以在任何地方渲染,一份为桌面 Carrier 设计的高细节包,可能会把一台受限的移动 Carrier 拖垮;为某一种后端设计的包,可能会被尝试渲染到另一种后端上。

Carrier 视觉接受契约就是每个 Carrier 自己声明能承载什么。具身化要么匹配,要么不匹配;平台把这件事做成强类型的判断。

场景:在受限 Carrier 上加载一份重型具身化

用户安装了一份动作丰富的具身化包,想在受限的 Carrier 上查看(比如低功耗设备)。

  1. Carrier 声明自己的契约:支持的后端、动作复杂度档位、资源大小上限。
  2. 读取具身化包:包内声明的需求条件。
  3. 接受度评估:Carrier 视觉接受契约做对比。
  4. 判定为退化呈现:完整的具身化超出 Carrier 的档位,契约决定退回到一个准入的退化呈现(例如静态或简化版本)。
  5. 用户看到退化呈现:附带强类型原因——"当前设备不支持这份具身化的完整动作档位"。

退化呈现是被准入的,不会有"半渲染"的意外。

场景:Carrier 拒收后端不匹配的具身化

具身化只支持 Live2D,Carrier 只支持 VRM。

  1. 接受度评估:Live2D 具身化对上 VRM-only 的 Carrier。
  2. 拒收:后端不匹配,不予准入。
  3. 强类型错误:"当前 Carrier 不支持 Live2D 后端。"
  4. 不做半渲染:Carrier 不会尝试把 Live2D 套进 VRM 空间。

后端通过判别联合(discriminated union)来表达,使得这种不匹配在任何渲染尝试之前就能被识别出来。

场景:会话进行中具身化被更新

创作者在用户正在查看 Agent 的过程中,更新了具身化包。

  1. 新具身化送达:通过准入的更新通道。
  2. Carrier 重新评估:接受度契约对新版本做核对。
  3. 如准入:Carrier 在准入的过渡契约范围内平滑切换。
  4. 如未准入:Carrier 保留旧版本,或进入 degraded:embodiment-incompatible 状态。
  5. 用户看到状态:要么是新具身化,要么是一个强类型的降级状态。

创作者的更新不会悄悄打断用户的会话。

Acceptance 不做的事

关注点不做的原因
决定 Agent 的身份身份是 Realm 的规范态;Carrier 只接受视觉
修改具身化包Carrier 是读方;包由创作者发布
在准入档位之外渲染契约的上限是显式的

来源依据

Nimi AI open world platform documentation.