摘要
关键词:Claude 文本水印, SynthID-Text, Gumbel-max, LLM 水印, 欧盟 AI 法案第 50 条, 内容溯源
Anthropic 于 2026 年 8 月 14 日公开说明 Claude 将逐步采用文本水印,分阶段推出,检测 API 尚未发布。8 月 2 日是欧盟相关透明度义务的生效日[14],不是该公告的发布日期;文章正文涉及两个日期时会分别标注。Claude 的加入扩大了主要供应商采用内容标记的范围,但签署实践准则不等于已部署水印。需要注意的是,Anthropic 只公开了水印的性质,具体算法仍需以其实现披露为准;本文以 SynthID-Text 的公开实现作为可验证的技术样本,给出 Gumbel-max 技巧与 softmax 等价性的推导与数值验证,量化检测的最小长度、误报率与多次比较陷阱,并把现有攻击按破坏机制归为三类:删除、替换、释义,另附伪造攻击分析。核心结论:水印更接近"与某个提供商的生成或处理过程具有统计一致性的内容"这一概率性信号,其五组设计权衡在独立密钥和无互操作标准条件下是结构性的。
2026 年 8 月 14 日,Anthropic 公开说明 Claude 将逐步采用文本水印[1],并说明该变更"将在未来几个月内逐步推出";水印检测 API 也只是"即将提供",尚未发布[1]。启用范围按模型和渠道限定:官方 Help Center 的措辞是新模型从第一天开始支持标记;2026 年 8 月 2 日之后在欧盟推出的 Claude 模型支持机器可读标记;更早发布的模型仍在逐步增加支持[17]。公开资料尚未提供完整的模型、地区和 endpoint 覆盖表。
这项技术本身并不新——SynthID-Text 在 2024 年已进入 Gemini 生产系统的线上评估,并完成近 2000 万条回复规模的质量比较[2]。Claude 的加入扩大了已公开采用或计划采用生成内容标记的主要供应商范围:约 190 个组织签署了欧盟实践准则(包括 OpenAI、Google、Meta、Microsoft、Mistral)[1]。但这里要卡住三次推断——签署准则不等于已经部署水印,签署方不等于都是 LLM 供应商,部署内容标记也不等于采用统计文本水印。所以准确的说法是:行业存在较强的合规动机,主流供应商正逐步接入,但不能据此推出所有输出都已带可检测签名。
绝大多数讨论停在"该不该加水印"这个层面。真正有意思的问题在更深处:这个水印在数学上靠什么做到"无失真",它的检测能力有什么定量边界,以及——最关键的——它会在 AI 生态中划出一条什么样的分裂线。
先说一个重要的前提:Claude 官方确认采用的是 SynthID-Text 思路的一个版本,具体算法仍需以其实现披露为准。官方说明只讲了"在没有质量影响的词选上由随机数决定"、"不添加隐藏字符"、"不额外消耗 token"这类性质,并明确说明没有披露具体的编码方法[1][11]。所以下面展开的 Gumbel-max 机制严格来说是 SynthID-Text 的技术方案[2],它是当前公开文献中最成熟的同类实现,也是 Claude 宣称的那些性质在数学上能成立的标准路径——但把其中的具体构造直接等同于 Claude 的生产实现,属于合理推测而非已确认事实。
从 Aaronson 到 SynthID:两类主要路径
文本水印的核心思路可以追溯到 Scott Aaronson 2022 年在 OpenAI 工作期间提出的构想[1]。语言模型在生成每个 token 时,从概率分布中采样一个词。当多个候选词的概率相近时,选哪个对读者几乎没区别——水印就藏在这些"低风险选择"里。
主流方案的演进围绕同一个核心矛盾展开:怎么在不扭曲输出分布的前提下嵌入可检测信号。这里用两条主要路径来组织,而不是严格的线性分代——KGW、无失真水印、SelfHash、SynthID-Text 等方案实际上存在并行发展,且 SynthID-Text 本身也包含允许一定失真的配置。
路径一:基于分布偏置的水印(KGW,2023)。Kirchenbauer 等人提出把词表用密钥分成"绿名单"和"红名单",系统性提高绿名单词的被选概率[3]。检测时统计绿名单 token 的占比,z-score 显著高于零则判定为水印文本。方案简单有效,但有代价:它扭曲了模型的原始输出分布。在诗歌、技术写作等用词敏感的场景中,偏置可能被感知为风格偏移[11]。
路径二:基于随机源与采样过程的水印(Aaronson → SynthID-Text,2024)。SynthID-Text 的核心目标之一,是在尽量保持输出质量和分布性质的同时,通过受密钥控制的采样机制形成可检测统计信号[2]。这依赖一个经典的概率论结果——Gumbel-max 技巧——但要注意:Gumbel-max 是理解这类方法的数学基线,SynthID-Text 的公开实现核心是 Tournament Sampling,不能简化为"对 logits 加密钥派生的 Gumbel 噪声后取 argmax"。
随机源与采样机制
先讲 Gumbel-max,因为它是理解整类方案的数学基线。
Gumbel-max 技巧是一个不那么直觉但数学上干净的结论:对每个候选词的 log 概率加上独立的 Gumbel(0,1) 噪声后取 argmax,等价于直接从 softmax 分布采样[9]。这个等价性适用于离散的分类采样本身,但它不覆盖完整的语言模型推理管线——见下文的边界讨论。
形式化地说,设模型在某个位置输出 $K$ 个候选词,logits 为 $\ell_1, \ldots, \ell_K$。正常采样是从 softmax 分布 $p_i = e^{\ell_i} / \sum_j e^{\ell_j}$ 中按概率抽一个。Gumbel-max 技巧说的是:
$$\text{argmax}_i \left( \ell_i + g_i \right) \sim \text{Categorical}(p_1, \ldots, p_K)$$
其中 $g_1, \ldots, g_K$ 独立同分布,$g_i \sim \text{Gumbel}(0,1)$,其 CDF 为 $F(x) = \exp(-\exp(-x))$。
为什么成立。$g_i + \ell_i$ 服从移位 Gumbel 分布,CDF 为 $F_i(x) = \exp(-\exp(-(x - \ell_i)))$。候选 $i$ 胜出的概率是 $P(g_i + \ell_i > \max_{j \neq i}(g_j + \ell_j))$。利用 Gumbel 分布的极值性质,$\max_j (g_j + \ell_j)$ 仍然服从 Gumbel 分布,其位置参数为 $\log \sum_j e^{\ell_j}$。代入计算后:
$$P(\text{winner} = i) = \frac{e^{\ell_i}}{\sum_j e^{\ell_j}} = p_i$$
即胜出概率恰好等于 softmax 概率[9]。
我用 Python 做了数值验证:4 个候选词 logits 为 $[1.0, 0.8, 0.3, -0.5]$,softmax 理论概率 $[0.393942, 0.322532, 0.195626, 0.087900]$。固定随机种子 $20260829$、采样 10 万次(NumPy 2.4.3,Python 3.11.15,默认 PCG64):Gumbel-max 采样实测频率 $[0.394570, 0.320600, 0.195560, 0.089270]$;作为对照,直接从 softmax 分布采样的实测频率为 $[0.393740, 0.323400, 0.194560, 0.088300]$。Gumbel-max 的最大绝对偏差 0.001932,对应位置的理论标准误 $\sqrt{p(1-p)/N} \approx 0.001478$,即 1.31 个标准误;直接采样的最大偏差 0.001066 对应 0.85 个标准误——两组都落在随机误差的正常范围内。所以在这组 logits 和 10 万次采样下,没有观察到超出随机误差范围的系统性偏差。
需要说明的是,一次 10 万次模拟只能给出在这组参数下的观察结果,不能"排除"偏差存在的可能——换一组 logits、换采样次数或换实现,结论都可能不同。本文只给出结论与完整的环境参数(种子、采样次数、NumPy 与 Python 版本),可据此复现;若复现结果偏差明显超出上述标准误范围,应以复现结果为准。
水印的嵌入(Gumbel-Max 风格的通用示例)。下式描述的是一种 Gumbel-Max 风格的密钥化采样构造,不是 Anthropic 已确认的 Claude 实现,也不是 SynthID-Text 公开实现的完整公式——SynthID-Text 使用 Tournament Sampling 与 Bernoulli(0.5) 的 g 值分布[2]。这里用它说明"把独立随机源替换为密钥派生随机源"这一通用思路:把"独立随机 Gumbel 噪声"换成"由密钥和前几个词派生的伪 Gumbel 噪声":$g_i' = G(\text{PRF}(\text{key}, \text{context}, i))$,其中 PRF 是密钥化伪随机函数。如果伪随机函数足以替代所需的独立随机源,且上下文重复、缓存、候选集合和 logits 处理满足额外条件,则它可以作为保持采样性质的构造基础;仅凭"边际分布仍然是 Gumbel(0,1)"不能完成证明。
这里要明确 Gumbel-Max 和 SynthID-Text 的关系:Gumbel-Max 是一种用连续随机变量实现分类采样的通用重参数化方法;SynthID-Text 的公开实现采用的是基于离散 g 值和 Tournament Sampling 的另一种采样构造。二者共享"密钥控制随机源、再从模型分布采样"的思想,但不是同一个算法。本文保留 Gumbel-Max 的完整推导,是因为它是理解这一类方案最清晰的数学入口——不要把这段推导读成 SynthID-Text 的实现说明。
但这里要卡住一个容易被带过的逻辑跳跃:"每个位置的噪声边际分布正确"不等于"整个 token 序列的联合分布与无水印时相同"。自回归生成中,噪声依赖的 context 本身就是此前采样结果的一部分——上下文变了,PRF 输出的整个分数序列就变了。要把边际性质提升为无失真性质,至少还要说明:随机源如何从上下文和密钥派生、同一上下文是否复用相同随机量、缓存如何处理重复 context、噪声与候选集合是否独立、以及 top-k/top-p 等 logits processor 之后分布保持是否仍成立。
SRI Lab 对 SynthID-Text 的拆解给出了一个具体答案:K = 1 的缓存设置被用于实现 single-sequence non-distortion;增大 K 会让检测更难,补充材料还提到可能降低水印有效性、增加计算复杂度[8]。也就是说,"无失真"是完整构造加特定参数的产物,不是由"边际分布是 Gumbel"这一句话单独推出的。SRI 复现时在 $K=1$ 的默认设置下实现了 single-sequence non-distortion[8]——这是单序列意义、有条件的性质,不是无条件保证。
锦标赛采样。SRI Lab 对 SynthID-Text 的组件拆解显示,它的构造是:SynthID-Text = LeftHash h=3 + 增大上下文 + 锦标赛采样 + 缓存[8]。其中锦标赛采样做的事,是把原本近似固定 logit bias 的 green-token boosting 泛化为可变的 logit bias[8]——它是采样机制的一部分,而不是对多轮独立实验求平均。它让水印信号能在不采用固定 green-list 偏置的情况下影响采样,同时提高了攻击者对水印结构的建模难度,因此会影响可检测性、鲁棒性和计算成本。
检测的定量边界
"无失真"不等于"无局限"。水印检测的有效性受三个定量约束:
短文本的信号不足。Nature 论文的检测图表以 200 token 长度的文本作为对比设置[2]——这是论文的对比设置,不能推出一个适用于所有文本的统一最低阈值。Anthropic 官方只说小样本检测效果差,文本越长对 Claude 参与的置信度通常越高,没有给出一个跨方案、跨文本类型通用的固定长度[1]。检测能力实际取决于可打分 token 数、候选词分布的熵、检测器类型、阈值、目标 FPR/FNR、文本领域、是否存在重复 context 以及是否使用 Bayesian detector 等多种因素。作为作者估算的一个例子:一篇 800 词的文章过滤掉功能词和高度受限跨度后,粗估约有 600–700 个可打分选词决策[11]。这个数字来自公开案例的粗略推算,不是论文报告值,也没有附带可复现的分词与过滤脚本,只能当作量级参考。对于短句或短段落,可利用的随机选择数量通常不足,检测统计量的区分度会下降[1]。
z-score 阈值与误报率。检测器输出一个统计量,衡量"文本中水印分数系统性偏高的程度"。SynthID-Text 设置两个阈值,对应"watermarked"与"unwatermarked"两种检测状态[10]。苏黎世联邦理工学院 SRI Lab 的研究在评估伪造攻击时采用了 FPR = 10⁻³ 这一实际设定[5]。这个 10⁻³ 是攻击评估用的假阳性率,不是 SynthID-Text 检测器的官方阈值。顺带做一个量级换算:若统计量近似标准正态,10⁻³ 的单侧阈值约对应 z ≈ 3.09;但 SynthID-Text 实际使用自定义加权统计量,并非严格标准正态,所以这个数字只是正态近似的换算参考,不要把它和检测器的真实阈值混为一谈。
事实密集文本的盲区。当正确答案只有一个时,选词自由度为零,水印无处嵌入。比如"Isaac Newton's most famous work was called Principia ___"——后面只有"Mathematica"一个正确选项[1]。代码更是如此,水印几乎只出现在注释里[1]。这意味着:文本越像"百科全书条目",水印信号越稀疏。
综合上述因素,可以归纳出以下大致判断。下表是对前述来源的定性整理,不是论文报告的具体阈值:
| 文本类型 | 可打分 token 占比 | 检测可行性 | 原因 |
|---|---|---|---|
| 创意写作(小说、评论) | 高 | 较长文本即可检测 | 大量同义词选择 |
| 议论性散文 | 中高 | 中等长度较可靠 | 中等选词自由度 |
| 事实陈述 / 技术文档 | 低 | 不可靠或需更长文本 | 选词高度受限 |
| 代码 | 极低 | 仅注释可检测 | 语法精确性约束 |
| 单句 / 短段落 | 任意 | 不可靠 | 统计量不足 |
长文本的多次比较陷阱
单次检测在 200 token 级别需要 FPR=10⁻³,看起来足够低。但把它放到书籍级文本上,问题就来了。
Google 公开的 SynthID-Text 文档描述的是概率性检测接口:检测器可以输出 watermarked、not watermarked 或 uncertain,并通过阈值调节 FPR/FNR[10]。该文档不足以说明 Anthropic 的检测器如何实现、是否只整段打分、是否支持滑窗,或内部是否拆分输入——Anthropic 的检测 API 尚未公开[1]。下面的推演因此应当读作独立的理论情形,用于说明累积统计量检测的内在问题;这个机制适用于所有基于累积统计量的检测方案,包括部分第三方检测器,但不能写成官方检测器的行为。
设待检文本长 81,000 token(这是按指定 tokenizer 计算的长度,不能直接换算成跨模型通用的英文词数——不同 tokenizer 与文本领域的 token 定义差异明显)。以 200 token 为窗口、步长 200 token 滑动检测,产生 81,000 ÷ 200 ≈ 405 个检验。每个窗口假阳性率 10⁻³,期望假阳性窗口数 = 405 × 10⁻³ ≈ 0.4 个。看起来不多——但如果假设各窗口相互独立,"至少一个窗口触发假阳性"的概率是:
$$P(\text{至少一个 FP}) = 1 - (1 - 10^{-3})^{405} \approx 33.3\%$$
也就是说,一本 81,000-token 的完全人工撰写长文本,在"各窗口独立、单窗口 FPR 严格等于 10⁻³"的假设下,有约三分之一的概率在某个 200-token 块被误判为"含有水印"。
但独立性这个假设要打个问号。实际文本的统计检验之间往往存在相关性:窗口重叠、检测器可能使用跨窗口 context、句法和主题造成统计相关、阈值是在特定数据集上校准的,文本选择本身也可能是事后行为。这里用步长 200 已经避免了窗口重叠,但其余几种相关性仍然存在。更重要的是,Anthropic 官方检测器尚未公开,其公开资料也没有说明它采用固定长度滑窗检测[1]。所以 33.3% 应当读作:在特定假设下的理论示例,用于说明累积统计量检测的内在风险,而不是 SynthID-Text 或 Claude 官方检测器的实测误报率。
这不是 SynthID-Text 独有的缺陷,而是所有基于累积统计量的检测方案的共性问题。降低单窗口 FPR 可以缓解(比如 FPR=10⁻⁶ 对应 z≈4.75),但这要求每个窗口有更多 token 才能维持检测力——灵敏度随之下降。在给定检测预算、文本长度和目标错误率的前提下,低误报和高灵敏之间存在真实的张力[6]。不过这不是一条严格的不可能定理——它成立的条件需要写清楚,而不是被表述成所有水印设计都无法突破的普适定律。
三种攻击面:删除、替换、释义
水印能被移除吗?对现有公开的生成式文本水印方案,重写、翻译和较大幅度编辑普遍构成重要攻击面。这不是对未来方案的普遍断言,而是基于已有实验的观察。
CMU 的研究对主流水印方案测试了一组简单而有效的攻击,并指出设计选择之间存在鲁棒性、可用性与实用性的根本权衡[6]。把这些攻击按破坏机制归成三类:
- 删除攻击:砍掉部分 token,破坏检测所需的统计累积
- 替换攻击:同义词替换改变 token 序列,使密钥派生的伪随机分数不再系统性偏高
- 释义攻击:用另一个模型或人工逐词改写,原始 token 选择被彻底替换
新加坡南洋理工的 Vaporizer 研究(2026 年 5 月)系统测试了词法替换、机器翻译和神经释义对 SynthID 等 SOTA 水印方案的破坏效果[7]。它在其选定的方案、攻击方法和质量评价指标下报告了较高的清洗成功率——注意"所有被测方案"指的是该论文选定的对照方案集,"合理努力"对应其固定的攻击预算与质量指标,不是对未来方案的普遍断言。这一结果支持"现有方案普遍存在重写攻击面",但不能推出所有未来水印方案都能被相同成本清除。
但更值得关注的不是"能不能移除"——答案是显然的——而是 SRI Lab 发现的清洗容易度不对称[8]:
他们把 SynthID-Text 拆解为 LeftHash h=3 + 增大上下文 + 锦标赛采样 + 缓存,逐一测试各组件对清洗鲁棒性的影响[8]。作为对照,主流 Red-Green 方案在同样的高难设定下用基线释义器并不容易清洗(成功率只有 2% 和 26%),而加上了水印窃取后才跳升到 90% 和 85%[8]。
结果是反直觉的:对 SynthID-Text,增大上下文、加入锦标赛采样、启用缓存——这三项增强都导致清洗成功率超过 90%,即使攻击者没有使用水印窃取这一更强手段[8]。研究者还验证了"直接把锦标赛采样加到 LeftHash h=3 上"同样出现该现象。原文明确指出:"即便能力更弱的对手也能轻松清洗 SynthID-Text"[8];同时承认由于实验条件限制,难以对其他新增组件给出确定结论,但锦标赛采样"似乎进一步降低了鲁棒性,其 $g$ 值对改写更敏感"[8]。
SRI 的实验提供了有价值的公开证据,但其外推范围受模型、实现、攻击预算和检测器设定限制:水印模型是 Llama2-7B,使用的是公开 SynthID-Text 默认实现,攻击工具和参数固定,评估文本、长度和质量指标固定——它不是 Anthropic 生产环境的 Claude,也不是 Claude 官方检测器[8]。SRI 自己也把 SynthID-Text 的伪造结果描述为"更难伪造"而非"不可伪造",清洗结果则是在特定公开实现上观察到的高成功率。所以这个结果能说明的是:在一种上下文依赖型、无失真的 SynthID-Text 实现上,重写会显著削弱信号。
需要区分两个概念:清洗(scrubbing,移除已有文本上的水印)与伪造(spoofing,生成带水印的新文本)。这个发现针对的是清洗侧。
但机制层面的原因值得说清楚,因为它揭示了这两类路径的本质差异——同时也要分清哪部分是定义层面的、哪部分是经验观察。
KGW 的统计信号体现在绿名单 token 的选择偏置中:绿名单词系统性更容易被选中,因此部分保留原 token 可能保留部分信号。但改写的作用不止稀释——上下文变化会改变绿名单本身的划分,替换和释义会以不同程度破坏统计累积。而在非失真构造中,检测信号主要来自 token 序列与密钥化伪随机评分之间的统计一致性,而不是显式的固定词频偏置:文本一被改写,前文 context 变了,伪随机函数输出的整个分数序列就完全不同,检测统计量随之崩溃[8]。
这里要分清四件事,不能混成一个定理:
- 生成阶段是否改变分布——这是无失真讨论的范围;
- 原始 token 序列被修改后是否还能检测——这是鲁棒性讨论的范围;
- 攻击者是否知道水印结构——决定攻击预算;
- 检测器采用什么统计量——决定检测灵敏度。
无失真描述的是第一项,鲁棒性描述的是第二项。两者存在设计张力,但不存在"无失真必然导致脆弱"的定理。已有公开资料也更谨慎:SynthID-Text 对裁剪、少量词修改和轻度释义具有一定鲁棒性;大幅重写或跨语言翻译会显著降低 detector confidence[10]。
所以更准确的表述是:
无失真方案通常把信号放在上下文相关的 token 选择中,重写会显著削弱信号;无失真与鲁棒性之间存在明显的经验性张力,但具体程度依赖实现和参数。
伪造攻击:水印栽赃
比"移除"更危险的是伪造(spoofing):攻击者不删除水印,而是伪造一段看起来带水印的文本,让它被检测为"由某家供应商的模型生成"。
ETH 苏黎世联邦理工学院的研究揭示了更根本的漏洞——水印窃取(watermark stealing):攻击者只通过黑盒查询带水印的模型接口,就能近似反推出水印的生成规则,然后用任意辅助模型生成带目标水印特征的文本[5]。论文报告在 FPR = 10⁻³ 的设定下,此前被认为抗伪造的 KGW2-SelfHash 方案,超过 82% 的攻击者生成文本被判为水印且质量合格;在 50 美元以内的成本下即可同时完成伪造与清洗,平均成功率超过 80%[5]。
但要注意实验对象的差别:这篇论文攻击的是 SelfHash 与 KGW 系列方案,不是 SynthID-Text。SRI Lab 随后把同一套窃取攻击直接应用到 SynthID-Text 上(未针对该方案做专门优化),结果显示结果相反——SynthID-Text 比传统 red-green 方案更难伪造[8]。也就是说,水印窃取在方法层面确实成立,但"哪些方案能被实际伪造"高度依赖具体实现。
所以准确的结论应当是:某些水印方案已经被证明存在实用的窃取与伪造攻击;对于 SynthID-Text,现有公开实验显示伪造难度更高,但攻击者预算增加、攻击方式针对该方案适配后是否能达到实用成功率,仍未确定。
论文专门在有害查询(HarmfulQ + AdvBench)上验证了窃取攻击不会退化[5],这对学术诚信场景的含义是真实的——如果所用方案可被伪造,那么"栽赃学生用了 AI"这条路在原理上存在。但它成立的前提仍然是方案可被伪造,这一点不能跳过。
同一研究组还揭示了另一类攻击:水印存在性的黑盒检测[4]。即使你没有密钥,只要能向模型发送大量相似查询并观察输出,就能用 Red-Green 统计检验推断"这个模型是否部署了水印",且对主流三大水印方案家族均有效[4]。这把水印的存在本身变成了可被攻击者利用的信息——知道水印方案的存在是发起伪造攻击的前提。
开源侧的覆盖盲区
以上所有讨论都假设一个前提:模型提供者控制采样过程。Claude 通过 API 提供服务,Anthropic 控制着采样器,用户无法绕过水印。
但 2026 年的 AI 生态不只有闭源 API。DeepSeek、Llama、Kimi 等主流开源权重模型的用户在自己的 GPU 上运行推理。用户控制采样器,可以选择不用水印采样函数,直接用标准随机采样[13]。
这个区分比"开源模型无法加水印"更准确一些,因为实际情况分几种情形:
- 用户完全控制推理和采样代码时,提供者无法强制水印存在;
- 发行方默认集成水印时,普通用户可以选择保留它;
- 用户能修改采样器时,用户可以绕过或替换水印;
- 可信执行环境、托管推理服务、签名日志和硬件证明可以提高强制性,但这已经不再是单纯的模型权重水印。
水印的密钥保密机制要求采样控制权在提供者一侧;Google 的官方文档也把 SynthID-Text 描述为开发者在生成 pipeline 中启用、配置需私密保存的 logits processor[10]。这说明采样控制权是关键前提,但不支持"所有开源权重模型天然完全无法使用水印"这个更强的说法。
结果是结构性分裂:
| 维度 | 闭源 API(Claude、GPT、Gemini) | 开源权重(DeepSeek、Llama、Kimi) |
|---|---|---|
| 采样控制 | 提供者 | 用户 |
| 水印嵌入 | 可行,自动应用 | 取决于发行方是否默认集成 |
| 检测覆盖 | 密钥检测器可查 | 通常无检测手段 |
| 合规状态 | 签署 EU 准则,有合规路径 | 不能仅凭"开源权重"和"本地运行"判断,需按提供者、部署者、市场投放和用途分析 |
水印标记的是"与某个提供商的生成或处理过程具有统计一致性的内容"——包括用 Claude 写作、翻译、校对或转换的场景,而不只是"经过 API"的文本[1]。因此它不是"AI 生成"这一更宽泛类别的充分或必要判据。用开源模型本地推理写的文章通常不带水印;用 Claude 处理过的摘要带水印。水印检测估计的是文本与特定提供商生成或处理过程的一致性,输出的是概率性证据,不是二元判定[1]。
Ben Goertzel 的分析更尖锐地指出:如果水印成为大学或企业的合规要求,结果不是"消除无水印 AI 文本",而是把世界分成两半——使用合规标记模型的"合规生态"和使用无标记模型的"灰色市场"[13]。需说明的是,这是一个政策推演而非技术结论,Goertzel 的观点属于评论性分析而非同行评审研究;但其描述的机制分裂路径与上述技术事实一致。
跨供应商检测:一个开放问题
即使每家闭源供应商都部署了水印,它们使用的是各自的密钥和方案。Anthropic 的检测器只能查 Claude 的水印,OpenAI 的只能查 GPT 的水印[12]。
一个通用检测器要检测"这段文本是否由 AI 生成",需要同时查所有供应商的水印。但每家方案不同(SynthID-Text vs KGW vs 其他),密钥不同,检测统计量不同,供应商之间也没有共享密钥或统一检测标准的公开机制[12]。
更准确的说法是:
- 没有供应商合作和统一配置时,通用检测器缺乏可靠技术基础;
- 各供应商使用独立密钥时,检测到水印 A 只能证明与供应商 A 的方案一致;
- 通过共享密钥、共享检测器、统一标准或额外内容凭证,可以构造跨模型检测;
- 这仍然无法覆盖本地运行的未加水印开源模型。
所以应当改为:在各供应商使用私有密钥和不同方案、且没有互操作标准的条件下,不存在一个仅凭单一水印检测器就可靠识别所有 AI 文本的通用结论。这不是一条不可能性定理,而是当前工程条件下缺乏现成机制。
更根本的问题是:检测到水印 A 只能证明"供应商 A 的模型处理过这段文本",检测不到任何水印也不能证明文本是人写的——可能来自不同供应商的未标记模型,也可能来自开源权重模型[1]。水印检测给出的是存在性证据,不是排他性证据——官方措辞也是 "may have been processed by Claude",且明确否认其 "fully conclusive"[17]。
这与 Pangram 等商用 AI 检测器形成了对比。后者不用密钥,靠捕捉 AI 措辞中的文体"破绽"——Anthropic 自己举的例子是 AI 偏爱 "this isn't [X], it's [Y]" 句式、过度使用 "quietly" 等[1]。文体检测能覆盖所有模型(不分供应商),但准确率随模型能力提升而下降。水印检测准确率更高但覆盖面窄;文体检测覆盖面广但准确率更低。两个维度各有盲区,且互补性有限。
布鲁塞尔效应
这一节要分清三件容易混为一谈的事:第 50 条的法定义务、行业实践准则的签署、各家公司实际采用文本统计水印的时间与范围。
技术上 SynthID-Text 在 2024 年就已成熟,为什么到 2026 年才大规模上线?触发点是 2026 年 8 月 2 日——欧盟 AI 法案第 50 条透明度义务生效日[14]。
根据 AI Act 法规文本,Article 50(2) 规定:生成合成音频、图像、视频或文本内容的 AI 系统提供者,须确保输出以机器可读格式标记、可被检测为人工生成或操纵[18]。Article 99 规定了相应的最高罚款框架:最高 1500 万欧元,或全球年营业额的 3%(以较高者为准)[18]。这两条是法律义务。 具体适用范围、例外和过渡安排仍需结合正式法规及官方指南判断——律所解读文章[15]可以作为背景参考,但不应作为法律主依据。
行业实践准则是另一回事。欧盟委员会说明,实践准则本身是自愿遵循的合规路径,190 家组织签署它意味着获得一条可操作的合规参考,但不等于它们都被法律强制采用同一种统计水印方案[14]。合规也不必然等于某一种统计水印——官方资料本身允许通过其他等效方式证明合规[1]。
所以"约 190 家签署方将陆续部署同类水印"是一个趋势判断,不是法律条文直接规定的技术实现。把它写成法律要求会误导读者。
Anthropic 选择全球应用水印而非仅限欧盟,理由是没有可靠的按地区限定方案[1]。这是经典的布鲁塞尔效应:一个司法管辖区的规则因为"做两套产品比做一套贵"而成为事实上的全球默认[11]。
但签署准则只提供合规路径,不转移下游责任——使用 Claude API 的产品仍需独立评估自身在第 50 条下的义务[16]。
证据等级与外推边界
写到这里有必要把文章里各种来源的证据强度分开。它们支撑同一批结论,但不能混用。
- Claude 采用的水印是 SynthID-Text 方法的一个版本,属于 Aaronson 提出的"只改变随机源"这一方法家族;
- 水印不改变输出的质量与内容,读者无法区分水印与未水印文本;
- 不添加隐藏字符,不额外消耗 token;
- 检测给出的是"Claude 可能参与过处理"的信号,不是"文本由 Claude 独立创作"的证明,也不排除人类创作;
- 检测器与检测机制尚未公开。
第二层:SynthID-Text 公开算法与官方文档[2][9][10]
- Nature 论文报告的 Gumbel-max 技巧与 softmax 采样等价性、200 token 的对比设置、Gemini 上的大规模线上验证;
- Google 工程文档中的检测器接口、加权统计量、整段一次性打分等实现细节;
- 锦标赛采样、上下文处理、缓存 K=1 实现 single-sequence non-distortion 等构造。
这些描述的是 SynthID-Text 这一实现,不等于 Claude 生产系统的具体配置。Claude 属于同一方法家族,但具体哈希上下文、锦标赛采样参数与缓存设置是否一致,仍需以 Anthropic 的后续披露为准。
- SRI Lab / ETH 对 SynthID-Text 的探测、伪造与清洗实验(Llama2-7B + Mistral-7B 辅助 + 固定攻击预算);
- Watermark Stealing 论文对 SelfHash 与 KGW 系列的伪造与清洗实验;
- Vaporizer 对多种 SOTA 方案的清洗实验。
这些是特定模型、特定实现、特定攻击预算下的实验报告,不能直接外推为 Claude 生产系统的定论。
第四层:本文的推演与估算
- Gumbel-max 数值验证(10 万次采样);
- 600–700 可打分决策的估算;
- 81,000-token 长文本的多重比较推演;
- z ≈ 3.09 / 4.75 的正态近似换算;
- 五组设计权衡的归纳。
这些是作者基于上述来源做的推理,不是实测数据,标注在此以避免与前三层混淆。
一个额外的说明:部分二手技术博客、行业评论(包括 Raschka、Goertzel、Miraflow、Wavect 等)在本文中用于背景和观点对照,不承担关键数学结论或法律结论的支撑作用[11][12][13][16]。
内容标记与来源水印
Claude 的内容标记有两层,工程含义完全不同:
文本水印是嵌入式的——信号藏在词语选择本身,随文本复制移动,能承受轻度编辑[16]。它不需要文件容器,纯文本就能携带。
文件溯源是附加式的——Claude 生成 .svg、.png、.jpg 等文件时在元数据中附加 C2PA 标准的密码学签名[17]。C2PA 是公开标准,相机厂商和修图软件也在用。但它是元数据不是嵌入像素的信号——官方明确列出格式转换、重新保存、截图等方式都会剥离它[17]。
一个能被"清理"(strip metadata),一个不能简单清理(信号在词本身)。把两者都叫"水印"会掩盖这个工程差异[16]。
工程建议
基于上述技术和合规边界,对于接入 Claude API 的产品团队,以下是本文给出的工程建议。这些建议主要是作者基于技术与合规边界推导的实践方向,不是某篇行业文章的结论复述——关于 Anthropic 产品行为的描述另见前文官方来源引用。
- 建立模型能力注册表:按供应商、准确 model ID、endpoint、区域和文件类型区分支持/不支持/未知
- 先保留再转换:在 Markdown 渲染、翻译或模板处理前捕获原始回复和内容哈希——转换可能削弱水印也破坏证据链
- 可见披露独立处理:机器可读标记和用户可见提示服务不同受众,不能因有水印就省略人工可见的 AI 交互提示
- 为供应商切换而设计:把溯源与披露策略放在 LLM gateway 层而非某个 SDK 调用——fallback 会改变预期标记
写在最后
文本水印提供了一条工程上可行的路径:利用语言模型采样过程中天然存在的选词冗余,在不显著降低用户感知质量的前提下嵌入可检测信号,经过 Google 在 Gemini 上近 2000 万条回复的大规模线上验证[2]。Gumbel-max 技巧在数学上让"换随机源"与"不换"在分类采样层面不可区分,干净利落。
但要说明的是,"无失真"并非所有水印部署的统一属性。Nature 论文同时研究了非失真配置和为提高检测性而允许质量损失的配置[2]——"无失真"是特定配置下的性质,而不是这个方案族的必然结论。
但把它放到 2026 年的 AI 生态中看,它的局限不是边缘情况,而是五组设计权衡的必然代价。需要说明的是,下表中的"代价"一列并非普适定律,而是当前公开实现与实验条件下观察到的张力——具体程度依赖方案、参数与攻击预算:
| 权衡 | 收益 | 代价 |
|---|---|---|
| 无失真 ↔ 鲁棒性 | 特定非失真配置下降低生成分布偏移 | 信号依赖上下文相关的 token 选择,重写会显著削弱 |
| 密钥保密 ↔ 覆盖范围 | 提高伪造门槛(闭源侧) | 用户完全控制采样器时提供者无法强制水印 |
| 高灵敏 ↔ 低误报 | 短文本信息不足 | 长文本触发多次比较陷阱 |
| 单供应商水印 ↔ 通用检测 | 各家可独立部署 | 独立密钥下无法推出通用 AI 来源判断 |
| 强制部署 ↔ 开放运行 | 托管 API 可统一采样 | 用户控制推理时可绕过提供者水印 |
另有一类需要单独对待的是安全失败模式,它们不构成设计权衡,而是两个不同的攻击目标:清洗对应漏检(false negative),伪造对应误归因(false positive)。两者可能共享密钥泄露这一成因,但没有证据表明"越容易清洗就越容易伪造",不能当作稳定的双向 trade-off。
这些风险有些可以通过参数、检测策略、共享标准和可信执行环境缓解,但它们反映的是质量、鲁棒性、覆盖范围、误报控制和可验证性之间的长期设计张力[6]。
真正的系统性影响可能不在技术层面,而在举证责任的重新分配。当水印成为合规要求时,"这段文本是不是 AI 写的"这个原本无法回答的问题,会被迫换成"这段文本是不是从合规 API 出来的"——一个可回答但答非所问的问题。监管者想要的透明度和技术能提供的答案之间,存在一个结构性的错位。
所以给一个可以带走的结论:Claude 文本水印提供的是供应商级、概率性的内容处理证据。它可以提高"某个提供商是否参与过生成或处理"的判断能力,但不能单独证明作者身份、排除人工创作、覆盖所有 AI 模型,也不能直接承担学术或法律责任认定。它的有效性取决于文本长度、可选词自由度、检测阈值、编辑程度、攻击预算和具体部署配置——这些条件在本文各节里逐条给过了。
参考资料
[1] Anthropic. How Claude's text watermark works. 2026-08-14
[3] Kirchenbauer, J. et al. A Watermark for Large Language Models. ICML, 2023
[8] SRI Lab, ETH Zürich. Probing Google DeepMind's SynthID-Text Watermark. 2024
[9] Princeton University, LIPS Lab. The Gumbel-Max Trick for Discrete Distributions
[10] Google AI. SynthID: Tools for watermarking and detecting LLM-generated Text
[12] Sebastian Raschka. How Claude Watermarks AI-Generated Text. Ahead of AI, 2026-08-22
[13] Ben Goertzel. The Folly of Statistically Watermarking LLM-Gen Text. Eurykosmotron, 2026-08-17
[14] European Commission. Code of Practice on Transparency of AI-generated Content. 2026
[15] Stibbe. AI Act Transparency Obligations: Rules, Scope & Timeline. 2026
[16] Kevin Riedl. Claude 会给文本加水印吗?2026 API 实战解读. Wavect, 2026-08-13
[17] Anthropic Help Center. How Claude marks AI-generated content
[18] Regulation (EU) 2024/1689 (AI Act). Article 50(2) 与 Article 99. EUR-Lex
评论 (0)
发表评论
请先登录后发表评论