Claudeのテキスト透かしは常に有効とは限らない:開発者が確認すべき3つのサンプリングパラメータと5種類のAPI設定

Claudeのテキスト透かしは常に有効とは限らない:開発者が確認すべき3つのサンプリングパラメータと5種類のAPI設定

著者注:Anthropic は公式ドキュメントを更新し、Sonnet 4.6 ではサンプリングパラメータをデフォルト以外に設定すると、テキスト透かしが確実に付与されない可能性があると注意を促しました。この記事では、Claude のテキスト透かしが有効になる条件を解説し、開発者向けの API 設定チェックリストを紹介します。

同じ Claude の呼び出しでも、出力にテキスト透かしが確実に付与されるリクエストと、そうでない可能性があるリクエストがあります。Anthropic が 2026 年 11 月 3 日に更新した API ドキュメントには、Claude Sonnet 4.6 のリクエストで temperature、top_p、top_k をデフォルト以外の値に設定すると、出力にテキスト透かしが確実に付与されない可能性があると明記されています。社内のコンプライアンス対応で透かしを活用しているチームは、この制限を個別に確認する必要があります。

これは単なる噂ではありません。公式の API テキスト透かしドキュメントとヘルプセンターのモデル対応表の両方に、この制限が記載されています。公式の推奨は、いわゆる「安全な値」を設定するのではなく、この3つのパラメータをそのまま省略することです。

この記事でわかること:Claude のテキスト透かしがどのような設定で有効にならない可能性があるか、また Claude API、クラウドプラットフォーム、サードパーティの API中継サービスという3種類の経路でそれぞれ何を確認すべきかを、3分で把握できます。

claude-text-watermark-api-configuration-checklist-ja-image-0


Claudeテキスト透かしの概要

まずは今回の更新に関する重要な情報を確認しましょう。以下はAnthropicの公式ヘルプセンターとAPIドキュメントに基づく情報で、確認日は2026年11月5日です。サポート状況は今後変わる可能性があります。

項目 詳細
提供元 Anthropic
ドキュメントの更新日 2026年11月3日以降、ヘルプセンターは11月4日ごろに再更新
主な制限 Sonnet 4.6では、temperature、top_p、top_kがデフォルト値以外の場合、出力に透かしが確実に付与されない可能性がある
公式の推奨事項 コンプライアンス要件を満たすために透かしを利用する場合は、リクエストからこれら3つのパラメータを省略し、フレームワークが自動的に追加するものも取り除く
今回の対象モデル Mythos 5、Opus 4.7、Opus 4.6、Sonnet 4.6(メディアが引用した顧客向けメールによる)
クラウドプラットフォームでの対応状況 対象モデルのAmazon Bedrockへの導入は11月10日までに完了する見込み
料金への影響 公式によると、透かしによって出力トークンが増えたり、追加料金が発生したりすることはない

Claudeテキスト透かしの対象拡大の背景

テクノロジーメディアThe Decoderの10月31日の報道によると、AnthropicはAPI顧客向けのメールで、11月3日から既存の4モデルに不可視のテキスト透かしを順次追加すると発表しました。Opus 5.5などの新しいモデルはすでにこの機能に対応していたため、今回の更新は対応モデルの範囲を広げるものです。新たな検出製品の提供や料金体系の変更はありません。

11月5日時点で、公式ヘルプセンターには16のClaudeモデルが掲載されており、そのうち12モデルはAnthropicの直接提供チャネルでテキスト透かしに対応すると記載され、4モデルは空欄となっています。今回対象となった4モデルの状況は次のとおりです。

モデル 直接提供チャネルのテキスト透かし クラウドパートナーのテキスト透かし ファイルのC2PA
Mythos 5 対応と記載 対応と記載(Bedrockへの導入は進行中) 対応
Opus 4.7 対応と記載 対応と記載(Bedrockへの導入は進行中) 対応
Opus 4.6 公式表では空欄 公式表では空欄 対応
Sonnet 4.6 条件付きで対応 条件付きで対応(Bedrockへの導入は進行中) 対応

Opus 4.6の状況には補足が必要です。顧客向けメールでは対象モデルに含まれており、同じ公式ドキュメントの制限事項にも、Opus 4.6でデフォルト以外のサンプリングパラメータを使う場合について言及されています。しかし、対応状況を示す表では、テキスト透かしの欄は空白のままです。公開情報に食い違いがあるため、現時点ではどのチャネルや設定でOpus 4.6への導入が完了しているかを判断できません。Opus 4.5、Sonnet 4.5、Haiku 4.5も、公式表ではテキスト透かしに対応しているとは記載されていません。


Claude のテキスト透かしと3つのサンプリングパラメータの関係

この3つのパラメータは透かしのオン・オフを切り替えるものではありません。候補の中から単語を選ぶ方法を制御するものです。Claude のテキスト透かしは、この選択過程における統計的な規則性を利用しているため、両者は互いに影響します。

temperature、top_p、top_k はそれぞれ何を制御する?

パラメータ 役割 一般的な理解 透かしとの関係
temperature 生成時のランダム性を制御する 値が高いほど結果が多様になり、低いほど安定する 候補となる単語の確率分布を変える
top_p 累積確率の範囲に基づいて、選択対象の候補トークンを制限する 確率の高い一部の単語から選ぶ 選択肢の範囲を狭めたり変えたりする
top_k 各ステップで検討する候補トークンの数を制限する 上位 K 個の候補から選ぶ 候補の集合を直接絞り込む

3つのパラメータはいずれも「次のトークンをどう選ぶか」に作用します。透かしの信号も同じ段階で生じるため、サンプリング戦略が変わると、透かしが依存する統計パターンが乱される可能性があります。ただし、デフォルト以外の組み合わせなら必ず透かしが完全に消えると公式が保証しているわけではありません。正確には「信頼性が低下する可能性がある」であり、「必ず無効になる」とは言えません。

Claude のテキスト透かしは生成時に作用する

Anthropic は2026年8月14日に、この仕組みを紹介しました。これは Google DeepMind の SynthID-Text 手法を実装したものです。Claude がトークンを一つずつ生成する際、同じ位置には通常、意味の上で自然な候補が複数あります。たとえば “The weather today was cold and …” に続く言葉は、grey でも overcast でも自然です。システムは正確さや品質を損なわない範囲で、前文と秘密鍵を組み合わせて、こうした選択に使うランダム性を決定します。連続する選択によって、統計的に検出可能なパターンが形成される仕組みです。

そのため、透かしは後処理用のプラグインではありません。開発者が以下の対応を行う必要はありません。

  • リクエストに追加フィールドを設けたり、レスポンスの解析コードを変更したりする必要はありません。
  • 出力に隠れた Unicode 文字、目に見える印、末尾の識別コードは含まれません。
  • 透かしのために別途 API を呼び出す必要はありません。
  • 透かしにはユーザー ID、アカウント、チャット履歴などの識別情報は含まれません。

claude-text-watermark-api-configuration-checklist-ja-image-1

透かしは生成段階で形成されるため、よくあるケースでも現れ方に違いがあります。長文は表現の選択肢が多く、一般に信号が蓄積されやすくなります。コード本体は構文上の制約が厳しいため透かしが入りにくい一方、コメントや説明文には含まれる可能性があります。全面的な書き換え、ほかの内容の混入、別の方法による再翻訳は、いずれも元の信号を大きく弱める可能性があります。公式は検出に必要な文字数のしきい値、精度、誤検出率を公表していないため、この記事でも具体的な数値の推測はしません。


Claudeのテキスト透かしに関するAPI設定を確認する方法

「自分の呼び出しは透かしの適用条件を満たしているか」を判断するには、モデル名だけでなく、実際に送信されたリクエストパラメータと、上流側のデプロイ状況も確認する必要があります。以下、利用チャネルごとに説明します。

利用チャネル 確認ポイント よくあるリスク
Claude公式API モデルIDがサポート対象リストに含まれているか、3つのサンプリングパラメータが設定されているか 過去のコードに残ったtemperatureの設定
Claude Code / Claude Cowork 実際に呼び出されるモデルと、そのサポート状況 デフォルトモデルの切り替え後に確認していない
Amazon Bedrock モデルのサポート状況と、対象環境へのデプロイが完了しているか 11月10日以前は一部のモデルがまだデプロイ中
Google Cloud / Microsoft Foundry サポート対象のClaudeモデルであるか、製品のデプロイ状況 クラウドプラットフォームごとに進捗が異なる可能性
サードパーティの集約・転送サービス(APIYI apiyi.comなどを含む) 上流のモデルバージョン、エイリアスのマッピング、パラメータの透過・注入、出力の書き換えの有無 インターフェース上のモデル名だけで透かしの状態を判断すること

サードパーティサービスについては、もう少し説明が必要です。Anthropicの透かしはモデルレベルの仕組みです。サードパーティサービスが実際に透かし対応の元のモデルを呼び出している場合、サービス提供元が変わっただけで出力に透かしが入らなくなるとは限りません。ただし、ルーティング方針やモデルバージョン、処理フローはサービス提供元によって異なるため、モデルレベルの透かしがあるからといって、サードパーティのすべての出力経路が個別に検証されているわけではありません。コンプライアンス要件の厳しい業務では、実際の確認結果に基づいて判断し、どのプラットフォームであっても口頭での保証をその代わりにしてはいけません。

最小限の例:サンプリングパラメータを省略して Claude を呼び出す

公式はこの3つのパラメータを省略することを推奨しています。最もシンプルな方法は、リクエストにこれらを含めず、モデルのデフォルトのサンプリング設定を使うことです。

import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # APIYI の OpenAI 互換インターフェース
)

# 注意:temperature / top_p / top_k を渡さない
response = client.chat.completions.create(
    model="YOUR_CLAUDE_MODEL_ID",  # プラットフォームのモデル一覧にある実際の ID を使用
    messages=[{"role": "user", "content": "写一段产品介绍"}]
)
print(response.choices[0].message.content)
完全な実装コードを見る:実際に送信されるリクエストパラメータを検査・監査する
import json
import logging
import httpx
import openai

logging.basicConfig(level=logging.INFO)
SAMPLING_KEYS = {"temperature", "top_p", "top_k"}

def audit_request(request: httpx.Request):
    """リクエストの送信前に本文を検査し、サンプリングパラメータがあれば警告する"""
    try:
        body = json.loads(request.content or b"{}")
    except Exception:
        return
    found = SAMPLING_KEYS & set(body.keys())
    # 一部のプラットフォームが使う extra_body の透過フィールドも確認する
    found |= SAMPLING_KEYS & set(body.get("extra_body", {}) or {})
    logging.info("model=%s sampling_params=%s",
                 body.get("model"), {k: body.get(k) for k in found})
    if found:
        logging.warning("检测到采样参数 %s,水印可能不可靠", found)

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1",
    http_client=httpx.Client(event_hooks={"request": [audit_request]})
)

def call_claude(prompt: str, model: str, **kwargs) -> str:
    """アプリケーション層のラッパー:サンプリングパラメータを除去し、上位コードからの誤送信を防ぐ"""
    clean_kwargs = {k: v for k, v in kwargs.items() if k not in SAMPLING_KEYS}
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
        **clean_kwargs
    )
    # 呼び出し設定を保存できるよう、レスポンスに含まれるモデル識別子を記録する
    logging.info("response_model=%s", resp.model)
    return resp.choices[0].message.content

print(call_claude("总结一下文本水印的原理", model="YOUR_CLAUDE_MODEL_ID",
                  temperature=0.7))  # このパラメータはラッパー関数によって除去される

このコードには2層の防御があります。アプリケーション層のラッパーは上位コードから誤って渡されたパラメータを除去し、HTTP 層のフックは最終的に送信されるリクエスト本文を監査します。これにより、SDK やフレームワーク、ミドルウェアが知らないうちに追加したパラメータも検出できます。

公式は、明示的に設定していなくても、リクエストに含まれていないとは限らないと注意を促しています。一部のフレームワークのラッパークラスにはデフォルトの temperature が設定されている場合があるため、取得した実際のリクエストで確認しましょう。

🚀 クイックスタート:複数の Claude バージョン間でリクエスト設定を比較したい場合は、まず APIYI apiyi.com で同じ APIキーを使い、モデル ID を切り替えてテストできます。上記のリクエスト監査フックで不要なパラメータが含まれていないことを確認してから、本番環境の設定を決めましょう。


Claudeのテキスト透かしが開発者に与える影響

API開発者への影響

  • モデルのバージョンは具体的な型番まで確認する:「Claude」の透かしの挙動は、すべてのモデルで同じではありません。Sonnet 4.6は条件付きで対応し、Opus 4.6の対応状況は不明確、4.5シリーズはまだ対応モデルとして明記されていません。モデルごとに分けて確認しましょう。
  • サンプリングパラメータを監査する:temperatureなどのパラメータは、調整時の習慣で何気なく設定されがちです。業務で透かしに依存する場合は、承認が必要な設定項目として管理しましょう。
  • 「安全な数値」を探さない:公式が推奨しているのはパラメータを省略することであり、特定の値に設定することではありません。ネット上で広まっている、透かしを回避したり保持したりするためのパラメータ設定テクニックは、いずれも公式に確認されていないため、採用すべきではありません。
  • コストは透かしの影響を受けない:公式の説明によると、透かしによってトークン数や料金が増えることはありません。Claude 4.7以降の一部モデルでは、同じテキストでもトークン数が多くなる場合がありますが、これは新しいtokenizerの分割方法の違いによるもので、透かしが原因ではありません。

コンプライアンスとプラットフォーム利用者への影響

EUの「AI法」第50条に定められた透明性義務は2026年8月2日に適用が始まっており、経過措置の対象となる既存システムについては、2026年12月2日まで移行期間が続きます。モデル側の透かしに依存する企業は、この時点までに設定の棚卸しを済ませておく必要があります。モデル側の機械可読なマークと、利用者がコンテンツに目に見えるラベルを付ける必要があるかどうかは別の問題です。具体的な義務は、提供者、導入者、コンテンツの種類ごとに判断する必要があります。

API集約プラットフォームを利用するチームは、「上流モデルの機能変更」を依存関係の変更として管理する必要があります。プラットフォーム上のモデルIDがどの上流バージョンに対応するか、パラメータがそのまま渡されるか、出力が翻訳や書き換えを受けるか。この3点が、透かしの条件を満たせるかどうかを左右します。

💡 選択のポイント:透かしが必須の業務では、公式に対応が明記されているモデル(Opus 4.7、Opus 5.5、Sonnet 5.5など)を優先し、呼び出し時の設定記録を残しましょう。APIYI apiyi.comでテストする際は、まずモデル一覧のバージョン表記を確認してから、本番環境に導入できます。


Claude テキスト透かしの開発者向けチェックリスト

業務上、Claude のテキスト透かしを維持する必要がある場合は、以下の項目を確認しましょう。

  1. モデルが公式のサポート対象リストに含まれているか確認し、確認日を記録する
  2. 呼び出しに使用するプラットフォームとクラウドへのデプロイ状況を確認する。Bedrock ユーザーは、完了予定日である 11 月 10 日に注意する
  3. リクエストボディに temperature が含まれていないか確認する
  4. リクエストボディに top_p が含まれていないか確認する
  5. リクエストボディに top_k が含まれていないか確認する
  6. SDK、フレームワーク、ゲートウェイ、ミドルウェアがサンプリングパラメータを自動で追加していないか確認する
  7. 出力が二次翻訳、大幅な書き換え、または他のテキストとの結合を経ていないか確認する
  8. 重要な業務について、モデルのバージョンと呼び出し設定を記録・保存しているか確認する

claude-text-watermark-api-configuration-checklist-ja-image-2

最後に、透かし検出の制約も把握しておきましょう。Anthropic のテキスト透かし検出 API は、11 月 5 日時点ではプライベートプレビュー中で、主に規制当局、報道機関、研究者、教育機関、コンプライアンス検証が必要な企業などを対象としています。一般ユーザーが自分で検出できる公開サービスは、現時点ではありません。Claude が無料で提供する Content Checker は、ファイルに付与された C2PA コンテンツ認証情報を検証するもので、テキスト透かし検出とは異なる仕組みです。


よくある質問 FAQ

Q1:Claudeのテキスト透かしとは何ですか?

Anthropicがモデルの生成段階で加える、目に見えない統計的な信号です。SynthID-Textに類似した手法に基づき、トークン選択の統計的な規則性を利用して検出可能なパターンを形成します。隠し文字や目に見えるマークを挿入することはなく、ユーザーの身元情報も含まれません。

Q2:temperatureを0または1に設定すれば、透かしが有効になることは保証されますか?

いいえ。公式に推奨されているのは、リクエストからtemperature、top_p、top_kを省略することであり、安全な値は示されていません。一方、デフォルト以外の値を指定すると必ず透かしが消えるとも明言されておらず、信頼性が低下する可能性があるとされています。

Q3:すべてのClaudeモデルにこのサンプリングパラメータの制限がありますか?

一概には言えません。公式ドキュメントで明確に言及されているのはSonnet 4.6です。制限の説明ではOpus 4.6にも触れられていますが、サポート表ではOpus 4.6の欄は空白のままです。その他のモデルについては、ヘルプセンターの最新のモデル一覧を確認し、確認日を明記してください。

Q4:API集約プラットフォーム経由でClaudeを呼び出した場合も、透かしは入りますか?

実際に呼び出すのが透かしに対応した元のモデルであれば、サービス事業者を変えただけで透かしがなくなるとは限りません。ただし、検証せずに必ず入ると決めつけることもできません。APIYI apiyi.comなどのプラットフォームでテストする際は、モデルのバージョン識別子を確認し、リクエスト監査でサンプリングパラメータが追加されていないこと、さらに出力が追加で書き換えられていないことを確認することをおすすめします。

Q5:自分のリクエストにサンプリングパラメータが含まれているか、手早く確認するにはどうすればよいですか?

HTTPクライアント層にリクエストフックを追加し、最終的に送信されるリクエスト本文を出力します。上記の完全なコードを参考にしてください。まずAPIYI apiyi.comのテスト枠で実行し、SDKやフレームワークがパラメータを自動で追加していないことを確認してから本番環境に導入できます。

Q6:Claudeのテキスト透かしにはどのような既知の制限がありますか?

短いテキスト、コードが主体の内容、表現の選択肢が少ない内容では、透かしが入りにくくなります。また、大幅な書き換えや再翻訳によって信号が弱まる可能性があります。検出結果が示すのは、コンテンツがClaudeによって生成または処理された可能性であり、作者の身元や内容の真実性を証明するものではありません。透かしが検出されなかった場合も、そのコンテンツが必ず人間によって作成されたとは限りません。


Claude テキスト透かしの要点 Key Takeaways

  • 3つのパラメータはスイッチではない:temperature、top_p、top_k はサンプリングに影響するため、透かし信号を妨げる可能性があります。
  • 公式はパラメータの省略を推奨:独自に「安全な値」を設定せず、フレームワークが自動的に追加するパラメータも確認しましょう。
  • モデルごとに確認が必要:Sonnet 4.6 は条件付きで対応、Opus 4.6 の状況は不明確で、4.5 シリーズはまだ対応と明記されていません。
  • 透かしは生成段階で形成される:リクエストフィールドや解析コードの変更は不要で、追加料金もかかりません。
  • 提供経路ごとに状況が異なる:Bedrock は 11 月 10 日までに展開を完了する予定で、サードパーティー経由の接続は個別に検証する必要があります。
  • 設定を記録しておく:APIYI apiyi.com でモデルのバージョンとパラメータを統一的にテストし、呼び出し設定を記録できます。

まとめ

Claude のテキスト透かしについて、押さえておきたいポイントは3つです。

  1. 制約が明確になった:Sonnet 4.6 では、デフォルト以外のサンプリングパラメータを使うと透かしの信頼性が下がる可能性があり、公式は関連パラメータの省略を推奨しています。
  2. 仕組みが明確になった:透かしは生成段階でトークン選択の統計的な傾向を利用して形成されるもので、後処理用のプラグインではありません。
  3. 対応状況は変化している:対応範囲は引き続き拡大中で、Opus 4.6 や各クラウドプラットフォームの進捗は公式ドキュメントで継続的に確認する必要があります。

API ユーザーは、モデル名だけでなく、実際に送信されるパラメータと上流側の展開状況も確認することが大切です。APIYI apiyi.com の統一インターフェースで Claude の各バージョンを比較テストするとともに、呼び出し設定を記録しておくと、今後の公式サポート状況の変化にも対応しやすくなります。


📚 参考資料

  1. Anthropic API テキスト透かし開発ドキュメント:サンプリングパラメータの制限と公式の推奨事項
  2. リンク:platform.claude.com/docs/en/build-with-claude/text-watermark
  3. 説明:Sonnet 4.6 のパラメータ制限に関する一次情報

  4. Anthropic ヘルプセンター – How Claude marks AI-generated content:モデルごとの対応状況一覧

  5. リンク:support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content
  6. 説明:モデルと提供チャネルごとの最新の透かし対応状況を確認できます

  7. Anthropic – How Claude’s text watermark works:透かし技術の仕組み

  8. リンク:www.anthropic.com/news/claude-text-watermark
  9. 説明:生成段階で付与される透かしの仕組みを解説しています

  10. The Decoder の報道:旧モデル4種類への透かし適用拡大

  11. リンク:the-decoder.com/anthropics-watermark-rollout-leaves-a-loophole-on-two-older-Claude-models
  12. 説明:顧客向けメールで伝えられた適用拡大の時期と対象

  13. Nature – Scalable watermarking for identifying LLM outputs:SynthID-Text 論文

  14. リンク:www.nature.com/articles/s41586-024-08025-4
  15. 説明:透かし手法の学術的背景

著者:APIYI 技術チーム
技術に関するお問い合わせ:Claude のモデル呼び出しやパラメータ設定については、APIYI のトップページ apiyi.com からお気軽にお問い合わせください

関連記事

類似投稿