Skip to content

委派能力

Runtime 拥有外部 AI 宿主(另一个 AI Provider、一个挂着 MCP 工具的 Agent、一个未来的 A2A peer)在平台上动手所必经的闸口与输出 firewall。这页讲委派的 Runtime 侧。产品侧框架见 Platform → AI Last MilePlatform → Agents → 外部 Agent

委派 Session

外部 AI 想动作时,Runtime 给它开一段委派 session。Session 有类型化身份、信任 tier、策略快照、明确的生命周期。

性质
身份类型化的外部 principal id
信任 tierCONTROLLED_LOCAL / USER_ADDED_REVIEWED / ORG_MANAGED / BLOCKED
策略快照Session 打开时冻结
生命周期`OPEN → PAUSED_FOR_APPROVAL → CLOSING → CLOSED

信任 tier 决定策略快照的形状。审批要求、敏感度阈值、隔离触发条件都从信任 tier 读。

Provider 生命周期

外部 Provider 生命周期在 Runtime 里准入:

状态含义
REGISTEREDProvider 已被准入
DISCOVERING能力探测中
READYProvider 健康可达
DEGRADED可达但可靠性下降
DISABLED显式禁用
QUARANTINED因漂移或策略违规被隔离
REMOVED已移除

如果某个 Provider 在 session 中途漂移(descriptor hash 变了),Runtime 自动把它搬到 QUARANTINED。漂移之后没有静默继续。

类型化委派请求

外部 AI 发来的是类型化委派请求:

请求用途
OBSERVE报告一条观察
QUERY提出一个类型化的问题
SUGGEST_INTENT建议一个意图
SUGGEST_TOOL_REQUEST建议一次工具调用
SUGGEST_PRESENTATION建议一次呈现更新
CREATE_ARTIFACT建议产出一份 artifact
CONTROLLED_TEST跑一次受控、被沙盒化的测试

这些都只是建议或观察,不是动作。 结果是被隔离的证据,不会直接修改状态。

输出 Firewall

外部请求的结果不是动作。它是被隔离的证据,要先过 输出 firewall 才能被 Runtime 采用。

Firewall 校验:

检查干什么
Schema结果是否匹配它声明的形状
来源这条结果来自哪里
Descriptor hashprincipal 声明的能力是否还跟当前行为匹配
敏感度分类USER_PRIVATE / CREDENTIAL_LIKE / ORG_PRIVATE / REGULATED / UNKNOWN_SENSITIVE
Prompt poisoning这条结果是否被有意构造来操纵下游
流式 chunk 完整性在完整信封被准入前隔离流式 chunk

Firewall 是 fail-close 准入。任一项不过的,都不放行。

Firewall 裁定

Firewall 发出以下之一:

裁定含义
ACCEPTED_OBSERVATIONRuntime 可以拿来当上下文用
ACCEPTED_SUGGESTIONRuntime 自己决定下一步动作、求审批、还是无视
APPROVAL_REQUIRED必须用户审批才能继续
QUARANTINED留下不进一步使用
REJECTED直接拒掉
PROVIDER_DRIFTEDDescriptor hash 不匹配;session 隔离
SCHEMA_INVALIDSchema 校验失败
POLICY_BLOCKED信任 tier 或策略不允许

裁定对用户可见(在审批弹窗中),对审计 ledger 可见(在 lineage 记录里)。

动作的二次授权

被建议的工具调用永不直接执行。Runtime 二次授权后发出一个 Runtime 拥有的动作,带独立审计 lineage。

步骤所有者
1. 外部 AI 提议(如 SUGGEST_TOOL_REQUEST外部 AI
2. 输出 firewall 校验Runtime
3. 通过后 Runtime 出手Runtime
4. 动作的审计 lineage 引用原始建议Runtime 审计

动作归 Runtime 拥有,不归外部 AI。来源是必填的;外部 AI 没法绕过去直接进数据面。

委派审批

当 firewall 裁定是 APPROVAL_REQUIRED 时,用户(或策略下准入的审批人)必须审批,动作才继续。审批作为证据记下来。

审批流Runtime
审批请求通过桌面端面向用户呈现
审批决定记到 session 上
恢复Session 从 PAUSED_FOR_APPROVAL 恢复

委派 MCP 适配器

Runtime 把 MCP(Model Context Protocol)工具准入为一种特定的委派能力。MCP 适配器有自己的生命周期:

性质
工具发现受 MCP 适配器合同约束
白名单工具必须先白名单才能用
Token 卫生按 session 轮换 token
闸口证据隔离所有工具调用先按隔离证据处理

MCP 适配器不允许预 firewall 消费 — 每次工具调用都过输出 firewall。

委派 A2A(未来)

A2A(Agent-to-Agent)协议被准入为未来接缝。今天没有生产级 A2A 支持;接缝先准入,是为了防止 App / 桌面端 / Avatar / mod 用旁路捷径,将来跟真 A2A 撞车。

性质
生产支持
协议权威升格禁止
旁路禁止

审计与重放

每次委派请求、每条 firewall 裁定、每个动作、每个审批,都被记到 K-AUDIT-* 之上的委派审计 / 重放扩展。

Lineage 元素用途
Suggestion id链回原始委派请求
Firewall verdict记下 firewall 决定
Approval decision记下用户 / 审批人决定
Action lineage链到 Runtime 拥有的动作

重放可以重建整条链。没有静默捷径。

阅读场景:外部 AI 建议一次工具调用

  1. 建议到达。 外部 AI 发 SUGGEST_TOOL_REQUEST,带类型化工具 descriptor。
  2. Firewall 校验。 Schema、来源、descriptor hash、敏感度、prompt poisoning。
  3. 裁定。 敏感度是 USER_PRIVATE;信任 tier 是 USER_ADDED_REVIEWED;裁定 APPROVAL_REQUIRED
  4. 审批弹窗。 桌面端面向用户呈现审批请求。
  5. 用户同意。 审批被记下。
  6. Runtime 动手。 Runtime 在自己的审计 lineage 下执行类型化工具动作。
  7. 审计链。 Lineage 串起 suggestion → verdict → approval → action。

外部 AI 没有直接按下工具。Runtime 替用户按下了。

阅读场景:Provider 漂移导致 Session 被隔离

  1. Session 在线。 外部 AI 处于 OPEN
  2. Session 中途 descriptor 变了。 Provider 工具 descriptor hash 跟 session 打开时不一样。
  3. Firewall 检测漂移。 裁定 PROVIDER_DRIFTED
  4. Provider 生命周期。 Provider 状态搬到 QUARANTINED
  5. Session 进入 PAUSED_FOR_APPROVALCLOSING,由策略决定。
  6. 用户看到原因。 "Provider X 的 descriptor 在 session 中变了。"
  7. 没有静默继续。 平台不会假装漂移没发生。

来源

Nimi AI open world platform documentation.