即便現在模型越來越聰明,能力也越來越強,依舊還是會不小心犯錯。最近一位國外網友就在 Reddit 分享,他叫 Claude Opus 5 幫忙製作一份備份,而就這麼簡單的指令,做的事也不複雜,最後還是出錯,把他整個使用者資料夾給刪除,而且最後還只回一句「抱歉,打錯了」,彷彿什麼事情都沒發生一樣。
叫 Claude Opus 5 做備份,它反手 rm -rf 刪光整個個人資料夾,事後只回一句「抱歉,打錯字了」
一位 Reddit 使用者 u/Ecstatic-Big5126 在 r/ClaudeCode 版上分享:我請 Claude Opus 5 建立一個備份。結果,它把備份建在了錯誤的目錄,然後接著對我的整個硬碟執行了 rm -rf。在把所有東西都抹除之後,它只回了一句:「抱歉,打錯字了。」……就像什麼事都沒發生過一樣。
雖然他內文寫說是整顆硬碟,但從圖片可以看出,實際情況沒有這麼糟,但也不能說不痛。Claude Opus 5 實際執行的是 rm -rf /c/Users/harih/,harih 是他的帳號名,所以被清掉的是他的使用者資料夾,也就是 Windows 上的 C:\Users\你的帳號,桌面、文件、下載、圖片全在裡面,加上一堆軟體的設定檔、瀏覽器資料、SSH 金鑰跟專案原始碼:
至於 Windows\、Program Files\ 這些系統跟軟體本體並沒有被動到,所以他的電腦還開得起來、系統還在。只是作業系統重灌就有,軟體重裝就有,對電腦來說,使用者資料夾裡的檔案才是最重要的。
那 Claude Opus 5 為什麼會判斷錯?關鍵在路徑格式。他在 Windows 上透過 Unix 風格的 shell 在工作(Git Bash、WSL 這類環境),這種環境會把 C:\Users\harih\ 映射成 /c/Users/harih/ 的寫法。AI 看到這串斜線開頭、又不太像標準 Unix 家目錄(正常會是 /home/使用者 或 /Users/使用者)的路徑,就判斷它是某個臨時資料夾,於是決定「順手清乾淨」。
你可能會想問,刪除應該有辦法還原吧?
rm -rf 這指令,rm 是 remove 的縮寫,作用就是刪除檔案,而後面的 -rf 也各有不同作用。-r 是遞迴,代表「這個資料夾底下所有東西,連同子資料夾一路刪到底」,-f 是強制,代表「不用問我、不用確認、就算檔案是唯讀的也照刪」。兩個合在一起,就是「把我指定的這整個資料夾都全部清掉」。
這跟在 Windows 按 Delete 鍵完全是兩回事。在檔案總管刪東西,檔案會進資源回收筒,後悔了可以還原。rm -rf 就不能,而且也沒有確認視窗、沒有進度條讓你來得及按取消。以現在的 SSD 速度,幾萬個檔案大概兩三秒就處理完了。等看到畫面上跑出結果,事情已經完成了。
所以說,在使用這類 AI 代理工具時,就算 AI 模型再強,還是一定要設好防護,一般來說做法有三層。
第一層是「別讓 AI 直接在你的電腦上跑」。 現在有 Docker 容器、虛擬機這類工具,可以幫 AI 開一個獨立的封閉空間,你只把這次要用的專案資料夾開放給它,其他地方它連看都看不到。
第二層是在工具設定裡,直接禁止 AI 刪東西。 Claude Code 跟 OpenCode 這類工具都有設定檔(分別是 .claude/settings.json 跟 opencode.json),裡面可以列一份「禁止清單」,把 rm 這種刪除指令設成拒絕。
這層還有一個小技巧,幫 AI 準備好一個垃圾桶資料夾。規定它永遠不准真的刪除檔案,只能把東西搬進專案裡的垃圾桶。這樣就算犯錯,刪到不該刪的檔案,你隨時能救回,事後也看得出它動過什麼。
第三層,也是最後一道,當然就是「備份」。


