準備轉職的米娜在課程網站輸入一段話:「我做行銷、只熟試算表,平日晚間有空,希望六週內做出自動化報表。哪門課適合?八月還有哪一班能選?」這不是拿課名查欄位。AI 得先理解她的背景、時間與成果目標,比較多門課的內容和先備能力,說明推薦理由,最後才核對即時班次。

這個任務也畫出入口的深淺:公開課程內容足以完成理解與比較;「八月是否仍有名額」才需要受限的即時查詢;初始需求並沒有要求代為報名。網站該提供的 AI 入口,不由 API 或 MCP 的流行度決定,而要先把一項真實任務分成讀、查、做,再選最低必要權限;會產生外部效果的動作,還得加上逐次批准與可恢復狀態。

先分責任,不先排技術清單

MCP 官方把協定描述為 AI 應用連接外部資料、工具與工作流程的開放標準。它解決「如何連接」,卻不會替網站回答「該開放什麼」。Cloudflare 的 MCP 文件甚至直接提醒:不要把整套 API 原封不動包成 MCP;工具應服務具體目標,權限則要窄到方便管理與稽核。

把一個需求放進下面三條路,通常就能看出是否真的需要新介面:

AI 在網站上要完成哪一類工作?。讀公開內容:先修頁面 identity、metadata、內鏈、RSS、sitemap 與正確狀態碼。查變動資料:只開範圍受限的唯讀介面,交代欄位、鮮度、缺值與錯誤。替人執行動作:再談 API/MCP,並先定身分、權限、逐次批准、日誌與復原
AI 在網站上要完成哪一類工作?
讀公開內容
先修頁面 identity、metadata、內鏈、RSS、sitemap 與正確狀態碼
查變動資料
只開範圍受限的唯讀介面,交代欄位、鮮度、缺值與錯誤
替人執行動作
再談 API/MCP,並先定身分、權限、逐次批准、日誌與復原
  1. AI 在網站上要完成哪一類工作?
  2. 讀公開內容先修頁面 identity、metadata、內鏈、RSS、sitemap 與正確狀態碼
  3. 查變動資料只開範圍受限的唯讀介面,交代欄位、鮮度、缺值與錯誤
  4. 替人執行動作再談 API/MCP,並先定身分、權限、逐次批准、日誌與復原

這三條不是升級路線。米娜的課程顧問同時用到前兩條:先讀公開內容做出有理由的推薦,再查班次證明現在真的能選。若拿普通 SQL 或 API 取代 AI,只剩名額資料,無法從一段自然語言完成課程比較;反過來,沒有即時查詢,AI 仍能推薦,卻不能保證八月班次尚可報名。付款、刪除、寄送或承諾才進入「做」。入口越深,不是網站越先進,而是團隊承接的後果越多。

讀:先讓公開版本彼此同意

米娜的第一個答案來源不是資料庫,而是公開課程介紹。先拿幾門候選課做讀回:課程名稱、先備能力、學習成果、時段說明與現行版本是否一致?title、description、日期、語言、canonical、站內連結、RSS 與 sitemap 是否指向同一份內容?下架頁面是否真的回傳 404 或 410?

Google Search Central 說,sitemap 能列出重要頁面、更新時間與多語版本;但站內連結完整的小型網站未必需要。這表示 sitemap 是修補發現性的方法,不是每站必做的 AI 專案。Google 也把 rel="canonical" 定義為重複或高度相似頁面的偏好版本訊號;它不能替你修正互相矛盾的標題、日期或語言。

「讀」的驗收不是多了一個端點,而是 AI 能用一致的公開證據比較課程,並指出為何某門課符合米娜的背景與六週目標。若課程頁互相矛盾,先修內容;加一個 MCP 只會讓矛盾更快被讀到。

廣告

查:把資料窗口縮到一個問題

名額、庫存、價格與配送狀態會變。讓 AI 從頁面位置猜值,前端一改版,查詢就可能壞掉。反覆需求有證據時,才值得提供穩定格式的唯讀 API、受限匯出或查詢工具。

課程匹配完成後,AI 只需用受限工具查候選課的課程代碼、八月班次、平日晚間時段、剩餘名額、更新時間,以及「額滿」「尚未同步」「查無班次」「暫時故障」等狀態。這個工具補的是動態證據,不替 AI 做推薦。學員姓名、付款紀錄、內部備註、報名表與修改名額的工具都不屬於這次任務。舊值也不能拿來填未知,否則理由看似完整,選擇卻建立在假確定上。

驗收時要把兩層拆開測:拿掉即時工具,AI 應仍能依公開內容推薦,但必須坦白無法確認當下班次;接回工具後,再檢查未知課程、延遲同步、無名額與逾時能否分辨。通過後仍只代表「能核對推薦是否可選」,不代表「能代為報名」。

做:把批准與收拾方式算進入口

報名、退款、改設定、寄通知等操作,會使用某個人的權限並改變外部狀態。此時工具合約至少要說清楚帳號、對象、參數、可逆性、通知、速率限制與日誌;高風險操作先產生可檢查的草稿或預覽,任何值改變都重新確認。

OpenAI Agents SDK 的 human-in-the-loop 文件示範的不是一句「有人監督」,而是敏感工具在執行前中斷,呈現工具與參數,由人逐次批准或拒絕,再從保存的狀態續跑。這種邊界也適用 MCP 工具。若只保留一個含糊的「同意」,重試時便無法知道它批准的是哪個對象與哪組參數。

因此,讓 AI 寫程式前,先決定哪些地方要停下來檢查不只是開發建議,也是動作入口的基本設計。流程若可能做一半,還要先記下已發生的效果、能否安全重試,以及誰執行補償;可用自動化流程跑到一半失敗,誰負責收拾?補完這張表。

用一張任務單做決定

別先開「要不要做 MCP」的會。寫下一項可判定完成的工作、AI 不可替代的判斷、資料擁有者、輸入、輸出、錯誤後果與人工停點,再選入口。米娜要的是「理解限制、比較課程、提出理由,並確認一個可選班次」;普通搜尋框或單一 SQL 只能完成其中一小段。讀取有缺口,就修公開課程頁;動態資料有需求,就用一個資料集做唯讀試驗;真的要動作,先只做預覽、批准與復原。

還要寫下改選條件。米娜取得推薦、理由與一個八月夜間班次,這次任務就完成;只有她接著要求「替我報名這一班」,且身分、個資、逐次確認、付款、防重與失敗補償都有 owner,才重新評估操作入口。把 act 拿掉並不傷害初始答案,這正是最低必要權限成立的證據。

AI 整理卡

只讀我允許查看的網站 repo、公開課程頁、班次 schema 與運作紀錄,不修改檔案、不提交報名、不呼叫可寫端點,也不連接新服務。以這項課程顧問任務做檢查:「學員做行銷、只熟試算表、平日晚間有空,希望六週內做出自動化報表;請推薦課程並確認八月可選班次。」先列出 AI 必須理解的背景、技能、時間與成果限制,再引用公開頁面的課程內容、先備能力與學習成果,比較至少兩門候選課並說明取捨。接著標出哪些結論只靠公開內容就能成立,哪些必須由受限唯讀工具補上課程代碼、班次、時段、剩餘名額、更新時間與錯誤狀態。做反證:若把 AI 換成單一 SQL/API lookup,能否產出同品質的推薦與理由;若可以,標記「不需要 AI」並停止。若拿掉即時工具,仍可推薦但不能保證當下班次,請明寫這個缺口。最後只提出完成初始任務的最低入口,將報名、身分、個資、付款與修改名額列為未授權;只有需求改成「替我報名」時,才列出逐次確認、防重、logs、recovery、補償與人類 owner,不要執行。

米娜先拿到課程建議,再停在報名前

米娜向筆電上的 AI 課程顧問提出轉職限制,AI 比較多門課後用唯讀連線核對八月夜間班次,報名表與付款設備始終留在紅線外

  1. 米娜把行銷履歷、試算表能力、平日晚間與六週成果目標帶到同一個問題裡,請 AI 課程顧問幫她選課。
  2. AI 讀取多門課的內容、先備能力與成果,逐項比對限制,選出一門並呈現可辨識的推薦理由。
  3. AI 再用單向唯讀連線核對八月夜間班次與剩餘名額;報名表、個資和刷卡機始終在紅線外。
  4. 米娜拿到推薦、理由與可選班次後自行決定;報名與付款仍由人處理,初始任務已完整結束。

SQL 或一般查詢只能完成第三格,無法取代前兩格的自然語言理解、跨課比較與推薦理由。反過來,第四格不需要代替米娜報名,也能完整交付答案。這條可見界線把 AI 真正需要的工作、唯讀工具補足的動態資料,以及何時才重新評估 act 分開了。

廣告

Share

分享這篇微課

如果這篇剛好解開一個工作卡點,可以分享給也在判斷 AI 怎麼用的人。

參考來源