8月25日、blopig.comが「Claude now watermarks its text: here's what is actually happening under the hood」と題した記事を公開した。この記事では、AnthropicがClaudeに実装したテキスト透かし技術の仕組みをモデルレベルで解説している。以下に、その内容を紹介する。
「透かし」の正体はUnicode文字でも隠しトークンでもない
2026年8月11日、Anthropicは2026年8月2日以降にリリースされるすべてのClaudeモデルが生成するテキストに透かしを埋め込むと発表した。チャットアプリだけでなく、API、Claude Code、その他あらゆる上位レイヤーから呼び出された場合も対象となる。透かしはモデルレベルで動作するからだ。
この発表を受け、特にアカデミック界隈では「ゼロ幅文字を使っているのか?」「正規表現で除去できるか?」といった混乱が広がった。だが記事はそれらをすべて否定する。
透かしはメタデータでも、不可視のUnicodeでも、隠しトークンでもない。どの単語を選択したかという統計的なパターンだ。だからコピー&ペーストで消えず、書き直せば薄れる。
仕組みの核心:サンプラーへの「擬似乱数の差し替え」
LLMはトークンを直接出力するのではなく、語彙全体(数万トークン)に対するlogitsベクトルを出力し、softmax関数で確率分布に変換する。その分布から1トークンを選ぶのがサンプラーと呼ばれるコンポーネントだ。「再生成」のたびに結果が変わるのは、このサンプリングに乱数が使われているからである。
透かしの本質は一文で言える:サンプラーの真乱数発生器を、秘密鍵と直前数トークンでシードされた疑似乱数発生器に置き換える。鍵を持つ検出器は、各位置での乱数を再計算し、テキストがその乱数と統計的に整合しているかを検定できる。
3世代の技術系譜:AaronsonからSynthID-Textへ
Claudeが採用しているのはSynthID-Text(DeepMind、Nature 2024)であり、その源流は2022年にScott AaronsonがOpenAI在籍時に提案したスキームにある。
第1世代:Aaronsonのexp-minimumサンプラー(2022)
直前Hトークンと秘密鍵をPRF(擬似ランダム関数)に入力して得た値 u_t を、各トークンの選択に使う。鍵なしには u_t は一様乱数に見えるため出力分布は変わらないが、鍵ありで検出スコアを計算できる。
第2世代:Kirchenbauer et al.のグリーンリスト法(2023)
前トークンのハッシュで語彙を「緑」「赤」に分割し、緑トークンのlogitsにバイアスδを加える。シンプルで堅牢だが、logitsを直接操作するためテキスト品質が劣化しうる。
第3世代:SynthID-Textのトーナメントサンプリング
Claudeが採用している方式。2つの要素からなる:
- g値:各デコードステップで、鍵と直前Hトークンのハッシュを使い、語彙の各トークンに擬似ランダムなスコア g ∈ {0,1} を m 層分割り当てる
- トーナメントサンプリング:確率分布 p から 2^m 個の候補をサンプリング。1層目のg値で勝者を絞り、2層目で再び絞り…を m ラウンド繰り返して最終トークンを決定する

logitsに一切手を加えないのが重要な点だ。候補は p からサンプリングされるため、確率0.94のトークンはほぼ必ずトーナメントに多数現れ、g値によらず勝つ。確率0.05のトークンはg値が高い時だけ勝ち残る。透かしの強度がエントロピーに比例して自動調整される設計になっている。Anthropicが「モデルの速度への影響は無視できる水準」「余分なトークンは生成しない」と言えるのも、サンプラーの差し替えだけで完結するからだ。
検出は仮説検定:p値で判定する
検出側は秘密鍵を用いてg値を再計算し、文書全体で平均を取る。人間が書いたテキストでは各gは公平なコイン(期待値½)。透かし入りテキストでは½より高くなる。検定統計量はz値で、偽陽性率を自分で設定できる。

記事では50トークンの語彙・4層構成のトイ実装(約40行)でシミュレーションを行い、2つの重要な特性を示している:
- 信号はトークン数nの√nで成長する。ツイート程度では検出不能、段落単位で微妙、1ページあれば明確になる
- 低エントロピーテキストでは信号が弱い。コードは極端な例で、透かしは実質的にコメント部分にしか乗らない。「正確な出力が必要な場面では透かしは適用されない」とAnthropicも明示している
書き換えへの耐性と限界

人間が書き直したトークンは公平なコインのgを持つため、信号は置換した割合にほぼ線形で減衰する。公式見解の「軽い編集では消えにくく、全文書き直しで消える」はこの特性から来ている。
別のLLMへのパラフレーズが最も効果的な攻撃手法であることは、SynthIDの論文自体が認めており、Claudeの実装でも変わらない。
これは「ゼロビット透かし」だ
この透かしが証明できるのは1ビットの情報だけだ:「このテキストはAnthropicの鍵を持つサンプラーで生成された」。ユーザー識別、会話ID、モデルバージョンは含まれない。Anthropicは「ユーザー、所属組織、チャット内容を復元できる情報は透かしにも鍵にも含まれない」と明示している。
また、著者性と処理の区別はできない。Claudeに自分の文章を翻訳させれば、出力は全トークンがClaudeによる選択なので完全に透かし入りになる。句読点だけ修正させればほぼ信号は乗らない。検出器が答えられるのは「このテキストにClaudeが関与した可能性はどれくらいか」であり、「Claudeが書いたか」と「Claudeが大幅加筆したか」は区別できない。
アカデミックな文脈での実際の意義
現在大学で使われているAI検出ツールの多くは文体的分類器(パープレキシティや「burstiness」を見る)であり、非ネイティブ英語話者への誤検知問題が指摘され、静かに使用を停止した機関も複数ある。
鍵付き透かしはこれとは原理的に異なる。偽陽性率は設計者が数値で設定でき、文体に依存しない。ただし現実的な限界もある:
- 別のモデルや旧Claudeを使えばクリーンな結果になる
- 別のLLMでパラフレーズすれば検出を回避できる
- Claudeに「校正だけ」頼んだ場合も信号は薄い
現実的に機能するのは「最新Claudeで生成した長文・高エントロピーな文章をそのまま提出した」という最も怠惰な不正の検出だ。それでも、誤検知をほぼゼロにしながら明確なケースを確実に捕捉できる点は、既存ツールにはない強みである。
なお、検出APIはAnthropicが提供するサービス経由になる見込みで、鍵はAnthropicが管理するという構造上のガバナンス問題も残る。
詳細はClaude now watermarks its text: here's what is actually happening under the hoodを参照していただきたい。