Claude开始给文本加水印了:实测之后,事情没想象中那么简单

Claude的回答,开始自带“水印”了。

最近,Anthropic确认签署了欧盟《人工智能法案》第50(2)条对应的“AI生成内容透明度实践守则”。按照官方说法,2026年8月2日以后在欧盟上线的新Claude模型,会从发布第一天起支持机器可读标记:生成的文本会嵌入不可见水印,生成的图片等文件则会附带经过数字签名的溯源元数据。

这些标记不只出现在Claude网页端,还会覆盖Claude API、Claude Code等产品;只要相关模型支持水印,标记原则上会跟着模型输出出现在全球各地区。至于更早发布的旧模型,Anthropic还在逐步补上这套能力。([Claude 帮助中心][1])

听到“文本水印”,很多人的第一反应可能是:Claude是不是偷偷往回答里塞了零宽空格、不可见Unicode字符,或者某种复制到记事本里就会消失的隐藏代码?

讲道理,如果只是这种级别,那确实没什么好聊的。

真正的文本水印不是藏在格式里,而是藏在模型每一次“选词”的过程里。水印就是文本本身,就是最终出现在屏幕上的那些词。

而一旦弄明白它是怎么工作的,也会发现这套技术没有宣传语里那么无懈可击。

Anthropic目前还没有公开Claude文本水印的完整技术细节,所以外界暂时不知道它具体采用了哪种算法。下面主要结合Google公开的SynthID、经典的大模型“绿名单水印”方案,以及C2PA内容溯源标准,解释这类技术大致是怎么回事。

1. 先说清楚:文本水印不是隐藏字符

隔一阵子,网上就会出现一种说法:AI公司在模型输出里偷偷加入了不可见字符,只要复制粘贴,就能判断一段文字是不是AI生成的。

这种做法确实存在过,但非常脆弱。

把文本粘贴进纯文本编辑器、重新输入一遍、截图后再OCR,甚至经过某些平台转发,隐藏字符都可能直接消失。真拿这种东西做大规模内容识别,基本撑不过第一轮处理。

现在主流公司研究的水印,走的是另一条路线。

Google推出了SynthID,用来给AI生成的文本、图片、音频和视频嵌入机器可识别的信号。OpenAI目前也在部分生成图片和音频中使用SynthID,同时为图片附加C2PA内容凭证,但并没有确认将它用于文本。 ([Google DeepMind][2])

另一个经常一起出现的名字是C2PA,全称是“内容来源与真实性联盟”。它解决的不是“这段话用了哪些词”,而是“这个文件由谁创建、经过什么工具、后来有没有被修改”。

Anthropic现在给Claude采用的也是两套互补方案:

  • 对文本,直接嵌入不可见的文本水印;
  • .svg.png.jpg等文件,附加符合C2PA标准的数字签名和溯源信息。

这两者看起来都在给AI内容“打标”,底层思路却完全不同。文本水印更像统计指纹,C2PA则更像一份可以验签的数字履历。([Claude 帮助中心][1])

2. 水印真正做的,是悄悄改变模型的选词概率

大语言模型生成文字时,并不是提前想好一整句话,再从头到尾打出来。

它实际上是一个token一个token往下生成。这里的token可以是一个字、一个词,也可能只是一个词的一部分。

每生成一个token,模型都会计算一大批候选项的概率。例如,模型正在补全下面这句话:

蛋糕很好吃,最喜欢的甜点是____。

后面比较合理的候选词可能包括“巧克力蛋糕”“黑森林蛋糕”“芝士蛋糕”。模型会分别给这些候选项打分,再根据温度、Top-P等采样参数,从中选择一个。

正常情况下,这个过程主要由模型概率和随机采样决定。

加入文本水印后,模型提供方会在这个概率分布上施加一层非常轻微的、可重复计算的偏置。Google对SynthID的公开解释也是类似思路:在文本生成过程中调节不同token被选中的概率,把额外信号直接写进token分布里。([Google DeepMind][2])

为了讲得更直观,可以参考Kirchenbauer等人在ICML 2023提出的经典“绿名单水印”方案。

这套方案会根据前文上下文、哈希函数和一把密钥,把当前词表伪随机地划分为两组:

  • 一组是“绿色token”;
  • 另一组是“红色token”。

模型并不会彻底禁止红色token,而是给绿色token的分数加上一点小小的偏置。这样一来,模型仍然会选择合理的候选词,只是在几个同样自然的选项里,更容易选中绿色的那一个。

到了下一个token,系统又会根据新的上下文重新计算。绿名单和红名单也会随之变化。

所以,对普通读者来说,输出仍然是一段正常文字。没有奇怪字符,没有肉眼可见的标记,也没有固定词语反复出现。

但对掌握相同算法和验证参数的人来说,这段文本就会呈现出一种不太可能自然形成的统计偏向:绿色token出现得明显过多。([Proceedings of Machine Learning Research][3])

3. 用一个简化例子,就能看懂它怎么藏进去

还是刚才那句话:

蛋糕很好吃,最喜欢的甜点是____。

模型的几个高概率候选项是:

巧克力蛋糕、黑森林蛋糕、芝士蛋糕。

普通采样可能按照概率随机选出其中一个。

加水印以后,系统会把“密钥、前文上下文、当前候选token”等信息组合起来进行计算。假设这一轮“巧克力蛋糕”刚好获得了更高的水印分数,那么模型就更倾向于选择它。

注意,这并不是硬塞一个不自然的词。

“巧克力蛋糕”本来就是模型认为合理的候选项,水印只是在几个差不多的答案里,轻轻推了它一下。

生成下一个token时,这个过程会再次发生。新的上下文、新的候选集合,再重新计算一次偏好。这样连续跑上几百次,最终就会形成一套肉眼看不见、但可以通过统计方法识别的模式。

文本水印统计检测示意图

检测器真正检查的,并不是某一个词有没有问题,而是整段文本中“绿色token多得是否离谱”。

假设每一步有四分之一的token被划进绿名单,那么一段没有加水印的普通文本,理论上也会有大约四分之一的token偶然落进绿色集合。

但经过水印偏置的文本,绿色token比例会明显高于四分之一。

检测器会计算这个差距偏离随机情况多少个标准差,也就是常说的z分数。简单理解就是:

z分数越高,这么多绿色token纯靠运气出现的可能性就越低。

4. 为什么改掉几句话,水印可能还在

这套方案比较聪明的地方在于,它不要求每一个token都“对上暗号”。

检测器看的是整体统计趋势。即便其中一些句子被改写、删掉或挪了位置,只要仍然保留了足够多的原始token,水印信号就可能继续存在。

例如,一篇几千字的Claude文章只修改了其中两三段,剩下的大部分内容没有动,那么总体z分数虽然会下降,却不一定直接归零。

这也是为什么文本水印比零宽字符更耐折腾。

复制粘贴不会自动清除它,换一个编辑器也没有用,因为水印已经进入了文本的实际措辞。Anthropic同样表示,Claude的水印会跟随复制出来的文本,并且可能在部分编辑后继续保留。([Claude 帮助中心][1])

不过,“能扛住部分修改”和“怎么改都去不掉”完全是两回事。

经过大规模重写、翻译、反复转述,或者把原文拆散混进大量人工内容后,水印信号仍然可能被逐渐稀释,最后弱到无法可靠检测。

所以,文本水印确实比隐藏字符扎实得多,但它并不是永久烙印。

5. 真正麻烦的地方,是现实文本没有那么理想

水印背后的统计推导,通常默认模型在每一步都有多个合理候选项。

但现实里的很多内容并不满足这个条件。

比如代码、日期、公式、专有名词、法律条文,或者一段事实性极强的技术说明,往往只有一个明显正确的下一token。

“Barack”后面几乎必然跟着“Obama”,一个函数名也不能为了满足水印随便换成另一个名字。

这种内容被称为低熵文本。简单理解,就是模型没有多少选择空间。

候选词只有一个时,水印再想施加偏置也没地方下手。要么尊重正确答案,水印信号变弱;要么强行换词,直接影响准确性和可读性。

短文本也有类似问题。

一条标题、两句话回复或者一条短社交媒体文案,总共没有多少token。样本量太小,检测器很难区分“真的存在水印”和“只是碰巧多中了几个绿色token”。

这也是为什么几百字、几千字的长文本,更适合做统计检测;几十个token的短内容,结果往往噪声很大。

再往后,还有一种很现实的操作:跨模型洗稿。

先让Claude起草,再交给另一个模型润色;或者先翻译成另一种语言,再翻译回来;甚至连续经过三四个模型改写。

每处理一轮,原来的token结构都会被打散一部分。最终文本也许仍然是AI生成的,但属于Claude的那套统计指纹可能已经所剩无几。

Anthropic自己也明确提醒:没有检测到水印,不代表内容不是AI生成的。短文本、重度编辑、转述、翻译以及与其他材料混合,都可能让标记无法被识别。反过来,即便检测到了标记,也只能说明内容可能经过Claude处理,不代表所有观点和文字最初都由Claude创作。([Claude 帮助中心][1])

这点特别重要。

有人可能只用Claude校对了错别字,最终文本照样带有Claude水印;也有人直接拿Claude写了整篇文章,再经过大量改写,最后反而检测不到。

所以水印更适合回答:

这段内容是否可能经过某个模型处理?

而不是直接回答:

这篇文章到底是谁写的?

6. C2PA走的是另一条路:不猜文本,而是记录文件经历

文本水印依赖统计模式,而C2PA更像一条内容“履历链”。

一张图片被AI生成后,文件里会带上经过数字签名的内容凭证,记录它由什么工具创建、是否经过编辑、后来发生过哪些变化。

验证工具检查的不是画风像不像AI,也不是某个像素看起来奇不奇怪,而是文件中的签名、哈希和溯源记录能不能对上。

这套机制对图片、视频、音频和文档文件尤其有用。

它的优势是标准开放、信息更丰富,第三方工具也可以独立验证。缺点同样明显:元数据可能在截图、重新保存、格式转换或者平台压缩时被删除。

C2PA也提供水印和指纹等“软绑定”机制,帮助在元数据被剥离后重新找到对应的内容凭证。不过从本质上说,这仍然依赖创作工具、编辑软件和分发平台共同参与。只要中间某个环节完全不支持,溯源链就可能断掉。([内容来源与真实性联盟][4])

所以,两套方案解决的是相邻但不同的问题:

文本水印是在内容本身里留下统计信号,C2PA则是在文件旁边附上一份可验证的身份证明。

7. Claude的水印,现在能被普通人检测出来吗?

目前还不行。

截至2026年8月17日,Anthropic只确认了Claude文本中存在嵌入式水印,并表示未来会向用户和第三方提供检测能力。

但是,官方还没有公布完整的技术文档,也没有公开下面这些关键内容:

  • 采用了什么哈希或伪随机函数;
  • 每次计算会参考多少个前文token;
  • 水印偏置强度有多大;
  • 绿色token比例是多少;
  • 密钥是否轮换,以及如何轮换;
  • 第三方通过什么接口完成验证;
  • 是否会提供公开检测器或验证API。

Anthropic官方目前的原话仍然是:检测机制的具体信息会在后续技术文档中公布。([Claude 帮助中心][1])

换句话说,现在网上即便出现一个所谓“Claude水印检测器”,也很难真的在读取Claude的水印。

没有Anthropic的算法参数、密钥或官方验证接口,外部工具最多只能检查文本风格,猜测它“像不像Claude写的”,而不是读取真正的机器水印。

这两件事不能混为一谈。

为了看看这种统计检测大概是什么感觉,原作者做了一个小工具,模拟n-gram和token频率偏置,再用z分数检查文本是否呈现异常分布。

这里的n-gram,可以理解为文本中连续出现的n个相邻元素。比如“Claude文本水印”可以被拆成若干连续词组,再根据这些词组计算哈希结果。

模拟水印检测工具的运行结果

必须强调,这个工具没有Anthropic的密钥,也不知道Claude的实际算法,所以它不可能真正检测Claude水印。它只是把水印研究中的基本统计思路做了一个简化演示。

原作者先把几段完全没有经过Claude处理的句子放进去,结果偶尔也会出现一两个偏高的z分数。

原因很简单:文本太短,统计结果本来就容易抖动。

随后,原作者又把整篇长文放了进去,结果出现了一个更有意思的现象:差不多每隔一个词,就有一个词被标成红色。

看起来好像发现了什么惊天大秘密,但其实什么也没有。

问题出在自然语言本身高度重复。

英语里大量依赖theaofinisand这类功能词。同一个词组、同一个二元组会在长文里不断重复。

如果某个固定词组第一次经过哈希后被判断为绿色,那么之后每次重复出现,它都会得到完全相同的结果。

检测器表面上看起来统计了几千个“独立样本”,实际上可能只是在反复计算一小撮重复词组。

这就像只掷了十次硬币,却把每次结果复制一百遍,然后宣称已经完成了一千次独立实验。

数字确实变大了,信息量却没有跟着变大。

8. 这不是模拟工具自己的问题,论文早就发现了

先别急着把这件事理解成“Claude水印已经被破解”。

这个演示工具既没有Claude的密钥,也没有Claude的真实算法,当然谈不上破解。

真正值得关注的是:如果水印检测器没有正确处理自然语言中的重复内容,那么一套数学公式看起来完全正确的系统,也可能在普通人类文本上给出信心十足的错误结论。

Kirchenbauer等人在ICML 2023发表的论文A Watermark for Large Language Models,正是经典绿名单水印方案的代表工作。

研究团队在论文中专门讨论了重复n-gram带来的问题。

假设“Barack Obama”这个二元组第一次计算时,“Obama”刚好被划进绿名单,那么以后每一次出现“Barack Obama”,都会重复贡献一个绿色token。

在极端情况下,一篇完全由人类撰写的文章,只要不断重复某个固定短语,也可能积累出异常高的绿色token数量,从而被错误标记为机器生成。

研究团队提出的解决办法包括增加哈希所使用的上下文长度,或者在检测时只统计某个n-gram第一次出现的结果,后续重复内容不再计数。([Proceedings of Machine Learning Research][3])

第二年,同一团队又发表了On the Reliability of Watermarks for Large Language Models,专门测试水印进入真实场景之后还靠不靠谱。

他们让人类重写加水印文本,也让另一个没有水印的模型转述,再把水印内容混入更长的人工文档里。

结果很有意思,好消息和坏消息同时出现了。

好消息是,水印比想象中顽强。即便经过强度很高的人类改写,在把误报率设置为10⁻⁵时,平均观察大约800个token后,仍然可以检测到原有信号。

坏消息是,这种“顽强”有一部分来自原文片段的泄漏。人类和模型在改写时,通常不会把所有n-gram彻底换掉,总会保留一些词组甚至完整句子。

这意味着,一个很高的检测分数,有时只是被少数残留片段拉起来,并不能证明整篇文章都由原模型生成。对于拼接文档、多人协作内容和经过多轮编辑的文本,这个区别尤其关键。([arXiv][5])

这也是很多通用AI检测器容易翻车的地方。

它们往往依赖困惑度、句式规律、词频和文体特征进行猜测。经典文学、非英语母语者写作、格式高度统一的论文,以及短而正式的文本,都可能因为“太规律”而被误判成AI内容。

稍微改写、转述或者换一种语言,又可能迅速绕过检测。现有研究已经反复证明,单纯依赖写作风格的AI文本检测,在跨模型、跨领域和面对转述攻击时并不稳定。([ar5iv][6])

9. Claude真实方案里,还有太多东西没有公开

目前只能确认Claude存在文本水印,却不能确认它和经典绿名单方案、Google SynthID到底有多少相似之处。

Anthropic没有说明它是否采用红绿token划分,也没有说明检测器是否会忽略重复n-gram。甚至无法确定它是不是使用完全不同的统计结构。

下面这些关键问题,目前都没有公开答案:

第一,水印究竟依赖多长的上下文?

如果只根据前一个token计算,相同二元组很容易得到重复结果;如果依赖更长上下文,重复问题会减弱,但检测和实现也会更复杂。

第二,水印偏置到底有多强?

偏置越大,检测越容易,但也越可能影响模型原本的选词和输出质量。偏置越小,文本更自然,却需要更长样本才能形成可靠信号。

第三,密钥如何管理?

一把长期不变的密钥更容易部署,却也更容易被研究和攻击。频繁轮换密钥可以提高安全性,但检测端又必须知道某段文本对应哪个时间、哪个模型和哪一套密钥。

第四,Anthropic会不会提供公开验证接口?

官方已经表示会支持用户和第三方检测Claude标记,但截至目前还没有发布具体检测方式。最终形态可能是本地工具、网页验证器,也可能是一个需要调用的API。([Claude 帮助中心][1])

这和C2PA形成了非常明显的区别。

C2PA本身就是开放标准,图片等文件中的签名元数据可以由独立工具验证。Claude文本水印目前仍然属于专有信号,外界只能等待Anthropic开放相应的验证能力。

10. 那么,现阶段到底该怎么看AI水印?

目前大致有三种不同的检测方式,但不能把它们混成一回事。

C2PA内容凭证

对于带有C2PA元数据的图片和文件,现在已经可以使用独立工具验证。

它能够说明文件是否带有可信签名、由什么工具处理,以及内容后来是否遭到篡改。它比“看画风猜AI”可靠得多,但元数据仍然可能在截图、重新保存和格式转换中被移除。

所以,检测到C2PA是一个很强的来源信号;没有检测到C2PA,却不能直接证明内容不是AI生成的。

通用AI文本检测器

GPTZero一类工具通常分析困惑度、突发度、句式节奏和写作风格。

它们并没有Claude的水印密钥,也不是在读取Claude嵌入的机器信号,本质上还是根据文本表现进行分类。

这种工具可以作为辅助参考,但不适合单独充当证据。短文本、翻译文本、技术内容、非母语写作和轻度改写,都可能明显影响结果。

一个“检测到AI”或者“未检测到AI”的标签,本身远远不够。

Anthropic官方文本验证工具

截至2026年8月17日,Anthropic尚未公开可用的Claude文本水印验证器。

等官方工具真正上线之后,它才有可能验证Claude专有水印。因为只有Anthropic掌握实际的生成参数、检测规则和密钥体系。

至于这项能力以后会不会开放成API,甚至做成收费服务,目前没有公开信息。

写在最后

Claude加入文本水印,当然不是作秀。

它背后的密码学和统计学基础都是真实存在的。和那些依赖“AI味”“句式太工整”“困惑度太低”来猜测作者身份的工具相比,嵌入式水印确实是更靠谱的一条路线。

但“原理可靠”和“现实里永远可靠”,是两件完全不同的事。

长文本、改动较少、候选词丰富时,水印可能表现得很好;到了短文案、代码、专有名词、翻译、跨模型改写和多人混合创作场景,信号就会迅速变弱。

更关键的是:

检测到Claude水印,不代表整篇内容从思想到文字都由Claude原创。

同样:

没有检测到Claude水印,也不代表这段内容没有经过AI处理。

水印最终提供的是一条来源线索,而不是一锤定音的判决。

所以,Claude这次加水印最大的意义,并不是从此彻底解决“这是不是AI写的”,而是让平台第一次有机会提供一种比文风猜测更扎实、也更容易进入合规流程的机器信号。

技术底座已经搭起来了。

至于它能不能扛住真实世界里无穷无尽的复制、改写、翻译和洗稿,还得等Anthropic公开检测工具之后,再真正测上一轮。


原文: Putting Claude’s watermarking to the test

[1]: https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content "How Claude marks AI-generated content | Claude Help Center"
[2]: https://deepmind.google/blog/watermarking-ai-generated-text-and-video-with-synthid/ "Watermarking AI-generated text and video with SynthID — Google DeepMind"
[3]: https://proceedings.mlr.press/v202/kirchenbauer23a/kirchenbauer23a.pdf "A Watermark for Large Language Models"
[4]: https://c2pa.org/faqs/ "C2PA FAQ"
[5]: https://arxiv.org/abs/2306.04634?utm_source=chatgpt.com "On the Reliability of Watermarks for Large Language Models"
[6]: https://ar5iv.labs.arxiv.org/html/2303.11156?utm_source=chatgpt.com "Can AI-Generated Text be Reliably Detected? - ar5iv - arXiv"
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐