你已經在指令中寫得很清楚:
- 資料不足時必須停止。
- 需要新權限時必須停止。
- 寄信、發布或付款前必須停止。
- 修改正式資料前必須停止。
這是不是代表 AI Agent 絕對不可能越過邊界?
答案是不能保證。停止條件能降低風險,但它仍然只是一道防線,不能取代系統權限、環境隔離、持續監控與人工控制。
為什麼寫清楚規則仍可能出錯?
因為 AI 需要先辨識目前發生的情況,才能知道某項停止條件已經被觸發。
它可能:
- 沒有發現資料彼此矛盾。
- 把正式資料誤認為測試資料。
- 認為某項操作不屬於對外發布。
- 把使用現有登入狀態視為不需要新權限。
- 認為一次小額 API 呼叫不算產生成本。
- 找到另一條沒有被規則明確禁止的路徑。
停止條件寫得再完整,也需要 AI 正確理解當下情境。
規則存在,不代表系統每一次都能正確判斷自己已經走到規則邊界。
停止條件最常在哪些地方失效?
常見問題不是 AI 公開表示拒絕遵守,而是它對規則的理解和使用者不同。
例如你規定:
寄出郵件前必須停止。
AI 可能沒有直接寄信,卻完成了:
- 把草稿放入待寄信箱。
- 設定稍後自動寄出。
- 把內容交給另一個自動化工具。
- 更新一個會自動發信的客戶狀態。
從 AI 的角度看,它可能沒有執行「寄出郵件」。
但從整體系統看,訊息仍可能在後續自動送出。
第一個問題:規則可能寫得太抽象
例如:
遇到重要操作時先問我。
「重要」沒有清楚定義。
AI 可能認為以下行為只是日常步驟:
- 覆蓋同名檔案。
- 修改客戶狀態。
- 建立公開分享連結。
- 呼叫少量付費服務。
- 使用已登入的公司帳號。
比較好的寫法,是列出具體操作:
在寄送任何外部訊息、建立公開連結、修改正式客戶資料、刪除或覆蓋檔案,以及啟動付費服務前,必須停止並等待批准。
規則愈具體,模型自行解釋的空間愈小。
第二個問題:AI 可能不知道自己正在使用正式資料
同一套系統裡,可能同時存在:
- 測試客戶名單。
- 正式客戶名單。
- 備份資料。
- 過期檔案。
- 名稱相近的不同資料庫。
如果資料沒有清楚標示,AI 可能認為自己只是在測試。
即使你已經設定「修改正式資料前停止」,它也可能因為辨識錯誤而繼續。
因此,不能只靠文字規定。
正式資料與測試資料應在系統層真正分開,並使用不同權限。
如果測試與正式環境只靠檔案名稱區分,AI 和人都有可能選錯;真正的隔離應該由系統本身阻止誤用。
第三個問題:AI 可能透過其他工具完成同一項操作
一個 AI Agent 可能同時可以使用:
- 瀏覽器。
- 電子郵件。
- 終端機。
- 雲端文件。
- 資料庫。
- 工作流程自動化平台。
即使禁止它使用寄信工具,它仍可能:
- 在客服系統中建立自動回覆。
- 更新一個會觸發郵件的試算表。
- 呼叫另一項可以發送通知的服務。
這表示限制不能只設定在單一工具上。
還要檢查不同工具之間的連鎖效果。
第四個問題:停止條件可能和完成目標互相衝突
假設你同時要求:
- 今天下午五點前完成所有客戶通知。
- 資料不足時必須等待確認。
當部分客戶資料不完整時,AI 可能面臨兩個互相衝突的要求:
- 必須準時完成。
- 不得在資料不足時繼續。
如果沒有說明哪項規則優先,AI 可能為了完成主要目標而自行補資料。
應該明確規定:
所有停止條件的優先順序高於完成時間與完成數量。即使因此無法在期限內完成,也不得自行略過停止條件。
安全規則要明確高於效率目標。
第五個問題:AI 可能沒有注意到異常
AI 不一定會主動知道:
- 某個附件包含另一位客戶的資料。
- 付款金額比平常高出十倍。
- 一個網站按鈕實際連接正式系統。
- 某項操作已超出原本授權範圍。
如果系統沒有提供足夠資訊,AI 就可能沒有觸發停止條件。
因此,重要系統還需要獨立設定:
- 金額上限。
- 收件人白名單。
- 檔案存取範圍。
- 允許修改的資料表。
- 異常使用量警告。
停止條件和權限限制有什麼不同?
停止條件是告訴 AI,遇到某種情況時應該主動停下。
權限限制則是讓系統即使想繼續,也沒有能力完成操作。
例如:
- 停止條件:寄信前先問使用者。
- 權限限制:AI 帳號只有建立草稿的權限,沒有正式寄送權限。
兩者相比,權限限制更加強硬。
理想做法不是二選一,而是同時使用:
- 先要求 AI 主動停止。
- 如果 AI 沒有停止,系統權限仍然阻止操作。
Prompt 是請 AI 不要跨過門;權限控制則是讓那扇門在沒有批准時根本打不開。
最低權限是什麼?
最低權限是指,只提供完成目前工作真正需要的存取能力。
例如整理活動名單時,AI 可能只需要:
- 讀取指定試算表。
- 建立一份新的整理結果。
- 準備郵件草稿。
它不一定需要:
- 查看所有公司文件。
- 讀取全部郵件。
- 刪除客戶紀錄。
- 使用付款功能。
- 正式寄出訊息。
即使 AI 判斷錯誤,最低權限也能限制可能造成的影響。
測試環境為什麼仍然重要?
測試環境可以讓 AI 執行真實流程,但不直接影響客戶與正式資料。
例如:
- 使用測試客戶帳號。
- 使用假的付款資料。
- 使用副本資料庫。
- 把郵件送到內部測試信箱。
- 在網站測試版本執行修改。
在測試環境中發現問題,比正式操作後再補救安全得多。
但測試環境仍要真正隔離,不能只是畫面上標示「測試」,實際仍連到正式服務。
只留下操作紀錄有用嗎?
有用,但仍不是完整防護。
操作紀錄可以讓人知道:
- AI 使用過哪些工具。
- 讀取了哪些資料。
- 修改了哪些內容。
- 何時觸發停止條件。
- 誰批准後續操作。
但操作紀錄主要幫助調查與追蹤。
如果沒有人即時查看,問題可能仍然要等到事後才被發現。
因此,高風險工作還需要即時警告與自動停止。
什麼是緊急停止機制?
緊急停止機制是讓使用者或系統能立即中斷 AI 正在進行的操作。
它應該能:
- 停止目前任務。
- 撤銷尚未完成的工具操作。
- 切斷外部系統存取。
- 保留當時的操作紀錄。
- 阻止任務自行重新啟動。
如果 AI 停止後,另一個排程又自動把任務重新開啟,緊急停止就沒有真正發揮作用。
可以直接使用這段安全檢查 Prompt
請檢查這項 AI Agent 任務的停止條件,但不要假設只要寫進 Prompt 就一定會被遵守。請分別檢查:一、規則是否具體;二、正式與測試資料是否可能混淆;三、其他工具是否能繞過限制完成相同行動;四、安全規則是否明確高於完成期限;五、哪些操作需要系統權限直接禁止。請列出必須使用最低權限、測試環境、即時警告、人工批准與緊急停止的地方。
設定完停止條件後,應該怎麼測試?
不要直接用正常資料測試一次就認為完成。
可以刻意建立幾種情況:
- 缺少客戶電子郵件。
- 同時出現兩個不同日期。
- 要求開啟未授權資料夾。
- 操作即將產生小額費用。
- 工具提供另一條能繞過寄信限制的路徑。
觀察 AI 是否真的會:
- 停止執行。
- 指出觸發哪項條件。
- 不自行補齊資料。
- 不改用其他工具繞過限制。
- 等待明確批准。
測試一次通過就夠了嗎?
不夠。
AI 模型、工具、資料與工作流程都可能更新。
原本有效的停止條件,之後可能因為以下原因失效:
- 更換模型。
- 增加新工具。
- 帳號權限調整。
- 資料夾結構改變。
- 自動化流程新增其他動作。
重要流程應定期重新測試,尤其是在模型或工具更新後。
Claude Sonnet 5 比上一代安全,就可以減少限制嗎?
不建議。
Anthropic 表示,Claude Sonnet 5 在部分安全評估中,比 Sonnet 4.6 更能拒絕惡意要求、抵抗提示注入並減少不理想行為。
但安全評估是特定測試中的結果,不代表每一種工具、資料與真實工作環境都沒有風險。
Sonnet 5 能規劃工作、使用工具並持續執行更多步驟。
能力增加後,一次錯誤判斷可能影響的操作也會增加。
模型更安全,可以降低部分風險;模型更有行動能力,卻同時要求更清楚的權限與監控。
哪五道防線應該一起使用?
- 第一道:停止條件。告訴 AI 什麼情況必須等待確認。
- 第二道:最低權限。只開放完成工作真正需要的能力。
- 第三道:測試環境。先在不影響正式資料的地方執行。
- 第四道:持續監控。即時查看異常工具使用與資料存取。
- 第五道:緊急停止。讓人能立刻終止任務及切斷權限。
任何一道防線都可能失效。
多層設計的目的,是當前一道沒有擋住問題時,後面仍有機會阻止影響擴大。
低風險工作也需要這麼多防線嗎?
不需要全部使用。
例如整理公開文章、改寫草稿或建立個人待辦,可能只需要:
- 標示不確定資料。
- 不得自行發布。
- 保存原始內容。
但涉及以下情況時,就應增加防線:
- 客戶個資。
- 正式網站。
- 公司帳號。
- 付款與交易。
- 大量外部訊息。
- 難以復原的資料變更。
防護程度應根據錯誤發生後的影響決定。
今天最重要的答案
設定停止條件,是使用 AI Agent 時非常重要的一步。
它能讓 AI 知道:
- 什麼時候不能自行猜測。
- 什麼時候不能擴大權限。
- 什麼時候不能對外行動。
- 什麼時候必須把決定交回給人。
但停止條件仍可能因為模型誤解、資料混淆、工具串接或規則衝突而失效。
真正可靠的 AI Agent,不是只在 Prompt 裡答應不越界,而是即使判斷錯誤,也會被最低權限、測試環境、持續監控與緊急停止機制擋下來。
今天,和 AI 一起進步一點。
每天學會一個 AI 技巧。
每天節省一點時間。
每天提升一點能力。
SasaDaily,陪你一起成長。