5 协议边界定义
📐 5. 协议边界定义
明确一个协议"做什么"和"不做什么",与定义它"是什么"同样重要。本章界定 ICP 的职责范围,以及它与现有协议生态的互补关系。
ICP 做什么
-
定义人机交互中的语义描述格式——为任意媒体内容(文本、图片、视频、音频)提供结构化的语境注解格式(.ctx 文件)
例如,一段会议录音可以通过 .ctx 文件标注每个发言者的身份、讨论的议题、达成的决议,使录音从"一段音频"变成"一份结构化的会议记录"。
-
提供注解标记系统——在原始内容上叠加结构化语义,而不改变原始内容本身
例如,在一份产品设计图上,通过注解标记出"这个按钮的颜色需要修改"(warning sign + 图片区域锚点),设计师打开图片时直接看到标注位置和修改建议。
-
管理语境信息——显式附加影响理解的环境上下文(参与者、记忆、情境、潜台词、文化背景)
例如,老板说"这个方案再想想",通过语境注解附加潜台词"对当前方案不满意,希望重新设计",使 AI 能够准确理解这句话的真实含义。
-
提供跨终端的中间语言转换——将语义转化为标准 JSON 结构,使同一份注解在不同终端上都能被解读
例如,同一份带注解的维修手册,在工程师的 AR 眼镜上显示为空间标注,在办公室的大屏上显示为步骤列表,在手机上显示为简化的操作卡片。
-
定义反应系统——指导终端在展示注解内容时应做出什么反应(渲染 UI 组件、调用设备功能、触发应用动作)
例如,一段培训视频中标注了"请在看到产品瑕疵时按下黄色按键",当视频播放到该时间点时,智能终端上的黄色按键自动闪烁提示操作。
ICP 不做什么
- 不负责 AI 模型的推理和决策——ICP 描述语义,不执行智能。ICP 告诉 AI"用户想订餐厅",但选哪家餐厅、怎么推荐是 AI 的事。
- 不负责终端 UI 框架的具体实现——ICP 说"这里应该渲染一个表单",但表单长什么样、用什么前端框架实现,由终端开发者决定。
- 不负责网络传输协议——.ctx 文件可以通过 HTTP、WebSocket、蓝牙、NFC 甚至 U 盘传输,ICP 不关心传输方式。
- 不负责用户身份认证的具体实现——ICP 可以标记"这段内容仅本人可见"(secret sign),但验证"谁是本人"由系统的认证模块负责。
- 不负责数据持久化存储——.ctx 文件可以存在本地文件系统、云存储、数据库或区块链上,ICP 不规定存储方案。
与互补协议的关系
ICP 不是要替代现有协议,而是在人机交互的语义描述层面与它们互补。以下是 ICP 与主要协议的关系定位:
MCP(Model Context Protocol)
MCP 是 AI 模型与外部工具之间的通信协议,定义了模型如何发现和调用工具。ICP 通过 skills 注册表中的 protocol: "mcp" 绑定与 MCP 桥接。两者的分工是:MCP 负责 AI 与工具的交互,ICP 负责人与 AI 的交互。
例如,用户通过 ICP 告诉 iFay"查一下明天北京的天气",iFay 解析 ICP 文档中的语义和语境后,通过 MCP 调用天气查询工具,再将结果通过 ICP 以适合当前终端的形式呈现给用户。
A2A(Agent-to-Agent Protocol)
A2A 是 AI 代理之间的通信协议,定义了代理如何发现彼此、协商能力和交换信息。ICP 通过 skills 注册表中的 protocol: "google-a2a" 绑定与 A2A 桥接。两者的分工是:A2A 负责代理间协作,ICP 负责代理与人的沟通。
例如,用户的 iFay 需要向一个 coFay(医疗助手)咨询健康建议。iFay 通过 A2A 与医疗 coFay 通信,获取建议后,通过 ICP 将结果以用户友好的方式(如健康卡片、用药提醒按钮)呈现在用户的终端上。
OpenAPI
OpenAPI 定义了 REST API 的接口规范。ICP 通过 skills 注册表中的 protocol: "openapi" 绑定调用 OpenAPI 定义的服务。两者的分工是:OpenAPI 定义服务接口,ICP 定义人机交互语义。
例如,ICP 文档中声明了一个"订餐"技能,绑定到某餐厅平台的 OpenAPI 接口。当用户说"帮我订一家附近的餐厅"时,ICP 负责解析语义和语境,通过 OpenAPI 调用订餐服务,再将结果以动态菜单卡片的形式呈现。
JSON-LD
JSON-LD 是语义网络的链接数据格式,提供了将 JSON 数据与语义网络关联的能力。ICP 的 concepts 字段可以引用 JSON-LD 的 @context 和 @id,实现语义注解与链接数据模型的互通。两者的分工是:JSON-LD 提供语义网络的数据链接,ICP 提供人机交互的语义描述。
例如,ICP 文档中的一个概念引用可以指向 JSON-LD 定义的知识图谱节点,使得 AI 在处理用户请求时能够利用结构化的领域知识。
互补定位总结
| 协议 | 职责 | 与 ICP 的关系 | 集成机制 |
|---|---|---|---|
| MCP | AI ↔ 工具 | ICP 描述人机语义,MCP 执行工具调用 | skills.protocol: "mcp" |
| A2A | AI ↔ AI | ICP 描述人机语义,A2A 协调代理协作 | skills.protocol: "google-a2a" |
| OpenAPI | 客户端 ↔ 服务 | ICP 描述人机语义,OpenAPI 定义服务接口 | skills.protocol: "openapi" |
| JSON-LD | 数据 ↔ 语义网络 | ICP 描述交互语义,JSON-LD 链接领域知识 | concepts.uri 引用 |
核心立场:ICP 是人机交互的语义描述层,与上述协议互补而非替代。每个协议在自己擅长的领域发挥作用,ICP 在它们之间提供面向人的统一语义接口。
