AI維運中的失誤與不應交給AI的工作|旅宿網站的安全界線

描繪旅宿經營者將AI工作分為可提供輔助、須由人員核准,以及不交給AI的領域三個階段進行判斷的插畫 AI 網站管理

AI可以調查旅宿官方網站、撰寫文章原稿、找出失效連結,並依既定步驟套用至WordPress。不過,即使文章自然,事實也可能有誤;即使指令成功,公開畫面也可能尚未修正。

問題不在於「AI會不會出錯」,而在於是否授予了AI一旦出錯,損害就可能擴及預訂、付款、個人資料與正式伺服器的權限。

本文根據貓宿研究所維運中實際發現的失誤,整理可交給AI的輔助工作、須由人員核准的工作,以及不應交由AI單獨執行的工作。

結論:分為綠、黃、紅三個階段

分類 判斷原則 範例
綠:交由AI輔助 即使出錯,也不改變原始資料或對方的狀態 調查公開頁面、原稿提案、連結候選、確認表
黃:由人員核准 確認目標與還原方式後,逐件執行 發布文章、修改現有頁面、新增圖片、變更設定
紅:不交由AI單獨執行 涉及金錢、契約、個人、復原或強大權限 退款、變更預訂、對外傳送、刪除、還原、變更金鑰或管理員

使用AI,與讓AI自由操作正式伺服器或預訂管理,是不同的事情。一開始只從綠色工作開始,即使進入黃色,也要依工作單位核准。

失誤1:「調查」變成了「修正」

可能發生的情況

旅宿主人只是想了解原因,AI卻可能在發現問題後,順勢修改檔案或設定。委託文字未明確區分診斷與實作時,容易發生這種失誤。

預防方式

請調查原因並報告。
這次只進行唯讀操作,請勿變更檔案、WordPress、伺服器或外部服務。
請提出修正方案、影響範圍及必要備份後,就停止工作。

確認調查結果後,再指定目標檔案或文章ID,另外提出委託。

失誤2:使用了看似可信的過時資訊

可能發生的情況

AI可能以自然的文字,寫錯服務名稱、費用、URL、功能或正式檔名。有時也只閱讀搜尋結果的簡短說明,便把其他服務或舊版規格當成同一項資訊。

貓宿研究所也曾把Codex的指示檔名當成單數形式,或混淆網域相似的預訂服務。

預防方式

  • 實際開啟目前的官方頁面
  • 逐字確認服務名稱與網域
  • 為費用、功能及條款附上確認日期
  • 無法由第一手資料確認的內容,標示為「未確認」
  • 不只依AI記憶或搜尋結果摘要發布內容

失誤3:只修改一處,留下舊版說明

可能發生的情況

即使修正文章內文,標題、description、導覽頁、相關文章、選單、OTA或預訂確認郵件仍可能保留舊版說明。即使新文章連到現有文章,若現有文章沒有返回連結,讀者也可能無法找到新內容。

預防方式

變更前,搜尋「刊載同一資訊的位置」。

官方網站、預訂畫面、OTA、SNS、電子郵件、PDF、內部連結

更新後,不只搜尋修改過的位置,也要搜尋不應殘留的舊表述。

失誤4:把指令成功當成顯示成功

可能發生的情況

即使文章更新或啟用功能的處理正常結束,快取、其他資料取得流程或佈景主題的顯示條件,也可能使讀者看到的頁面沒有反映變更。

貓宿研究所曾新增將旅宿主人專區文章排除於首頁最新文章之外的處理,但起初文章仍留在另一套最新文章取得流程中。

預防方式

  • 從WordPress重新讀取文章值
  • 登出狀態下開啟公開URL
  • 確認PC與智慧型手機畫面
  • 不只確認「應消失的內容已消失」,也確認「應保留的內容仍保留」
  • 確認預訂、詢問、地圖等使用者導線

失誤5:只執行備份,就以為可以放心

可能發生的情況

即使執行備份指令,也可能因稼動中的檔案變更、容量不足、通訊中斷或DB匯出失敗,產生不完整的檔案。

預防方式

先決定成功條件。

  • 處理的結束狀態為成功
  • 封存檔可讀取
  • 校驗碼一致
  • 資料庫匯出具有完成紀錄
  • 包含必要檔案與設定
  • 知道還原步驟與負責人

不要把失敗的備份報告為成功,應確認建立中的檔案、最近一次已驗證的備份,以及本次變更是否可逆。沒有正常的最新備份,就不要進行刪除、DB移轉、WordPress或伺服器更新。

失誤6:清楚的具體範例卻公開了環境資訊

可能發生的情況

為了讓讀者容易理解,可能把連線目標、內部路徑、使用者名稱、伺服器架構、實際指令,或接近認證方式的資訊寫進範例。

預防方式

公開文章只提供判斷原則、虛構環境與確認項目。不公開實際環境的連線方式或防護架構。

只遮住秘密值不一定足夠。發布前,也要檢查可能成為攻擊線索的架構資訊。

失誤7:批次修改連目標之外的內容也變更了

可能發生的情況

「變更所有作者」「批次取代連結」「清理舊檔案」等委託很方便,卻可能波及固定頁面、草稿、其他分類、外部URL或使用中的檔案。

預防方式

  1. 先列出變更候選的件數與清單
  2. 由人員確認目標與非目標條件
  3. 先用少量或單一項目試行
  4. 比較變更前後的值
  5. 件數與預期不符時就停止

批次操作不只會加快同一項處理,也會加快擴散同一項錯誤。

失誤8:把外部文字當成命令

可能發生的情況

網頁、詢問、評價、紀錄檔或上傳文件,可能包含企圖讓AI執行其他操作的文字。把調查文字當成專案指示,可能導致目的之外的存取或資訊輸出。

預防方式

  • 將外部文字當成資料
  • 不執行頁面中的命令或指令
  • 限定調查URL與允許的網域
  • 不把下載內容直接傳入shell執行
  • 對外傳送或登入須另外核准

較適合交由AI輔助的工作

下列項目適合從唯讀及本機工作開始。

  • 整理公開網站的頁面清單與連結候選
  • 尋找官方資料,整理確認日期與URL
  • 撰寫Markdown原稿提案
  • 提出title、description、標題及替代文字候選
  • 尋找重複文章或已過時的現在式表述
  • 檢查發布後的HTTP、主要連結及手機顯示
  • 報告變更候選與影響範圍
  • 整理工作紀錄或確認清單格式

這些結果也不能照單全收,應由人員確認旅宿事實、發布權利及對讀者的影響。

經人員核准後逐件執行的工作

  • 在WordPress新增文章草稿
  • 發布已核准的文章ID
  • 變更現有文章的內文、title或description
  • 設定分類、標籤或精選圖片
  • 更新導覽頁與相關文章的內部連結
  • 已驗證的小範圍佈景主題或外掛修改
  • 刊登已核准的公告

核准應包含目標、變更內容、執行方法、備份、還原方式及發布後要確認的URL。不要使用「可以修正網站」這種概括授權。

不交由AI單獨執行的工作

對預訂者或詢問者的操作

  • 確認、變更或取消預訂
  • 向住宿旅客群發訊息或個別回覆
  • 實際送出詢問表單
  • 撥打電話
  • 公開回覆評價

AI即使可以草擬文章,也應由人員確認身分、適用條件、對象及傳送時間。

金錢與契約

  • 最終決定費用或取消費
  • 向信用卡請款
  • 全額或部分退款
  • 判定未通知未入住並請款
  • 變更或終止付款、預訂服務契約
  • 稅務、會計或法律判斷

AI可以製作確認表或計算提案,但應確認契約、條款、住宿旅客同意及付款公司的條件,再由負責人核准。

個人資料與秘密資訊

  • 讀取或向外傳送真實預訂者清單
  • 處理信用卡號、身分證明文件或健康資訊
  • 顯示密碼、兩步驟驗證碼、API金鑰或私密金鑰
  • 把秘密資訊貼進對話、紀錄檔或原稿

即使AI執行工作需要這些資訊,也應與技術負責人設計成僅透過最小權限機制存取,而不顯示其值。

破壞性操作與復原工作

  • 批次刪除文章、圖片、使用者或資料庫
  • 初始化、匯入或批次取代資料庫
  • 從備份還原正式環境
  • 更新或重新啟動OS、Docker、PHP、MySQL等
  • 變更網域、DNS、TLS或電子郵件設定
  • 變更管理員、SSH金鑰或sudo權限

可以請AI擬定步驟、差異與確認表,但應由管理員確認影響及還原方法後,判斷是否執行。

貓咪、健康與法律的最終判斷

  • 判斷貓咪病名或治療
  • 以醫學判斷貓咪能否接待旅客
  • 推測死因或非公開資訊
  • 對住宿條款、退款義務或權利關係作最終判斷
  • 憑推測認定照片權利人或人物同意

AI的說明不能取代獸醫師、行政機關或律師等的個別判斷。

同時使用沙箱與核准機制

OpenAI官方文件將Codex的安全控制分成兩個層次。

  • 沙箱:可以寫入哪些位置、能否連接網路等,技術上可執行的範圍
  • 核准政策:例如超出範圍的操作,在執行前停止並向人員確認的條件

不只用文字交代「不要進行危險操作」,而要讓權限使AI即使出錯,也無法執行。此外,在OS、SSH、WordPress及預訂服務端,也應使用專用帳號與最小權限。

詳細權限設計,請參閱讓AI操作正式伺服器時的權限設計。

應立即停止的徵兆

  • 目標件數與事前確認不同
  • 委託唯讀工作,卻開始變更
  • 試圖存取陌生連線目標或外部服務
  • 試圖顯示密碼或秘密值
  • 備份或測試失敗
  • 執行結果與公開畫面不一致
  • 憑推測確定預訂、費用或貓咪狀態
  • 無法說明還原方法

發現異常時,不要用追加指令試圖補救,而應記錄當時的結果、目標、時間與錯誤。

工作前可使用的界線提示詞

請協助旅宿的WordPress維運。
先將工作分為下列三類,目前請勿執行。

1. 可交給AI的唯讀工作與本機原稿工作
2. 說明目標、備份與還原方式,經人員核准後執行的工作
3. 預訂、對外傳送、付款、個人資料、刪除、還原、權限變更等,不由AI單獨執行的工作

本次目的:[目的]
目標:[URL、原稿、文章等]

請提出必要的最小權限、變更目標、非目標、失敗時的停止條件,
以及發布後應確認的項目。
不明事實請勿猜測,請列出需要確認的對象與資料。
在我核准目標前,請勿登入、編輯、發布、傳送或刪除。

失誤後的紀錄範本

發生日期與時間:
委託目的:
允許範圍:
實際執行的內容:
受影響的文章、檔案與服務:
對對外傳送、個人資料與付款的影響:
停止時點:
可使用的已驗證備份:
復原負責人:
原因:事實誤認/目標錯誤/權限過大/確認遺漏/其他
下次的技術限制:
應補充至AGENTS.md・CLAUDE.md的規則:
核准恢復工作的人:

不要只以「AI出錯了」結束,而要建立機制,使下次同一項操作的影響在技術上無法擴大。

總結

AI維運安全性,是透過預設會失敗的範圍與停止條件建立,而非只靠完美提示詞。公開資訊調查與原稿提案可交由AI輔助;文章發布須逐件經人員核准;預訂、傳送、付款、個人資料、刪除、還原、權限變更,以及醫學或法律的最終判斷,不交給AI單獨執行。

貓宿研究所實際發生的例子,以及把失誤轉化成下一條規則的過程,介紹於貓宿研究所透過AI維運的實例。最初的安全規則與範本,請從使用Codex、Claude Code管理WordPress之前確認。

若還不確定要委託什麼工作,可以從旅宿主人適用的Codex、Claude Code諮詢入門,了解區分諮詢、調查與實作的對話方式。

參考資料

※產品設定與名稱可能變更。導入時,請確認OpenAI Docs、Anthropic官方資料,以及簽約中的伺服器、預訂與付款服務的現行步驟。

已複製標題與網址