Anthropic公开了Claude水印技术的原理:不加字符,改的是随机数的来源。
Claude 生成文本隐形水印的实现方式——没往文本里塞任何隐藏字符,而是改了模型选词时随机性的来源。很多人以为"无损水印"技术上不成立,这次官方说明证明这个思路是可行的。
1. 水印怎么工作:换掉随机数的来源
大模型生成文本是一个词一个词往下选的。像"今天天气很冷,而且……",下一个词大概率是"阴沉"或"多云",两个词选哪个,对句子含义几乎没区别,这种低风险的选择通常由一个随机数决定。
水印技术做的事情是:这类随机选择,本来是用任意随机数生成器决定的,现在换成用一个密钥(key)加上前面几个词来决定。
1)选出来的词依然是"随机"的,只是这个随机性不再来自纯随机数生成器,而是来自密钥和上下文的组合。
2)事后如果知道这个密钥,就能检查一段文本里的词语选择序列,是否符合"用这个密钥会做出的选择",从而判断这段文字是否可能是 Claude 生成的。
3)水印不会让模型偏向某个固定的词。这句话里选"阴沉"还是"多云"仍然看上下文决定,只是决定过程从"抽随机数"变成了"用密钥算随机数"。
本质上是水印不改变模型的输出内容或质量,改变的只是"随机性从哪里来"这一个环节。
2. 具体方法:SynthID-Text,源头是2022年的一个提案
Claude 用的是 Google DeepMind 在 2024 年 Nature 论文里发表的 SynthID-Text 方法的一个版本,这类方法都能追溯到 Scott Aaronson 2022 年提出的一个方案,核心设计原则一致:只改变选词时随机性的来源,不改变别的任何东西。
Anthropic 用了个类比说明这事有多"无损":玩大富翁游戏,正常靠掷骰子决定移动格数,如果换成用圆周率小数点后某一段数字来决定移动格数(从某个随机选定的起始位置开始按顺序取数),对玩家和游戏结果来说完全没区别——但事后如果你知道用的是圆周率、知道起始位置,就能反推出这局游戏是不是用了这套机制。Claude 的水印就是这个思路的文本版本。
3. 几个容易被问到的细节
1)不增加token,不影响速度和成本。因为没往文本里加任何东西,模型定价和响应速度都不受影响。
2)无法追溯到具体用户或机构。密钥只跟 Claude 这个模型绑定,不含任何能定位到具体用户、组织或某次对话的信息。
3)事实性文本和代码里水印会更弱。像"牛顿最著名的著作叫做《自然哲学的数学原理》"这种句子,下一个词几乎没有其他合理选项,水印没有可以"附着"的选择空间。代码同理,大部分场景需要精确输出,可加水印的空间很小,注释里例外。
4)轻度编辑很难去掉水印,但完全重写可以。如果只改标点语法,水印大概率还在;如果每个词都换掉,那这段文字还能不能算"AI生成"本身就有争议了。
5)为什么现在做这个:不是Anthropic主动想加水印,是因为欧盟AI Act要求AI提供商标记AI生成内容,Anthropic和大约190家签署方一起在今年7月签了《AI生成内容透明度行为准则》,8月2日生效。目前是全球范围应用,因为暂时没有按地区精确区分用户的可靠方式。
Anthropic 后续还会提供水印检测API,具体细节还在完善中。这次公开说明,某种程度上也是在回应一直以来"无损水印做不到"的技术质疑——原来关键不是往文本里加东西,而是在生成过程本身就自带的随机性上动手脚。
#how i ai##程序员#








