<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>EU AI Act on KbWen Blog</title>
    <link>https://www.kbwen.com/tags/eu-ai-act/</link>
    <description>KbWen is a practical technology blog about AI systems, machine learning, Python, data engineering, and software development.</description>
    <generator>Hugo</generator>
    <language>zh-tw</language>
    <image>
      <url>https://www.kbwen.com/images/og-default.png</url>
      <title>KbWen Blog</title>
      <link>https://www.kbwen.com/</link>
    </image>
    
    <lastBuildDate>Tue, 25 Aug 2026 10:30:00 +0800</lastBuildDate><atom:link href="https://www.kbwen.com/tags/eu-ai-act/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Claude 的文字浮水印怎麼運作</title>
      <link>https://www.kbwen.com/claude-text-watermark-how-it-works/</link>
      <pubDate>Tue, 25 Aug 2026 10:30:00 +0800</pubDate><dc:creator>KbWen</dc:creator>
      <guid>https://www.kbwen.com/claude-text-watermark-how-it-works/</guid>
      <description>Anthropic 說明了未來 Claude 的文字浮水印怎麼做：做法是換一個亂數來源，用來決定下一個字挑哪一個，不加字也不多花 token。這篇是來聊聊我們目前獲得的資訊有哪些。</description>
      <content:encoded><![CDATA[<p>Anthropic 的說明裡有一句是：「The weather today was cold and…」。下一個字不太可能是 sugary，比較可能是 overcast，也可能是 grey，兩個字擺進去意思差不多，讀的人大概也不會覺得哪個比較對。兩邊都行的時候，原本是丟<a href="/why-ai-gives-different-answers/">亂數</a>決定要用哪一個。現在變成模型會準確地介入如何挑字。</p>
<blockquote>
<p><strong>TL;DR：</strong> 未來的 Claude 模型產生的文字會帶浮水印，不過讀起來不會有差別：沒有加字、沒有隱藏字元，不多花 <a href="/what-is-token-in-llm/">token</a> 也不變貴，而且查不到是誰用的。能查出來的只有一件事，那就是 Claude 大概參與過這段文字。</p>
</blockquote>
<h2 id="浮水印的做法">浮水印的做法</h2>
<p>文字浮水印所改變的，就是亂數的來源。不再拿一般的亂數產生器來挑下一個字，改成用一把鑰匙、加上前面幾個字，算出最後要挑哪一個。挑出來的字對使用者來說看起來還是隨機的，有的句子用了 overcast，下一句就換成 grey，端看前面接了什麼；差別在於，手上有同一把鑰匙的人回頭看整段文字，可以算出整串字有多像是照那把鑰匙挑出來的，然後給出一個機率。這套方法出自 SynthID-Text，Google DeepMind 在 2024 年的 Nature 論文上發表，再往前可以追到 Scott Aaronson 2022 年的提案，這類方法的共同點就是只換掉挑字用的亂數來源。</p>
<p>浮水印沒有把任何東西加進文字裡，也沒有隱藏字元，讀的人分不出來差別。速度上的影響完全可以忽略；因為沒有多產出任何 token，服務和使用的價格也跟以前一樣。Anthropic 的內部測試中沒有看到內容、創意或可讀性上的任何影響。</p>
<h2 id="適用和不適用的地方">適用和不適用的地方</h2>
<p>浮水印只跟著 Claude 自己挑的字。所以同一段文字裡，模型在哪個位置愈沒得選，就越不適合使用。</p>
<p>牛頓有一本書叫 Principia，後面接的只能是 Mathematica，換成別的字就是錯的，浮水印在這裡沒有東西可以動。2 + 2 = 之後也一樣，算數學時沒有別的答案跟 4 一樣好；但如果講的是歐威爾的《一九八四》，也沒有別的答案能跟 5 一樣好。</p>
<p>程式碼多半也屬於這一類。要求精確的地方沒有選擇可言，換個名字就跑不動，所以程式碼裡的浮水印通常比其他形式的文字少。真的有得用的地方可能是註解，因為這對跑出來的程式本身影響可以忽略，描述上人類或 AI 也看得懂。</p>
<p>翻譯剛好相反，整篇文章、整個段落每個字都是 Claude 輸出的。校稿那邊相對也較少：把一篇人寫的東西交給 Claude，如果只改文法跟標點、其他都不動，輸出的字幾乎都還是原作者的，能產生浮水印的地方就只剩那幾處改動，甚至有可能少到量不出來。</p>
<h2 id="查詢範圍">查詢範圍</h2>
<p>如果拿鑰匙去計算，得到的答案會是：這段文字有多大機率跟 Claude 有關。這個方式不能證明某段文字是否是人寫的，也認不出別家 AI，畢竟別家用的是不同把鑰匙，方法可能也不一樣，當然別家也不能知道是否是 Claude寫的。如果輸入樣本太短的時候也不行，選擇少，能拿來計算比對的資訊就不夠，文章愈長把握才愈高。至於是否是編輯過或是完全是 Claude 寫的，浮水印分不出「Claude 寫的」和「Claude 大幅編輯過的」。關於隱私的部分，Anthropic 說這是無法知道原本使用者的，浮水印和鑰匙裡都沒有能還原使用者、組織或對話的資訊。</p>
<p>值得注意的是，這跟市面上那些看文風抓 AI 的偵測軟體不一樣。那類服務偵測的是文字本身露出來的文字破綻。像是AI 模型特別偏愛 this isn&rsquo;t [X], it&rsquo;s [Y] 這種句型，或是常見的連續破折號，另外也有 quietly 出現的頻率也比預期高這種。</p>
<p>不過呢現在還無法驗出。浮水印偵測 API 也是以後才會提供；這個公告說的日期八月二號之前推出的舊模型還在過渡期，因此浮水印的工作會分幾個月陸續推出。</p>
<p>如果使用者很在意的話，改寫倒是有辦法解決，輕微修改可能只會有少量改變，但如果文章整篇每個字都換過的話就可以改變，但如果每個字都換的話，可能要想想如何適合的導入 AI 寫文章了。但是上面說的改到那個地步之後，這段文字到底還算不算 AI 生成的呢，Anthropic 說這件事可以爭論。</p>
<h2 id="額外說明檔案上的做法">額外說明檔案上的做法</h2>
<p>Claude 產出 png 、 jpg 、 svg 這類的圖檔時，會在 metadata 裡附一張加密簽章過的小紙條，說明檔案是 Claude 製作或處理過的，用 C2PA 相機廠和修圖軟體都在用的公開標準。但不像是文字，檔案本身是沒有被改動。</p>
<h2 id="歐盟規定">歐盟規定</h2>
<p>Anthropic 連同其他幾家主要的模型供應商，在 2026 年 7 月簽了 EU Code of Practice on Transparency of AI-Generated Content。而歐盟的要求是從八月二號起算：在歐盟市場提供服務的 AI 供應商，都必須標記 AI 生成的內容。其他開發商也會著手做自己的浮水印。</p>
<p>浮水印一開始就是全球適用。Anthropic 說目前還沒有穩定的辦法可以按地區劃分，之後他們會繼續評估別的做法，有進展再隨時更新。</p>
<hr>
<p>這篇文章主要是照著 Anthropic text watermark 這篇 news 寫的，大家在意的偵測 API 目前還沒開放，也沒辦法自己檢驗確認。在這個大量 AI 產出文章的新時代裡，身為提供內容的人更要去思考該如何與 AI 共存，才能持續寫出真的有意義以及自己風格的文章。</p>
<h2 id="資料來源">資料來源</h2>
<ul>
<li><a href="https://www.anthropic.com/news/claude-text-watermark">How Claude&rsquo;s text watermark works</a>（Anthropic，2026-08-14）</li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
