5 協議邊界定義

📐 5. 協議邊界定義

明確一個協議「做什麼」和「不做什麼」,與定義它「是什麼」同樣重要。本章界定 ICP 的職責範圍,以及它與現有協議生態的互補關係。

ICP 做什麼

  • 定義人機互動中的語義描述格式——為任意媒體內容(文字、圖片、影片、音訊)提供結構化的語境註解格式(.ctx 檔案)

    例如,一段會議錄音可以透過 .ctx 檔案標註每個發言者的身份、討論的議題、達成的決議,使錄音從「一段音訊」變成「一份結構化的會議記錄」。

  • 提供註解標記系統——在原始內容上疊加結構化語義,而不改變原始內容本身

    例如,在一份產品設計圖上,透過註解標記出「這個按鈕的顏色需要修改」(warning sign + 圖片區域錨點),設計師開啟圖片時直接看到標註位置和修改建議。

  • 管理語境資訊——顯式附加影響理解的環境上下文(參與者、記憶、情境、潛台詞、文化背景)

    例如,老闆說「這個方案再想想」,透過語境註解附加潛台詞「對當前方案不滿意,希望重新設計」,使 AI 能夠準確理解這句話的真實含義。

  • 提供跨終端的中間語言轉換——將語義轉化為標準 JSON 結構,使同一份註解在不同終端上都能被解讀

    例如,同一份帶註解的維修手冊,在工程師的 AR 眼鏡上顯示為空間標註,在辦公室的大螢幕上顯示為步驟列表,在手機上顯示為簡化的操作卡片。

  • 定義反應系統——指導終端在展示註解內容時應做出什麼反應(渲染 UI 元件、呼叫裝置功能、觸發應用動作)

    例如,一段培訓影片中標註了「請在看到產品瑕疵時按下黃色按鍵」,當影片播放到該時間點時,智慧終端上的黃色按鍵自動閃爍提示操作。

ICP 不做什麼

  • 不負責 AI 模型的推理和決策——ICP 描述語義,不執行智能。ICP 告訴 AI「使用者想訂餐廳」,但選哪家餐廳、怎麼推薦是 AI 的事。
  • 不負責終端 UI 框架的具體實作——ICP 說「這裡應該渲染一個表單」,但表單長什麼樣、用什麼前端框架實作,由終端開發者決定。
  • 不負責網路傳輸協議——.ctx 檔案可以透過 HTTP、WebSocket、藍牙、NFC 甚至隨身碟傳輸,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 在它們之間提供面向人的統一語義介面。