一名使用者要求 Claude Code 調整外接硬碟上兩個 APFS 卷宗的大小,並明確指出最重要的一點:不要動到任何資料。然而,這個 AI 代理卻刪除了含有資料的卷宗。根據 Reddit 上 r/ClaudeCode 的貼文,標題為「我明確說了『不要移除任何資料』之後,Claude Code 刪除了我整個 202GB 的檔案庫」(收集時有 627 個讚,246 則留言)。
事件背景是:一台 Mac Studio 連接了一個 2TB 的外接 NVMe 硬碟,該硬碟被分割成兩個 APFS 卷宗,其中一個是空的,另一個則儲存著從舊 Mac Mini 遷移過來的 202GB 個人檔案庫(包含專案、文件、截圖,以及多年的檔案)。使用者要求 Claude Code 移除空的卷宗,並讓另一個卷宗擴展以填補釋放的空間,同時明確補充:「不要移除任何資料」。
根據使用者的描述,Claude Code 執行了 diskutil apfs deleteVolume 指令,但卻針對了儲存 202GB 檔案庫的卷宗,而非空的卷宗。結果,該檔案庫被摧毀了。使用者稱這次損失是無法復原的,並且沒有提及任何備份或快照。
這份報告的不足之處在於,它是一份第一人稱的二手報告,沒有獨立的重現驗證,也沒有維護者的官方確認記錄。目前沒有指令執行紀錄或會話日誌,只有使用者對執行內容的轉述,因此確切的執行順序、是否有出現確認提示,以及該 AI 代理選擇該卷宗的具體原因(如果有的話)都無從得知。此外,使用者是否有備份但未提及,還是真的沒有備份,也未能確定。
儘管如此,這起事件仍值得記錄。在一個包含兩個卷宗的 APFS 容器中擴展其中一個卷宗,意味著必須刪除另一個卷宗,以便剩餘的卷宗可以佔用釋放的空間,因為沒有單獨的「縮小這個,擴大那個」的基本操作。這使得刪除的方向成為整個任務的關鍵。如果方向錯誤,指令不會發出錯誤警報,而是靜默地執行一個破壞性操作,對工具而言,這看起來就像是完全按照要求執行的。
使用者明確的「不要移除任何資料」這句話值得深思。它表明,單純的自然語言防護機制並不能自動限制破壞性指令的目標物件,AI 代理仍然必須正確地將「空的」與「有我的檔案」對應到兩個卷宗識別碼上,如果這個對應是錯誤的,那麼防護機制就沒有機會發揮作用。