編輯評論

這個「訊息來源混淆」bug 的嚴重性遠超一般人意識到的層次。這不僅僅是傳統意義上的 AI 幻覺問題,而是系統架構層面的缺陷。當 AI 工具具備執行權限時(特別是在 DevOps 或開發環境中),若無法正確區分「自身思考」與「使用者指令」,可能導致不可逆的破壞性操作。這暴露了當前 AI Agent 架構在權限驗證機制上的根本性缺陷。

更值得關注的是,這個問題似乎不是模型本身的推理問題,而是發生在「harness」(執行層/封裝層)。這意味著即便模型本身的安全對齊做得再好,如果傳遞訊息的系統層出現標記錯誤,所有的安全防線都可能被繞過。這提醒我們,在部署具備實際操作能力的 AI 系統時,需要建立多層驗證機制,包括雙向確認、操作日誌審計、以及關鍵操作的人工覆核。

結論摘要

  • Claude 會將自己發出的訊息誤認為是使用者輸入,導致錯誤執行指令且強烈否認是自己的判斷
  • 這個問題不是模型幻覺,而是系統架構層面的 bug,可能出現在任何具備執行能力的 AI 工具中
  • 多名使用者在不同場景下都遇到相同問題,包括 Reddit 社群與 Hacker News 討論
  • 此問題在對話接近上下文視窗上限時(所謂的「Dumb Zone」)更容易出現
  • 給予 AI 系統操作權限時,必須建立額外的驗證與確認機制,不能單純依賴模型自身判斷

原文翻譯

漏洞所在

Claude 有時會傳送訊息給自己,然後認為那些訊息來自使用者。這是我見過 LLM 提供商最嚴重的 bug,但人們總是誤解發生了什麼,並將問題歸咎於 LLM、幻覺或權限邊界不足。這些是相關議題,但這個「誰說了什麼」的 bug 在本質上是截然不同的。

我在《The worst bug I’ve seen so far in Claude Code》一文中詳細寫了這個問題,展示了兩個 Claude 給自己指令然後相信那些指令來自我的例子。

Claude 告訴自己我的拼字錯誤是故意的並照常部署,然後堅持說是我說的。

不只我有這問題

這裡有一個 Reddit 討論串,Claude 說「把 H100 也拆掉」,然後聲稱是使用者給了那個指令。

來自 r/Anthropic —— Claude 給自己一個破壞性指令並歸咎於使用者。

「你不該給它那麼大的權限」

對我前一篇文章的評論是諸如「它應該幫助你在 DevOps 上使用更多紀律」之類。而在 Reddit 討論串中,許多評論屬於「不要給它這麼多生產環境的存取權限,特別是如果你有想保留的資料」。

這不是重點。是的,當然 AI 有風險且行為不可預測,但在使用幾個月後,你會對它犯什麼類型的錯誤產生「感覺」,什麼時候該更密切監控,什麼時候該給它更多權限或更長的鬆繩。

這類 bug 似乎是在 harness 中,而不是在模型本身。它某種程度上將內部推理訊息標記為來自使用者,這就是為什麼模型如此確信「不,是你說的」。

之前,我以為這是暫時性的 —— 我在一天內看到幾次,然後幾個月沒再發生。但要么是他們有回歸,要么是巧合,它只是偶爾出現,人們只有在它給自己許可做壞事時才注意到。

更新

這篇文章在 Hacker News 上登上了第一名,看來這確實是一個普遍問題。這裡有 nathell 分享的另一個非常清楚的例子。

來自 nathell —— Claude 問自己「我應該提交這個進度嗎?」並將其視為使用者批准。

有幾個人質疑這是否真的像我假設的那樣是 harness bug,因為人們報告在使用其他介面和模型(包括 chatgpt.com)時也有類似問題。有一個模式似乎是,當對話開始接近上下文視窗的限制時,它會發生在所謂的「Dumb Zone」(愚蠢區)。