Skip to content

运行时控制 Profiles

运行时控制 profiles 是 NNRP 的标准 profile。它们定义取消、优先级、deadline、部分结果、背压、缓存引用、路由提示和 trace context 等小型控制帧,让宿主不需要再把这些信号包进 JSON 或另一个应用层协议里。

这些 profile 和 tensortoken 一样属于标准 profile 注册表。实现不得把它们当成私有扩展名字。

阅读路径

  1. 先看 取值注册表,确认 code、role、object kind、cache scope 和 flag mask 的冻结取值。
  2. 再看 控制帧 Metadata,覆盖取消、调度、背压、路由提示、trace context 和 drop reason。
  3. 最后看 对象与缓存 Metadata,覆盖运行时对象声明、对象引用、对象 delta、释放和缓存引用。

Profile 注册表

profile_idProfile范围
0x0100runtime.controlOperation 控制帧、调度更新、压力信号、路由提示、trace context 与 drop reason。
0x0101runtime.object运行时对象声明、对象引用、对象 delta、释放语义、成本元数据与所有权元数据。
0x0102cache.reference缓存引用、缓存未命中、失效、lease anchor、复用范围与 miss 诊断。
0x0103coding.agentSubagent 调度提示、工具 artifact 路由、任务取消与执行偏好。
0x0104multimodal.artifact图像、音频、视频、文档和工具 artifact 的类型化描述与部分结果流。
0x0105render.runtime帧 deadline、局部区域结果、supersession、渲染阶段 trace context 与 drop reason。

帧类型注册表

Preview4 控制帧和对象帧扩展 NNRP/1 message type 注册表。公共头仍然是 40 字节;下列每个帧定义自己的固定 metadata 布局。

编号方向Profile固定 metadata
0x30CANCELC -> S 或 S -> Cruntime.controlControl Request Metadata
0x31ABORTC -> S 或 S -> Cruntime.controlControl Request Metadata
0x32PRIORITY_UPDATEC -> S 或 S -> Cruntime.controlScheduling Metadata
0x33DEADLINEC -> S 或 S -> Cruntime.controlScheduling Metadata
0x34EXPIRE_ATC -> S 或 S -> Cruntime.controlScheduling Metadata
0x35SUPERSEDEC -> S 或 S -> Cruntime.controlSupersede Metadata
0x36BUDGET_UPDATEC -> S 或 S -> Cruntime.controlBudget Metadata
0x37PROGRESSS -> C 或 C -> Sruntime.controlProgress Metadata
0x38PARTIAL_RESULTS -> C 或 C -> Sruntime.controlPartial Result Metadata
0x39BACKPRESSUREC -> S 或 S -> Cruntime.controlPressure Metadata
0x3ACREDIT_UPDATEC -> S 或 S -> Cruntime.controlPressure Metadata
0x3BCAPABILITY_NEGOTIATIONC -> S 或 S -> Cruntime.controlCapability Metadata
0x3CDEGRADE_PROFILEC -> S 或 S -> Cruntime.controlCapability Metadata
0x3DROUTE_HINTC -> S 或 S -> Cruntime.controlRoute Hint Metadata
0x3EEXECUTION_HINTC -> S 或 S -> Cruntime.controlRoute Hint Metadata
0x3FTRACE_CONTEXTC -> S 或 S -> Cruntime.controlTrace Context Metadata
0x40RESULT_DROP_REASONC -> S 或 S -> Cruntime.controlResult Drop Metadata
0x41OBJECT_DECLAREC -> S 或 S -> Cruntime.objectObject Descriptor Metadata
0x42OBJECT_REFC -> S 或 S -> Cruntime.objectObject Reference Metadata
0x43OBJECT_RELEASEC -> S 或 S -> Cruntime.objectObject Release Metadata
0x44OBJECT_PATCHC -> S 或 S -> Cruntime.objectObject Delta Metadata
0x45OBJECT_DELTAC -> S 或 S -> Cruntime.objectObject Delta Metadata
0x46CACHE_REFERENCEC -> S 或 S -> Ccache.referenceCache Reference Metadata
0x47CACHE_MISSC -> S 或 S -> Ccache.referenceCache Miss Metadata
0x48ERROR_RECOVERABLEC -> S 或 S -> Cruntime.controlRecoverable Error Metadata
0x49RETRY_AFTERC -> S 或 S -> Cruntime.controlRetry After Metadata

CACHE_INVALIDATE 保持已有 NNRP/1 message type;当它作为本 profile 的一部分使用时,必须声明 cache.reference 能力。

能力 token

能力 token
control.cancel_abortCANCEL, ABORT
control.supersedeSUPERSEDE
control.priority_updatePRIORITY_UPDATE
control.deadline_expireDEADLINE, EXPIRE_AT
control.progress_partialPROGRESS, PARTIAL_RESULT
control.credit_backpressureBACKPRESSURE, CREDIT_UPDATE
control.capability_costsCAPABILITY_NEGOTIATION, DEGRADE_PROFILE
control.route_execution_hintROUTE_HINT, EXECUTION_HINT
control.trace_contextTRACE_CONTEXT
control.result_drop_reasonRESULT_DROP_REASON
control.recoverable_errorERROR_RECOVERABLE, RETRY_AFTER
object.lifecycleOBJECT_DECLARE, OBJECT_REF, OBJECT_RELEASE
object.deltaOBJECT_PATCH, OBJECT_DELTA
object.cost对象描述符成本字段
object.ownership对象描述符所有权字段
cache.referenceCACHE_REFERENCE, CACHE_MISS, CACHE_INVALIDATE

NNRP Documentation