形成产品判断
100%
88 分钟
11
自由组合需要一部可执行的宪法

企业扩展协议:从声明、授权到执行与留证

学完你会:理解一套企业插件/Runtime 协议应包含的身份、能力、权限、状态、证据、兼容和失败语义。

难度 ●●●产品 · 工程
1TaskRun
2admission
3session receipt
4event ledger
5Artifact
6Acceptance
receiptterminalaccepted

协议把消息送达、执行终态和业务验收拆成三种不同证据。

先记住这一句,再开始细读

企业协议不是 JSON schema 的集合,而是让多个团队、Runtime 和客户在版本变化与故障中仍能共同判断事实的制度。

01
DEEP DIVE

执行前:声明和授权必须分开

扩展声明自己能做什么,不等于平台已经同意它做什么。

Definition 声明 capability、输入输出 schema、side-effect class、支持的 repo mode、UI contribution 和所需 permission。Consumer 说明哪个 Pack/Task 在什么目的和 scope 下请求。平台用 Policy 与人类决策产生 Grant。

Capability 和 Permission 不能共用一个字符串数组。图像生成能力可能需要网络与 Provider secret;Artifact Renderer 只需要读取特定 Artifact。把两者压成“image”会让最小授权无法实现。

Admission 还要检查 artifact/closure、配置、模型能力、compatibility matrix、secret ownership、sandbox completeness 和交互批准通道。任何 required fact unknown 时,策略应 fail closed,而不是猜测默认值。

02
DEEP DIVE

执行中:身份、状态和事件必须能对齐

每一次 Run 都要知道实际使用了谁、哪一版、在什么权限下运行。

TaskSpec 可以引用 logical capability key 与期望版本,服务端解析为 opaque binding id,并在 Run 创建时冻结 ExecutionBindingSnapshot。这样业务合同不依赖本地 Provider id,历史 Run 也不会随当前配置改变。

Event ledger 保存 source sequence/cursor 与 Lumi append sequence,prev digest 形成链;payload 有分类和 redaction version;unknown schema 进入 opaque diagnostic。状态机区分 starting、running、idle、degraded、outcome_unknown、terminated。

对于外部动作,使用 canonical idempotency key 和 terminal lifecycle。响应丢失时可以用相同 key 查询或重放,不得创建第二个业务动作。

机制拆解
1解析 logical capability
2冻结 Provider/版本/权限 snapshot
3持久化 Run 与 session ref
4追加双序列事件
5产出 Artifact/Evidence
6等待独立 Acceptance
03
DEEP DIVE

执行后:证据、验收和知识提升

Runtime 结束只是证据链的一环,业务结论属于另一个权威。

ArtifactRevision 保存成果的不可变版本,Evidence 记录生成来源、引用、工具与运行身份。Acceptance 可以 changes_requested、accepted 或 rejected,并绑定精确 revision 与 actor authority。新的重做产生新 Run 与新 revision,不覆盖旧历史。

通过验收的成果可以被人类提升为 Knowledge 或 Skill,但提升是显式动作,不是因为模型回答看起来不错就自动发生。知识需要来源、版本、访问权限和失效条件。

这套分离让平台可以更换 Harness、模型或插件,同时保持业务历史可解释;也让审计者回答“谁在什么信息和权限下接受了哪个版本”。

04
DEEP DIVE

升级、兼容与退出

真正的生态协议必须让旧客户能够安全留在旧版,也能知道何时必须迁移。

发布身份使用 immutable SHA/release、签名 manifest、capability negotiation 和 compatibility matrix。普通 deprecation 至少跨多个已发布 minor 给出窗口;breaking removal 需要显式 major Gate。

升级前对比 capability、permission、schema 和 data migration;在 candidate channel 演练 backup/restore 与 rollback;升级后记录实际 ReleaseIdentity 和验证 receipt。previous-good 必须包含完整 closure 与配置,不能只是旧版本号。

扩展退出时,disposer 清理宿主资源,DispositionReceipt 记录结果;业务数据保留、迁移或归档遵循独立 retention 合同。被卸载的插件不能让历史 Artifact 变得无法解释。

同一个事实,四种职业镜头

你真正要带走的,不只是技术解释

切换身份,看看这项技术会怎样改变战略、产品、工程和长期运营。

创始人镜头

协议让合作伙伴和 FDE 团队并行创新,而公司仍保有客户承诺与升级质量。

离开本章前

四张可以带走的卡片

01

声明不等于授权

02

Run 必须冻结实际执行身份

03

Evidence 与 Acceptance 独立

04

兼容与退出是协议一等公民

理解检查

为什么 TaskSpec 应引用 logical capability,而不是某台机器的 Provider id?

你的判断

把理解变成自己的语言

试着写下:这项机制能解决什么、不能解决什么,以及它会怎样影响你的产品判断。内容只保存在当前浏览器。