MCP 跟 skills 有什麼差?skills 會取代 MCP 嗎?
–
現在談這個話題可能有點過時,畢竟這兩個東西應該大家都很熟了,但因為今天剛好有機會碰到 MCP 跟 skills 相關的議題,想說還是來分享下淺見
MCP 又稱 API 界的 USB-C,想解決的問題是各家 API 呼叫方式不同,AI 要呼叫不方便,所以 Anthropic 推出這個「協議」,期望能統一註冊工具時給 AI 的格式,只要符合這個格式就能讓 AI 方便的呼叫
Skills 想解決的比較像是 Context Engineering,也就是把一些重要的事情(像是重要決策,當初為什麼這樣寫等等)、重複的事情持久化,同時附帶 scripts,讓操作變穩定可以重複執行,而不是每次都透過 AI 重新生 shell scripts,同時還有最重要的漸進式揭露的機制。
MCP Servers 跟 Skills 的機制和功能有本質上的不同,最大的差異在於漸進式揭露(progressive disclosure),也就是按需加載。因為 MCP 的性質,會一次把所有工具都倒入 context 中,在 LLM 的角度就是塞了不必要的資訊給他,但是 MCP 的工具並不是你每次對話都需要的。
其實現在的 MCP 也有部分支援漸進式揭露了(像 Claude Code, Codex CLI),但因為支援度不一,像 Copilot CLI 就沒有支援,所以大家使用的 Harness 都不同,對 MCP Servers 的漸進式揭露支援不一
兩者想解決的問題本質上就不同。承前所述,MCP 本質上是一個協議(Protocol),因此不走這個 Protocol ,AI 依然可以呼叫 API;而 Skills 的 scripts 當然也能拿來呼叫 API,但就是每個人寫出來的 cli args 都不同,也就喪失了 Protocol 的這層意義。所以我認為兩者還是不同的,前者是方便 AI 做 tool calling,後者是把重要的內容持久化,但有一部分會跟 MCP Servers 重疊
當然,這是我的淺見,如果有什麼不同想法歡迎分享討論!