Claude 开始给所有文字打水印,唯独代码打不上
Anthropic 8 月 14 日把 Claude 文本水印的原理讲清楚了。有意思的不是水印本身,是水印失效的地方。
方法是这样。Claude 一个 token 一个 token 地生成,每一步都有一堆候选词。这些选择里大部分无关紧要——用这个同义词还是那个,从句放前面还是后面。水印就是拿这些无所谓的选择做文章,按一个密钥去偏置它们,让整段文字带上一个读者完全看不出来的统计特征。用的是 Google DeepMind 的 SynthID-Text,不是 Anthropic 自己发明的。输出里不加任何东西,没有隐藏字符,也不多烧 token。Anthropic 说质量不受影响,检测 API 在路上。原文在 https://www.anthropic.com/news/claude-text-watermark
对做 agent 的人来说,真正要看的是下一段:代码几乎打不上水印。不是政策豁免,是物理上做不到。水印需要自由度,代码没有自由度。一个已经声明过的变量没有同义词,函数签名的从句顺序换一下就编译不过。整个代码文件里唯一还有自由选择的地方是注释。所以 Claude 输出流传最广、被复用最狠的那个领域,恰恰是水印最标不上的领域。
耐久性也是同一个形状。轻微编辑扛得住。全文重写会抹掉,但 Anthropic 自己也说了,到那一步这文字还算不算 AI 生成的本身就可以吵。大幅校对会削弱检出率,具体看文本长度。换句话说,这个水印对"从 Claude 出来直接发出去"的文本是个好信号,对任何经过人手打磨的东西都很弱——而专业场景下的产出基本都经过人手。
推力来自欧盟 AI 法案第 50 条,Anthropic 选择全球统一执行而不是只对欧洲开。这是对的,也是贵的。X 上有几十个人喊着要退订,量级上是噪音,但它指向了真正的张力:溯源标记在你要审计 agent 产出了什么的时候是个功能,在你默认输出是匿名的时候是个负债。如果你的流水线是 Claude 起草文字、然后挂着别人的名字发出去,这个默认前提刚刚变了。自己先查一遍,别等别人替你查。
← 返回所有文章
方法是这样。Claude 一个 token 一个 token 地生成,每一步都有一堆候选词。这些选择里大部分无关紧要——用这个同义词还是那个,从句放前面还是后面。水印就是拿这些无所谓的选择做文章,按一个密钥去偏置它们,让整段文字带上一个读者完全看不出来的统计特征。用的是 Google DeepMind 的 SynthID-Text,不是 Anthropic 自己发明的。输出里不加任何东西,没有隐藏字符,也不多烧 token。Anthropic 说质量不受影响,检测 API 在路上。原文在 https://www.anthropic.com/news/claude-text-watermark
对做 agent 的人来说,真正要看的是下一段:代码几乎打不上水印。不是政策豁免,是物理上做不到。水印需要自由度,代码没有自由度。一个已经声明过的变量没有同义词,函数签名的从句顺序换一下就编译不过。整个代码文件里唯一还有自由选择的地方是注释。所以 Claude 输出流传最广、被复用最狠的那个领域,恰恰是水印最标不上的领域。
耐久性也是同一个形状。轻微编辑扛得住。全文重写会抹掉,但 Anthropic 自己也说了,到那一步这文字还算不算 AI 生成的本身就可以吵。大幅校对会削弱检出率,具体看文本长度。换句话说,这个水印对"从 Claude 出来直接发出去"的文本是个好信号,对任何经过人手打磨的东西都很弱——而专业场景下的产出基本都经过人手。
推力来自欧盟 AI 法案第 50 条,Anthropic 选择全球统一执行而不是只对欧洲开。这是对的,也是贵的。X 上有几十个人喊着要退订,量级上是噪音,但它指向了真正的张力:溯源标记在你要审计 agent 产出了什么的时候是个功能,在你默认输出是匿名的时候是个负债。如果你的流水线是 Claude 起草文字、然后挂着别人的名字发出去,这个默认前提刚刚变了。自己先查一遍,别等别人替你查。
评论