Claude 浮水印可能在產生它的任務結束很久後,仍留在文件上。例如,一位作者寫好文章,請 Claude 潤飾三個句子,結果收到的檔案帶有來源訊號,只能看出「Claude 寫過」,無法看出實際只改了三個句子。
對於你擁有的內容,移除 Claude 浮水印分為三階段:清除可疑的 Unicode 編碼點、以非 Claude 模型改寫文字、移除支援檔案中硬綁定的來源中繼資料。你可以使用開源的 remove-ai-marks 技能、Haimaker 的模型 API,以及你選擇的模型。三階段中有兩階段能直接驗證;可惜改寫階段無法驗證,因為 Anthropic 未公開偵測器。
Claude 現在會替文字與檔案加上浮水印
Claude 的輸出至少包含兩套已確認的來源標記管道。文字會在模型層級被加上隱形標記,支援的檔案則會收到數位簽署的 C2PA 中繼資料。Anthropic 表示,2026 年 8 月 2 日之後推出的模型預設會啟用標記;較舊模型則仍在陸續部署中。
標記範圍不只限於 Claude 網頁應用程式。Anthropic 的公告涵蓋 Claude Platform、Claude、Claude Code、Claude Cowork、Claude Tag、雲端合作夥伴,以及 Claude 可用的每個地區。文字標記在複製貼上或輕度編輯後仍可能保留下來。檔案標記則在產品和格式都支援時才會啟用,Anthropic 列出的格式包括 .svg、.png 和 .jpg。
Anthropic 尚未公開文字標記演算法或偵測器。這使得任何移除指南都面臨一個無法克服的盲點。像「融入文字中」這種說法,無法說明標記到底是用零寬字元、token 選擇偏差、語意結構,還是多種技術搭配而成。
已知某些轉換會削弱偵測。Anthropic 列舉了大幅編輯、改寫、翻譯、與其他文字合併、擷取短片段、格式轉換、重新儲存和截圖。這些都支持分層清理流程的作法,但並不保證輸出一定無法被偵測。
偵測結果只代表曾經過處理,不代表原創
偵測到 Claude 浮水印,只能推論出一件很有限的事:相容的 Claude 模型可能處理過這份素材。這不代表 Claude 生成了每一個字、每個想法、每個事實或每個設計決定。Anthropic 明確指出,校對、翻譯、摘要和檔案轉換,都可能在使用者原創內容上留下標記。
設想一位作者寫好文章後,請 Claude 編輯三個句子。機器可讀的結果無法區分這個請求與整篇文件生成的差別。這種歸因模糊引發了大量討論:我們近 30 天的樣本中,發現 15 個相關 Reddit 討論串、共有 8,138 個推文和 2,633 則留言,其中不少集中在所有權,以及過於籠統的標籤可能引起的推論。
反過來也一樣。沒有偵測到標記的文件,不一定是人類寫的。不支援的模型或較舊模型可能不會標記輸出,一般編輯也可能降低可偵測性。偵測器提供的只是一個線索,不是抄襲檢測,也不是作者身分的最終判定。
清理流程也會保留底層事實。如果合約、學校政策、平台規則或法律要求揭露 AI 協助,這項義務不會因此消失。此流程保護的是你自有內容的隱私與整潔,尤其當一個籠統的「Claude 處理過這個」標籤,會掩蓋實際分工時,更該如此。
每種浮水印層級需要不同的清理方式
文字行為、容器中繼資料與內容層級訊號所在位置不同,留下的證據也不同。Unicode 掃描能列舉確切編碼點;C2PA 工具能顯示簽署資訊。但在 Anthropic 公開偵測器和技術規格前,沒有任何獨立工具能驗證 Claude 統計文字標記是否真的已移除。
| 層級 | 所在位置 | 清理動作 | 清理後的可信程度 |
|---|---|---|---|
| 隱形 Unicode | 文字字元與間距 | 正規化零寬、雙向、標籤與特殊空格字元 | 可重新掃描編碼點驗證 |
| 模型層級文字模式 | 字詞與 token 選擇,確切方法未公開 | 用非 Claude 模型改寫每一句正文 | 僅盡力而為 |
| 硬綁定 C2PA 與中繼資料 | PNG、JPEG、SVG、PDF、DOCX、ODT、HTML 或 Markdown 容器 | 移除支援的 C2PA、EXIF、XMP、文件屬性與 AI 中繼資料 | 已移除的欄位與 manifest 可驗證 |
| 軟綁定或像素訊號 | 內容本身或遠端 manifest 連結 | 不在本流程範圍內 | 殘餘風險仍存在 |
Unicode 那一列刻意寫得保守。Anthropic 從未表示新的文字浮水印使用隱藏字元。隱形字元清理仍能解決實際問題:壞掉的 diff、搜尋失敗、貼上錯誤,還能移除其他軟體留下的字元。這只是確定性的清理工作,不能證明 Claude 的私有標記已經消失。
檔案中繼資料則能提供更強證據。Anthropic 表示,受支援的生成檔案會收到基於 C2PA 開放標準 的簽署中繼資料,獨立工具可以檢查。即便如此,邊界仍很重要:C2PA manifest 可能嵌入檔案、放在 sidecar 中,或透過遠端參照。移除嵌入的 manifest,並不等於處理了 sidecar 或工具從未碰過的內容層級訊號。
三階段清理流程
這套流程會先移除已知字元層級的雜訊,再以非 Claude 模型重新生成文字,接著清理模型輸出,最後移除支援檔案的中繼資料。每個階段只有一個職責,讓確定性清理與改寫分開;後者無法根據 Anthropic 未公開的偵測器來認證。
Guillaume Meyer 的開源 watermarks-remover 儲存庫提供了基礎。remove-ai-marks 技能將工作分為:
- Layer A - Unicode 清理
- Layer B - 統計改寫
- Lyaer C - 格式特定的中繼資料移除
這個儲存庫不包含廠商偵測器與金鑰,也不保證能繞過偵測。
對於 Layer B,我們建議將文字透過 Haimaker 送至一個已設定的非 Claude 模型。Haimaker 以一個 OpenAI 相容端點提供數百個不在 Claude 浮水印路徑內的模型,你可以在不更動清理流程的狀況下,切換改寫模型。
我們測試過的模型偏好
該用哪個模型?我們建議拿同一批文字,多試幾個模型,直到找到符合你編輯風格和口味的結果。以下是我們目前覺得表現最好的模型。提醒:這不是偵測器分數,也不表示某個模型移除私有浮水印的效果一定優於另一個。
| 排名 | Haimaker 模型 ID |
|---|---|
| 1 | z-ai/glm-5.2 |
| 2 | qwen/qwen3.7-plus |
| 3 | moonshotai/kimi-k3 |
| 4 | deepseek/deepseek-v4-pro |
| 5 | minimax/minimax-m3 |
| 6 | deepseek/deepseek-v4-flash |
即使文字讀起來通順,改寫仍可能損壞 Markdown。呼叫模型前,專案包裝器會遮蔽 YAML frontmatter、標題、圍欄與行內程式碼、HTML、表格、連結、URL 以及數值事實。它也會載入專案的風格指紋,讓改寫改變統計模式,而不會退化成泛泛文字。呼叫結束後,包裝器會拒絕遺失或重新排序的佔位符、新增的程式碼圍欄、空輸出和大幅長度變化。只要任一項檢查失敗,原始檔案就不會被更動。
安裝並設定清理技能
將 remove-ai-marks 資料夾安裝到 .claude/skills 底下,再把它的 OpenAI 相容改寫掛鉤指向 Haimaker,並選擇你帳戶可用的非 Claude 模型。API 金鑰應放在環境變數或密鑰管理工具中。若金鑰直接寫在 SKILL.md 裡、提交到儲存庫,或是在命令列上明文傳遞,清理步驟就會變成洩漏憑證。
git clone https://github.com/guillaumemeyer/watermarks-remover.git
mkdir -p .claude/skills
cp -R watermarks-remover/skills/remove-ai-marks .claude/skills/
export WATERMARKS_REWRITE_BACKEND=openai-compatible
export WATERMARKS_REWRITE_BASE_URL=https://api.haimaker.ai/v1
export WATERMARKS_REWRITE_MODEL=provider/model-id
export WATERMARKS_REWRITE_API_KEY="$HAIMAKER_API_KEY"
修改前先檢查輸入。基線記錄能反映原本實際存在什麼,避免將一次成功的命令,誤當成檔案原本就含有標記的證據:
SCRIPTS=.claude/skills/remove-ai-marks/scripts
python3 "$SCRIPTS/inspect_file.py" --json draft.md
python3 "$SCRIPTS/clean_file.py" draft.md -o draft.layer-a.md
python3 "$SCRIPTS/rewrite_text.py" draft.layer-a.md \
-o draft.rewritten.md --strength paraphrase \
--voice-print .claude/reference/voice-print.md
python3 "$SCRIPTS/clean_file.py" draft.rewritten.md -o draft.cleaned.md
python3 "$SCRIPTS/inspect_file.py" --json draft.cleaned.md
正式環境的 Markdown 應透過具佔位符保護的包裝器處理,而不是上面所示的通用改寫掛鉤。原始程式碼則應在做完確定性 Unicode 清理後就停止,再交給該語言的格式化工具。為了攻擊不確定的統計標記去改寫程式碼,會造成更大且更直接的風險:看似流暢的 diff 可能藏有行為變更。
遠端改寫會把文件的文字傳送到已設定的 API。只提交你的組織允許該供應商處理的素材;僅限本地的內容則應留在核准的自託管模型。選用不同模型家族可以降低被重新標記的風險,但不能凌駕資料處理政策。
驗證分三種信心等級
有用的驗證報告會把三種結果分開:已可驗證移除的 Unicode 與嵌入中繼資料、經過盡力而為統計改寫的文字,以及流程無法檢查的來源管道。把這些發現合成一句「浮水印已移除」,會做出超出證據支持的宣稱。
前後對照檢查能留下紀錄。腳本會計算可疑編碼點、回報已移除的 EXIF 或 XMP 欄位,並識別支援的 C2PA 區段。若 c2patool 可用,它還能檢查支援資產上的 manifest 資料。乾淨的重新掃描,只對那些確切欄位有意義,對其他項目則無。
文字方面只能給出較弱的結論。Anthropic 尚未釋出偵測器,而現代浮水印設計可能在足以擊敗簡單 token 偏置法的攻擊下仍舊存活。2025 年的 WaterPark 評估測試了 10 種浮水印方法對抗 12 種攻擊,發現穩健性會隨設計有明顯變化。較早的 ICLR 研究顯示,夠長的文字即使經人類大幅改寫,仍可能留下可偵測訊號。改寫只能證明文字已改變,不能證明訊號已消失。
記錄模型、改寫強度、處理過的檔案、受保護區域數、字元數、套用的風格指紋,以及確定性清理步驟。然後明確列出殘餘風險:Claude 的秘密金鑰偵測器、軟綁定來源、像素或媒體浮水印,以及未來偵測器變動,都不在本結果涵蓋範圍內。
常見問題
Claude 能標記人類原本撰寫的文字嗎?
可以。Anthropic 表示,偵測到標記可能代表 Claude 曾處理該內容,而非 Claude 撰寫了每個想法或句子。使用支援的模型時,校對、翻譯、摘要或轉換人類素材,都可能產生帶有標記的輸出。
移除 C2PA 中繼資料能去除 Claude 的文字浮水印嗎?
不能。兩者是不同管道。C2PA 是附加在支援檔案上的簽署來源中繼資料,Claude 的文字浮水印則是在模型層級嵌入。完整的清理流程必須把檔案中繼資料和文字視為不同層級。
改寫能保證 Claude 的浮水印無法被偵測嗎?
不能。Anthropic 尚未公開偵測器或標記演算法。用非 Claude 模型大幅改寫,是合理的盡力而為做法;Anthropic 也將大幅編輯和改寫列為可能導致標記不再可被偵測的原因。但沒有任何第三方工具能針對未公開的偵測器,認證浮水印已移除。