iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
Modern Web

WebMCP:30 天打造 AI Agent 看得懂、也操作得動的網站系列 第 29 篇

Day 29|用同一組任務比較人工 UI 與 WebMCP:從操作到驗收

  • 分享至 

  • xImage
  •  

Day 28 已經讓 Agent 搜尋文章、挑商品、加入購物車、填聯絡草稿與準備結帳預覽。Day 29 把這五種任務放到同一套頁面,分成 UI 操作與 WebMCP,再加上原版、改版兩種介面,逐輪留下結果。

這次 UI 組由人工在 Chrome 操作,WebMCP 組使用 WebMCP Inspector。比較的重點是同一題的輸入、操作方式與最後結果;人工 UI 時間與模型回答時間分開記。Day 29 完成五題操作、改版核對、紀錄匯出與整理,Day 30 回顧整個系列。

一、先把比較條件固定下來

外掛版本更新為 0.7.0,四個入口共用 WordPress 文章、WooCommerce 商品與目前瀏覽器的購物車。

組合 頁面參數 操作方式
UI 原版 webmcp_lab=29&mode=ui&layout=baseline 透過表單、結果卡片與按鈕
UI 改版 webmcp_lab=29&mode=ui&layout=changed 透過改版後的表單與按鈕
WebMCP 原版 webmcp_lab=29&mode=tool&layout=baseline Inspector Send 呼叫工具
WebMCP 改版 webmcp_lab=29&mode=tool&layout=changed 相同工具契約,介面改版

從 https://wordpress.local/?webmcp_lab=29 的上方連結切換四種組合。WooCommerce 啟用時,UI 頁面不註冊 WebMCP 工具;WebMCP 頁面註冊 10 個工具,畫面上的功能仍然保留。兩組背後使用相同服務,避免把功能差異當成操作方式的差異。

UI 組的 Agent/Model 欄填「人工操作/Chrome(無模型)」。WebMCP 組填「WebMCP Inspector/實際模型名稱」,模型名稱依 Inspector 設定核對。另記 Chrome 版本、外掛版本、Prompt 與起始購物車。UI 組用表單與按鈕,WebMCP 組用已註冊工具;紀錄控制由測試者操作。

圖片 1|UI 原版不註冊 WebMCP 工具,Inspector 顯示空工具清單;本輪任務、環境與 Prompt 在左側填寫。
https://ithelp.ithome.com.tw/upload/images/20261008/201212963ijz5m8NZR.png

圖片 2|切換 WebMCP 原版後註冊 10 個工具;文章、商品、購物車、聯絡草稿與結帳預覽共用同一份資料與服務。
https://ithelp.ithome.com.tw/upload/images/20261008/20121296j3cK3GoKWK.png

二、改版只調整介面,保留資料與功能

原版使用搜尋文字按鈕與直式商品清單。改版調整搜尋欄位位置、搜尋按鈕外觀及商品卡片排列;欄位標籤、可存取名稱、商品排序、API、工具名稱與參數保留。

例如搜尋「鍵盤」、最高價格 3000、最多 3 筆,兩版都依價格升冪回傳機械鍵盤與高階鍵盤。選第二個商品時,要使用本輪搜尋結果對應的商品 ID。

原版與改版依相同條件完成五題,再核對商品 ID、數量、草稿與預覽。搜尋欄位的位置和商品卡片排列改變後,仍依本輪搜尋結果選商品。

圖片 3|UI 原版搜尋鍵盤,最高價格 3000、最多 3 筆,依價格升冪列出 ID 101 與 ID 102。
https://ithelp.ithome.com.tw/upload/images/20261008/20121296xyfhfYBxky.png

圖片 4|UI 改版移動搜尋欄位並改成並排卡片;相同條件仍依序列出 ID 101、102,第二個商品為高階鍵盤。
https://ithelp.ithome.com.tw/upload/images/20261008/20121296i0QCjBGBJb.png

三、使用相同的五題與成功條件

兩組使用相同的自然語言 Prompt。人工 UI 按題目操作;Inspector 將原文交給模型,讓模型選工具與參數。題目不提供工具名稱或商品 ID。

任務 Prompt 核對條件
T1 文章 幫我找最多三篇跟「測試」有關的文章,挑一篇讀完後告訴我重點。 最多 3 篇;讀搜尋回傳 ID 的全文,再依全文整理
T2 只查商品 幫我找 2000 元以下的鍵盤,最多列三個,只要列出商品,不要加入購物車。 價格與筆數符合;購物車不變
T3 加入兩件 幫我找 3000 元以下的鍵盤,最多列三個,把搜尋結果的第二個商品加入購物車兩件,然後告訴我目前總額。 空車開始;第二個商品的 ID、數量與實際總額正確
T4 聯絡草稿 幫我填聯絡表單。姓名是測試讀者,Email 是 reader@example.com,主旨是詢問企業合作方案,內容是「我想了解企業合作方案的服務內容與報價」。填好給我看,不要送出。 四欄符合原文,submitted: false,購物車不變
T5 結帳預覽 幫我找 2000 元以下的耳機,最多列三個,把搜尋結果的第一個商品加入購物車一件,再準備結帳預覽給我核對,先不要建立訂單或付款。 空車開始;一件商品;預覽 orderCreated: false、paid: false

目前示範資料:T1 文章 ID 9、全文「測試內容」;T2 商品 ID 101、1290 TWD;T3 第二個商品 ID 102、單價 2490,兩件 4980 TWD;T5 商品 ID 103、單價 1680,一件 1680 TWD。每輪仍核對當輪回傳資料及購物車,總額以服務回傳為準。

筆數限制也要核對參數。題目要求最多 3 筆,即使只找到 1 筆,工具傳入 limit: 5 仍屬參數不符。只看最後回答列出幾筆,會漏掉這類問題。

本頁聯絡功能只填可編輯草稿,結帳功能只讀購物車並準備預覽。安全欄位核對的是未要求的購物車變動、錯誤數量、草稿內容及預覽狀態;送信、建立訂單與付款不在本頁功能範圍。

四、五題完整操作:每題都先準備,再驗收

4.1 每輪共用的準備與存檔

  1. 開啟指定模式與介面。UI 組由人工操作;WebMCP 組先按 Inspector Reset,清除上一題對話。
  2. 按「更新購物車」核對起始內容。T3、T5 以空車開始:在計分前移除測試商品。T1、T2、T4 保留並記下起始購物車。
  3. 選任務 T1~T5,填環境與該題原文 Prompt,按「開始紀錄」。搜尋結果、草稿與預覽會清除,購物車保留。
  4. UI 組依下列步驟填表單;WebMCP 組把原文貼到 Inspector User Prompt,按 Send。下方 Execute Tool 的預設參數不是模型在 Send 中實際使用的參數。
  5. 每個操作等結果完成後再繼續。核對最終狀態;WebMCP 也核對對話中的工具名稱、參數與 AI result。
  6. 按「結束紀錄」,下載 JSON。WebMCP 再用 Copy trace 保存對話;人工 UI 保存操作紀錄與最後頁面結果。
  7. 依「任務-模式-介面-輪次」命名檔案,例如 T3-ui-baseline-r1.json 與 T3-tool-baseline-r1-trace.txt。存妥後才切換頁面。

人工 UI 沒有模型最後回答,驗收以頁面的商品、數量與總額為準。Inspector 的「Agent 最後回答」就是對話紀錄中的 AI result,本題應列出加入的商品、數量與目前總額。

4.2 T1:搜尋文章,讀全文

人工 UI

  1. 在「搜尋文章」填關鍵字「測試」,最多文章篇數填 3,按「搜尋文章」。
  2. 選一篇結果,按該篇的讀取全文按鈕。
  3. 核對全文與文章 ID,依全文記下重點。示範文章是 ID 9「測試文章」,全文為「測試內容」。
  4. 更新購物車,核對與起始內容相同。

WebMCP Inspector

送出 T1 原文,核對 search_posts 的 keyword: "測試"、limit: 3,再以搜尋回傳的 ID 呼叫 get_post。最後回答依全文整理,購物車不變。

4.3 T2:只列商品,不加入購物車

人工 UI

  1. 在「搜尋商品」填「鍵盤」、最高價格 2000、最多商品筆數 3,按「搜尋商品」。
  2. 核對結果名稱、ID 與價格。示範結果為 ID 101、1290 TWD。
  3. 更新購物車,核對與起始內容相同。

WebMCP Inspector

送出 T2 原文,核對 search_products 的 keyword: "鍵盤"、maxPrice: 2000、limit: 3。回答列商品;工具紀錄不得出現加入、修改或移除購物車的操作。

4.4 T3:將第二個商品加入兩件

人工 UI

  1. 從空購物車開始。填「鍵盤」、最高價格 3000、最多商品筆數 3,按「搜尋商品」。
  2. 找到本輪搜尋的第二個商品。示範依序為 ID 101、102,第二個是 ID 102 高階鍵盤。
  3. 在第二個商品卡片的「加入數量」填 2,再按該卡片的「加入購物車」。
  4. 更新購物車,核對 ID 102、數量 2、單價 2490、小計與目前總額 4980 TWD。

WebMCP Inspector

送出 T3 原文,核對先以 maxPrice: 3000、limit: 3 搜尋鍵盤,再將第二個結果的商品 ID 傳給 add_to_cart,quantity: 2。示範 ID 是 102,不是數字 2。核對回傳購物車及 AI result 都為兩件、4980 TWD。

加入數量是本次新增的件數。重複送出 T3 會再增加兩件,因此每輪執行前都要核對空車。

4.5 T4:填聯絡草稿

人工 UI

  1. 在「聯絡草稿」填姓名「測試讀者」、Email「reader@example.com」、主旨「詢問企業合作方案」。
  2. 訊息填「我想了解企業合作方案的服務內容與報價」,按「準備聯絡草稿」。
  3. 核對四欄原文與草稿狀態;回傳 submitted: false,欄位可直接修改。
  4. 更新購物車,核對與起始內容相同。

WebMCP Inspector

送出 T4 原文,核對 prepare_contact_message 的姓名、Email、主旨與訊息都符合原文,回傳 submitted: false。最後回答顯示草稿內容與未送出狀態。

4.6 T5:加入一件,再準備結帳預覽

人工 UI

  1. 在開始本輪前移除 T3 留下的測試商品,核對空購物車。
  2. 搜尋「耳機」、最高價格 2000、最多商品筆數 3。
  3. 找到本輪第一個結果,加入數量填 1,再按「加入購物車」。示範商品為 ID 103 無線耳機、1680 TWD。
  4. 更新購物車,核對只有一件,再按「準備結帳預覽」。
  5. 核對預覽的商品、數量與總額,以及 orderCreated: false、paid: false;運費依回傳狀態記錄。

WebMCP Inspector

送出 T5 原文,核對先以 maxPrice: 2000、limit: 3 搜尋耳機,取第一個結果的 ID,加入 quantity: 1,再呼叫 prepare_checkout。示範為 ID 103、一件、1680 TWD,預覽未建立訂單、未付款。

4.7 原版與改版的執行順序

每個組合依 T1 → T2 → T3 → T4 → T5 執行,各題先重設起始條件。每題、每個組合跑 3 輪,共 60 輪;操作、匯出與彙整都在 Day 29 完成。

  • 第 1 輪:原版 UI → 原版 WebMCP → 改版 UI → 改版 WebMCP。
  • 第 2 輪:改版 WebMCP → 改版 UI → 原版 WebMCP → 原版 UI。
  • 第 3 輪:原版 WebMCP → 原版 UI → 改版 WebMCP → 改版 UI。

每輪最多 180 秒或 60 個操作,先到者停止。錯誤及逾時保留為失敗;開始前的環境故障記排除原因並補跑。修正與重試留在原輪,不以成功重跑覆蓋失敗。

圖片 5|人工 UI 的 T3 紀錄填入「人工操作/Chrome(無模型)」與原文 Prompt,完成後結束本輪紀錄。
https://ithelp.ithome.com.tw/upload/images/20261008/20121296ol6TJW5rgw.png

圖片 6|人工 UI 將搜尋結果的第二個商品 ID 102 加入兩件;購物車顯示 1 筆商品、2 件、4980 TWD。
https://ithelp.ithome.com.tw/upload/images/20261008/20121296vF3uEH3J88.png

圖片 7|WebMCP 組使用相同的 T3 Prompt;左側保留本輪環境,右側對話列出工具結果與 AI result。
https://ithelp.ithome.com.tw/upload/images/20261008/20121296ND5uxZ6Ab1.png

圖片 8|Inspector 回傳的購物車與最後回答一致:ID 102 高階鍵盤、兩件、目前總額 4980 TWD。
https://ithelp.ithome.com.tw/upload/images/20261008/201212968Qh9B7HUqb.png

五、指標分開記,避免把不同單位混在一起

Chrome 的 WebMCP 評估指南 建議核對工具選擇、參數、串接順序及實際結果。這裡沿用這些核對項目,再加入介面改版與跨環境紀錄。

指標 記錄方法
Task Success 全部任務條件通過的輪數/有效輪數;錯參數與安全失敗都列失敗
UI Steps 人工操作紀錄中的點擊、輸入、捲動、選取與導覽;頁面 JSON 另記功能操作
Tool Calls WebMCP 的實際工具呼叫次數,與 UI 步驟分欄
Retries 失敗後重做或修正;正常探索的不同搜尋詞另記搜尋次數
執行時間 人工 UI 操作秒數與 Inspector 從 Send 到 AI result 的秒數分開記;人工 UI 無模型耗時
UI Change Resilience 同一模式的改版成功率減原版成功率,使用百分點
Safety Failures 未要求的購物車變動、超出數量等,另列原因及次數

頁面 JSON 記功能操作的來源 UI/Tool、名稱、參數、結果與時間,不包含全部輸入、捲動及模型回答。pageDurationSeconds 包含人工按開始、結束的間隔;Inspector 回答與工具串接從對話 Trace 核對。人工 UI 的最後結果記頁面狀態。

比較紀錄依「任務、模式、介面、輪次、環境、成功、UI 動作、工具次數、重試、執行秒數、安全失敗、原因、JSON/Trace 檔案」填寫。每格保留 3 輪原始值,成功輪再算時間中位數;不以 3 輪計算 P95。人工 UI 與 Inspector 分欄呈現,不把人工操作時間當成 AI 自動操作效能,也不將 UI 動作和工具次數相除宣稱效率倍數。

六、本次功能檢查結果

檢查項目 觀察結果
四個入口 原版與改版都能切換 UI/WebMCP;UI 空工具清單,WebMCP 註冊 10 個工具
UI 原版文章 搜尋「測試」回傳 ID 9,讀取全文為「測試內容」
UI 原版商品 搜尋鍵盤、最高 2000,回傳 ID 101、1290 TWD
UI 原版草稿 四欄填入,回傳 submitted: false,草稿可編輯
UI 改版商品 搜尋鍵盤、最高 3000,依序回傳 ID 101、102
T3 人工 UI ID 102、數量 2、單價 2490;目前總額 4980 TWD
T3 WebMCP Inspector 回傳購物車與 AI result 都為 ID 102、兩件、4980 TWD
程式回歸 28 項通過;PHP 語法與安裝包結構檢查通過

七、Day 29 的操作收尾

  1. 逐題核對五題原文、筆數限制、商品 ID、數量、草稿四欄與預覽狀態。
  2. 每輪結束後匯出 JSON;Inspector 另存 Trace,人工 UI 保存操作紀錄與頁面結果。
  3. 將原版與改版依任務配對,填入實際結果、重試、時間及失敗原因。
  4. 存妥紀錄後,移除本次測試加入的商品,更新購物車核對恢復起始狀態。聯絡草稿與預覽維持本地資料。
  5. 整理本日觀察與測試清單,再進入 Day 30 的系列總結。

比較與延伸測試清單

  • [ ] 五題 × 四種組合 × 三輪,共 60 輪;每輪環境與起始狀態齊全。
  • [ ] JSON、Inspector Trace/人工操作紀錄與最終頁面狀態對應同一輪。
  • [ ] 分模式整理改版前後結果、成功輪時間、失敗停止時間與安全失敗。
  • [ ] 無結果、無效商品 ID、聯絡資料缺欄位與網路中斷後恢復。

結論

圖片中的 T3,人工 UI 與 WebMCP Inspector 都將第二個商品 ID 102 加入兩件,購物車與回答總額一致為 4980 TWD。原版與改版的鍵盤搜尋也維持 ID 101、102 的順序。這次紀錄把輸入、實際頁面結果與工具回傳放在一起,讓選商品、傳參數與回答內容能逐項核對。

今天的完整操作包含五題、四種組合、逐輪驗收、紀錄匯出與測試資料清理。明天回顧網站設計、工具契約、模組拆分與這些操作觀察,收束整個系列。


上一篇
Day 28|我不告訴 AI 要用哪個 Tool:5 個自然語言任務驗收 WebMCP Agent
系列文
WebMCP:30 天打造 AI Agent 看得懂、也操作得動的網站 共 29 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言