iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0

MCP、A2A、Agent Skills、Plugin、WebMCP 這幾個名字經常被放在同一句話裡比較,而它們各自處理的是不同層的問題。以下依序釐清三個問題:這些東西各自標準化了什麼、三種擴充機制的實際差別、以及四個框架的架構取向。


各自標準化了什麼

這幾個名字標準化的對象不同:

標準化的對象 代表
agent 怎麼列出與呼叫工具 MCP
agent 怎麼找到彼此、委派任務、回傳結果 A2A
技能怎麼打包成可攜的資料夾 Agent Skills
網站怎麼把自己的功能開放給 agent WebMCP
怎麼寫出一個 agent ADK、LangGraph、Hermes、OpenClaw

Day05AgentEcosystem

前四項是協定或格式規範,最後一項是實作。一份規範可以同時被多個框架支援,一個框架也會挑幾份規範來實作。


三種擴充機制:Skill、Plugin、MCP server

這三個機制都在回答「怎麼讓 agent 多會一件事」,差別在生效的位置。

Agent Skill

Anthropic 在 2025 年 10 月的文章裡給的定義是:

有組織的資料夾,裝著指令、腳本與資源,agent 可以動態發現並載入,以便在特定任務上表現更好

最小結構是一個資料夾加一個 SKILL.md,YAML frontmatter 必須有 namedescription。關鍵設計是漸進式揭露(progressive disclosure),分三層載入:

  1. 啟動時只把 namedescription 放進 system prompt,讓模型判斷相關性
  2. 判定相關才把完整的 SKILL.md 載入 context
  3. 其餘附帶檔案在執行過程真的需要時才讀

這解釋了 Skill 佔用 context window 的方式,常駐的部分只有第一層,其餘兩層在需要時才載入。

Plugin

這個詞在不同 runtime 指涉的對象不同

runtime plugin 是什麼 內容
Claude Code 安裝與散布的單位 官方定義是「自足的元件目錄」,可打包 skills、agents、hooks、MCP servers、LSP servers、monitors,.claude-plugin/plugin.json 清單可省略
Hermes Agent 程式碼層的擴充 Python 模組,例如自訂的 model provider,行程啟動時載入

在 Claude Code 裡,skill 可以裝進 plugin 一起散布。在 Hermes 裡兩者是不同機制,一個進 context、一個進行程。

MCP server

跨行程的協定介接,工具跑在另一個行程甚至另一台機器,agent 透過 JSON-RPC 呼叫它。

它與前兩者最大的差別在故障邊界

  • Skill 出問題:影響範圍限於模型是否照著內容做
  • Plugin 出問題:runtime 可能啟動失敗
  • MCP server 掛掉:只影響它自己提供的那組工具,agent 其餘部分照常運作

這也是它能跨框架重用的原因,工具側與 agent 側本來就跑在不同行程。

Skill 提供做事的步驟,Plugin 改變 runtime 行為,MCP server 提供外部能力


MCP 與 A2A 的分工

A2A 官方網站把界線畫得很直接:

MCP 處理 agent 對工具的通訊,A2A 處理 agent 對 agent 的通訊

官方文件另外把兩者定位為互補關係,原話是「它們解的是兩個不同的問題,設計上就是要一起運作」。時程上,Google 在 2025 年 4 月推出 A2A,2025 年 6 月 23 日捐給 Linux Foundation 成立專案,當時新聞稿的說法是「超過 100 家領先的技術公司」參與,目前規範已到 v1.0。

把另一個 agent 當成 OpenAI 相容端點來呼叫時,會出現一種很難察覺的失效:

  • 內部的 agent 收到請求,決定要呼叫工具,於是把 tool_calls 寫進 OpenAI 格式的回應
  • 外部的 agent 拿到回應,看到 tool_calls,以為那是自己應該執行的工具
  • 外部的 agent 拿這些名稱比對自己的工具清單,回報 Unknown tool 並開始重試

協定相容涵蓋的是訊息格式,chat completions 預設對面是一個模型,工具由呼叫端自己執行


四個框架的架構取向

框架 官方定位 核心抽象
Google ADK 開源 agent 開發框架,讓你在企業規模下建置、除錯與部署可靠的 agent 以程式碼宣告 agent,往上疊多 agent 工作流
LangGraph 低階的編排框架與 runtime,用於建置與部署長時間執行的有狀態 agent 圖、節點、邊與狀態,強調可續行的執行
OpenClaw MIT 授權,TypeScript 與 Swift 撰寫,2025 年 11 月釋出 gateway 是長駐行程,收訊息、呼叫模型、執行工具、回覆
Hermes Agent 開源常駐 agent runtime 記憶、技能、身分宣告、排程四項內建

LangGraph 官方文件明講它比 LangChain 的 agent 抽象更低階,只是要開始做 agent 或想要高階抽象時,官方建議改用 LangChain 的預建架構。

低階的意思是控制權留在開發者手上,代價是每一步都要自己定義。


WebMCP:規範已發布,實作還在旗標後面

WebMCP 讓網站透過 navigator.modelContext 這個新的瀏覽器 API,把自己的 JavaScript 函式以結構化工具的形式開放給 agent。技術註記把它的來歷寫得很清楚:概念源自 Amazon 的 Alex Nahas 為了解決 OAuth 授權問題而做的 MCP-B(Model Context Protocol for Browsers),後由 Microsoft 與 Google 共同推進,文件掛名的三位編輯分別來自 Microsoft 與 Google。

規範地位與實作進度各自獨立推進:

  • 規範地位:2026 年 2 月 12 日的 Draft Community Group Report,由 W3C Web Machine Learning Community Group 發布,文件自己寫著「這不是 W3C 標準,也不在 W3C 標準軌道上」,並標明是一份討論文件、未代表任何 W3C 機構的共識
  • 實作進度:Google 在 2026 年 2 月 10 日推出早期預覽,管道是 Chrome 146 Canary,開啟方式是在 chrome://flags 打開「WebMCP for testing」旗標
  • 早期數據:文件引用的初步基準顯示運算負擔約下降 67%

一份規範走到 Community Group Report,代表它有人在寫,與瀏覽器把它端上預設開關是兩段各自獨立的進度


選型的判斷方式

這次選型的判斷落在一個問題上:要控制的是流程,還是要維持存活

需求 官方定位對得上的取向
精確控制每一步的分支與迴圈 圖式編排,LangGraph 這類
多 agent 分層協作、企業級部署 程式碼宣告式,ADK 這類
無人值守、長期活著、跨平台收訊息 常駐型 runtime,Hermes 與 OpenClaw 這類
  • Hermes 內建記憶、身分宣告與排程,這三項可以直接用,工具層走 MCP,換框架時工具側沿用同一份實作
  • ADK 與 LangGraph 解的是編排問題,這套系統需要的是常駐與狀態

心得

同名不同物是這一層最花時間的地方,plugin 就是例子。

Hermes 的 plugin 是 Python 模組,放在 runtime 的擴充目錄下,行程啟動時載入。Claude Code 的 plugin 是打包清單,裡面可以裝 skills、hooks、MCP servers,內容由清單描述。

拿其中一邊的文件去對照另一邊,目錄結構分屬兩套,原因是兩個專案用同一個字指涉不同東西。

先分辨是哪一個 runtime,比研究目錄結構的差異更快找到答案。


明天

MCP 在 2026 年 7 月 28 日改版的內容,以及它對自建 server 的影響。


上一篇
【Day 4】Agent = Model + Harness:等式拆解與六項執行期職責
下一篇
【Day 6】MCP 2026-07-28 改版:協定變成無狀態
系列文
打造具備記憶與執行能力的常駐 AI Agent:Hermes Agent × Gemini × MCP 的 Harness 設計6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言