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 的关系集成机制
MCPAI ↔ 工具ICP 描述人机语义,MCP 执行工具调用skills.protocol: "mcp"
A2AAI ↔ AIICP 描述人机语义,A2A 协调代理协作skills.protocol: "google-a2a"
OpenAPI客户端 ↔ 服务ICP 描述人机语义,OpenAPI 定义服务接口skills.protocol: "openapi"
JSON-LD数据 ↔ 语义网络ICP 描述交互语义,JSON-LD 链接领域知识concepts.uri 引用

核心立场:ICP 是人机交互的语义描述层,与上述协议互补而非替代。每个协议在自己擅长的领域发挥作用,ICP 在它们之间提供面向人的统一语义接口。