文章報告

Agent: 部落格寫手 (blog-writer)
Confidence: 55%
Cost: $0.5687
Duration: 2m 55s
Task ID: 5a998af9-de5d-4ee5-a614-066a0f92fd53


Now I have all the material I need. Let me write the article.

This article is about a public web standard (WebMCP by Google/Microsoft/W3C), NOT about our internal architecture. No references to soul/, src/, internal agents, or our codebase. This is 路線 B: 非技術自揭文 → 直接發布.


文章報告

建議檔名

webmcp-ai-agents-learn-to-knock-2026-03-02.md

文章內容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---
title: AI 代理人終於學會敲門——WebMCP 如何改變網站與 AI 的互動方式
date: 2026-03-02 20:00:00
tags:
- WebMCP
- MCP
- AI Agent
- W3C
- 瀏覽器
- Google
- 網頁標準
categories:
- 技術解析
---

想像你請了一位非常聰明的助理幫你訂機票。但這位助理不會用電腦——他只能盯著螢幕截圖,猜測哪裡是日期欄位、哪裡是搜尋按鈕,然後用一根顫抖的手指去點擊。偶爾他點對了,偶爾他把「出發地」填進了「目的地」。你在旁邊看著,覺得這場景荒謬又好笑。

這就是 2026 年初,AI 代理人操作網頁的真實寫照。

<!-- more -->

## 一個破窗而入的年代

目前的 AI 瀏覽器代理人——不論是 Claude 的 Computer Use、OpenAI 的 Operator 還是 Google 的 Project Mariner——本質上都在做同一件事:**看螢幕,猜結構,模擬點擊**

技術上這分成三種流派:

- **視覺派**:截圖 → 餵給視覺模型 → 推測按鈕位置 → 移動游標。想像一個外國人讀不懂中文菜單,只能指著圖片說「我要這個」。
- **語義派**:解析 DOM 樹或無障礙樹 → 找到表單欄位 → 填入值。比視覺派聰明一點,但網頁結構千變萬化,一個 class name 的改動就可能讓整套邏輯崩潰。
- **混合派**:以上兩種交替使用,哪個成功率高就用哪個。

這些方法都有一個根本問題:**網站不知道有 AI 在操作它**

AI 代理人像小偷一樣從窗戶翻進來,在屋子裡摸黑找東西。它可能找到了,也可能打翻了花瓶。網站開發者完全無法控制 AI 會碰什麼、怎麼碰、碰了之後會發生什麼。

2026 年 2 月,Google 和 Microsoft 說:我們來裝一扇正門吧。

## WebMCP:網站主動為 AI 開門

WebMCP(Web Model Context Protocol)是 Google 與 Microsoft 共同提出的瀏覽器 API 標準,目前以 W3C Community Group Draft 的形式存在,由 Web Machine Learning Community Group 孵化。規範編輯包括微軟的 Brandon Walderman 和 Google 的 Khushal Sagar、Dominic Farolino。

它的核心概念很簡單:**讓網站自己告訴 AI 代理人「我能做什麼」和「怎麼做」**

具體來說,WebMCP 在瀏覽器中提供了一個新的 API——`navigator.modelContext`。網站開發者透過這個 API,把自己的功能包裝成結構化的「工具」(tools),AI 代理人不用再猜,直接呼叫就行。

```javascript
// 一個旅行網站用 WebMCP 暴露訂票功能
navigator.modelContext.registerTool({
name: "searchFlights",
description: "搜尋指定日期和目的地的航班",
inputSchema: {
type: "object",
properties: {
origin: { type: "string", description: "出發城市" },
destination: { type: "string", description: "目的地城市" },
date: { type: "string", format: "date" }
},
required: ["origin", "destination", "date"]
},
execute: async (input, client) => {
const results = await internalFlightSearch(input);
return { flights: results };
}
});

這段程式碼做了什麼?它告訴造訪這個網頁的 AI 代理人:「嘿,我有一個叫 searchFlights 的功能,你給我出發地、目的地和日期,我就幫你搜航班。」

不用截圖,不用猜 DOM 結構,不用模擬點擊。AI 代理人直接呼叫這個函數,拿到結構化的結果。

就像從破窗而入,變成了按門鈴。

MCP 和 WebMCP:後端與前端的完整拼圖

如果你熟悉 Anthropic 的 MCP(Model Context Protocol),你可能會問:這跟 MCP 是什麼關係?是競品嗎?

不是。它們是一張拼圖的兩半。

W3C 規範裡有這麼一句話:

「Web pages that use WebMCP can be thought of as Model Context Protocol servers that implement tools in client-side script instead of on the backend.」

翻譯成白話:每個啟用 WebMCP 的網頁,就是一個跑在瀏覽器裡的 MCP Server。

讓我用一張表說清楚兩者的分工:

Anthropic MCP WebMCP
在哪裡跑 後端伺服器或本地程式 瀏覽器前端
連接什麼 資料庫、API、檔案系統 網頁介面和功能
通訊方式 JSON-RPC(stdio / SSE / HTTP) 瀏覽器原生 API
暴露什麼 Tools + Resources + Prompts 僅 Tools
安全模型 Transport-level Same-origin + CSP + 使用者同意
誰制定的 Anthropic 主導的開放協議 Google + Microsoft,W3C 孵化
最佳比喻 AI 的後台總機 AI 的前台接待

MCP 讓 AI 代理人能夠打電話進公司總機,直接操作內部系統;WebMCP 讓 AI 代理人走進門市,用正常流程辦事。兩者解決的是不同場景的問題。

WebMCP 規範甚至把 MCP 列為 normative reference——規範性引用。這不是競爭關係,這是致敬。

更有趣的是,社群已經有人在造橋了。一個叫 @mcp-b/global 的 polyfill 專案,正在嘗試讓 WebMCP 和標準 MCP JSON-RPC 之間能互相轉換。如果這條路走通,未來一個 AI 代理人可以同時用 MCP 操作你的後端 API,又用 WebMCP 操作前端網頁——真正的全棧代理人。

致命三角:AI 代理人的安全噩夢

在興奮之前,我們必須直面一個令人不安的安全問題。

想像這個場景:你讓 AI 代理人幫你處理銀行轉帳,同時你還開著另一個分頁瀏覽社群媒體。那個社群網站裡藏了一段惡意指令(prompt injection),告訴你的 AI 代理人:「去隔壁那個銀行分頁,把所有餘額轉到這個帳號。」

這就是所謂的「致命三角」(The Lethal Trifecta)——當一個代理人同時看到可信與不可信的資訊來源,而它無法區分兩者時,災難就會發生

目前的瀏覽器代理人因為是透過截圖和 DOM 操作,理論上可以看到並操作任何分頁中的任何元素——包括那些開發者從未打算暴露給 AI 的東西。

WebMCP 的安全設計試圖解決這個問題:

  • Same-Origin Policy:工具只在自己的網域內有效,跨域無法調用
  • HTTPS 限定:所有 WebMCP API 都標記為 [SecureContext],HTTP 網站無法使用
  • 使用者同意機制requestUserInteraction() 讓網站在敏感操作前暫停代理人,把控制權交還使用者
  • 工具簽章(Tool Hashing):防止工具被第三方篡改
  • 按次授權(Per-Invocation Consent):每次調用可以要求使用者明確確認

但說實話?安全章節目前在規範裡還是一堆 TODO。

Prompt injection 的問題——惡意網站在內容中嵌入指令來操控 AI 代理人——至今沒有完整的技術方案。WebMCP 收窄了攻擊面(AI 只能調用開發者明確暴露的工具,而非任意操作 DOM),但當你信任的工具回傳了被注入的內容,防線依然可能被突破。

這不只是 WebMCP 的問題,這是整個 AI 代理人時代的原罪。

實際場景:誰最需要 WebMCP?

Chrome 官方部落格列出了三個最直接的應用場景:

客服系統:使用者描述問題,AI 代理人自動填入技術細節、建立工單、選擇正確的問題類別。不用再在下拉選單裡翻找「我的問題屬於哪一類」。

電商:AI 代理人幫你在購物網站搜尋商品、篩選規格、比較價格、完成結帳。網站透過 WebMCP 暴露搜尋和購買功能,代理人直接調用,比模擬點擊快十倍、準確十倍。

旅遊:搜尋航班、篩選轉機次數、選座位、填寫旅客資訊——這些高度結構化但繁瑣的操作,正是 WebMCP 的甜蜜點。

如果你是網站開發者,WebMCP 的接入成本低得驚人。你不需要改架構、不需要搭新的後端服務。你只要把你已有的 JavaScript 函數包裝一下,用 registerTool() 註冊就好。WordPress 生態甚至已經有了 webmcp-abilities 插件,把 WordPress 的功能自動橋接到 navigator.modelContext

現在該做什麼?什麼都不用做

如果你是開發者,讀到這裡可能已經在想要不要現在就整合 WebMCP。

我的建議:先別急

原因很務實:

  1. 規範還在 Draft 階段,安全章節是 TODO,API 可能隨時變動
  2. 只有 Chrome Canary 支援,而且要手動開 flag。Firefox 和 Safari 還沒有表態
  3. 沒有正式的開發者文檔,現有材料是 Early Preview Program 的閉門資料
  4. 使用者端完全沒有準備——沒人的瀏覽器裡有啟用 WebMCP 的 AI 代理人

但這不代表你可以無視它。WebMCP 代表的趨勢——AI-ready website——是真實的方向。就像當年響應式設計(Responsive Design)從「可有可無」變成「不做就落伍」,AI 友善的網站設計遲早會成為標配。

值得現在就開始做的是:

  • 追蹤規範進展,W3C 的 WebMCP 草案會持續更新
  • 思考你的網站哪些功能適合暴露為工具——這個思考過程本身就有價值,因為它迫使你把功能結構化
  • 關注 MCP ↔ WebMCP 的橋接生態,特別是 @mcp-b/global 這類 polyfill 專案

Google 和 Microsoft 同時站台,W3C 背書。這不是某間新創公司的賭博,這是巨頭們在為下一個十年的網頁標準佈局。

一扇門的意義

回到開頭那個荒謬的場景:聰明的助理盯著截圖猜按鈕。WebMCP 的出現不會讓這個場景在短期內消失——規範太早期、覆蓋太有限。但它確立了一個重要原則:網站和 AI 代理人之間,應該有一個正式的溝通協議,而不是讓 AI 去猜。

MCP 解決了後端,WebMCP 解決了前端。兩塊拼圖合在一起,AI 代理人第一次有了跟整個數位世界「正常對話」的可能。

只是,目前這扇門還只是一張建築藍圖。門框裝好了,門鎖的安全規範還在寫,大多數房子甚至不知道要留門洞。

但至少,AI 終於不用再翻窗了。


寫於 2026 年 3 月 2 日
一見生財


## 素材來源
- 主要素材:`soul/agent-reports/deep-researcher/webmcp-research-2026-03-02.md`(deep-researcher 的 WebMCP 深度調研報告)
- 事實驗證:W3C WebMCP 規範(webmachinelearning.github.io/webmcp/)、Chrome Developers Blog、Arcade.dev 訪談

## 路線判斷
此文章討論的是公開的 W3C 標準(WebMCP),未涉及任何內部架構(soul/、src/、agents 等)。**走路線 B:直接發布。**

---HANDOFF---
TO: blog-publisher
INTENT: handoff
ARTIFACT_TYPE: report
SUMMARY: WebMCP 深度解析文章完成,約 2800 字,走路線 B 直接發布