Gruber撰文批评Anthropic对Claude生成文本注入水印的做法,称这破坏了写作本质,HN上引发177 Points、176条评论的技术伦理讨论。
用 Drata 的 Agentic Trust Management Platform 更快管理 GRC
本周我写了篇文章讲 Anthropic 的公告——所有 Claude 模型、全球范围内,很快就会对它们生成的每一条内容(包括文本)进行"水印"标记,以遵守欧盟这项法规。彼时我们只能猜测这会如何运作,因为 Anthropic 连最模糊的说明都没有提供——尽管公告标题荒谬且带有侮辱性地写着"How Claude Marks AI-Generated Content"(Claude 如何标记 AI 生成的内容)。
我最初的猜测是,他们可能会在文本中隐藏不可见的非打印 Unicode 字符。只是随口一说。结果表明这并不是他们要做的。他们要做的是采用一种隐写术——在推理时选择词汇(或其他 token 输出),留下指纹,之后可能以概率方式被检测出来。
我最初猜"不可见字符",并非因为没想到语义词汇选择技术,而是因为我是个傻子,居然相信了 Anthropic 对自己所作所为的描述。他们最初的支持文档声称:
当支持的 Claude 模型生成文本时,它将一个不可察觉的水印直接编织进文本本身。你看不到它,它也不会改变 Claude 回答的含义、质量或可读性。
他们说"不可察觉"和"不会改变含义、质量或可读性"。是他们自己说的。不是"几乎不可察觉"。不是"略微改变含义、质量或可读性"。这对我来说是有道理的,因为这绝对是我个人使用的任何工具都需要的——不,是要求的。一个工具为了在文本中嵌入隐藏线索以表明其出处,而牺牲一丝一毫的清晰度、连贯性、含义、质量等,都是不可接受的。这是我会要求的,而且也将要求的。Anthropic(最初的)支持文档毫不含糊地声称他们的系统将实现这一点。所以如果那是真的,我实在想不出还有什么办法,只能是在文本中隐藏不可见字符。
我的错误在于相信了 Anthropic 所说的他们的系统不会掺入和破坏其模型生成的文本语义。事实上这恰恰就是他们计划做的。我应该去检查一下自己的脑子,居然相信了一篇标题为"How Claude Marks AI-Generated Content"却完全没解释 Claude 如何标记(或将如何标记)AI 生成内容的文件中的任何一个字。
实际运作方式
昨天,在一个与最初的"How Claude marks AI-generated content"文章完全不同的网站上——那个文章对运作方式什么都没解释——Anthropic 发布了"How Claude's Text Watermark Works",这篇文章确实用通俗易懂的术语解释了它将如何运作。我将在下面回头讨论 Anthropic 这篇新的、极其委婉和略有误导性的描述。
关于这个话题有很多研究,其中一些我也附在下面。但对这个技术背后原理最好的描述,是 James Padolsey 的一篇交互式论文"How AI Text Watermarking Works"。这是一篇极其清晰易懂的读物,交互元素出色地阐释了主要概念。满分作品。如果你对此有任何兴趣,我敢说必须阅读——并且把玩——Padolsey 的这篇文章。
但这是我在外行层次上的概要总结。如果你抛 N 次硬币并记录结果,你可以有一定把握地确定硬币是公平的还是偏的。LLM 在其流行的使用场景中是非确定性的。同一个问题问同一个模型,你往往至少会得到略有不同的答案。也许含义相同,但措辞不同。在生成下一个 token 的每个决策点,模型都会做出选择。通过这些语义水印技术,它们会对某些 token 选择不同的词,基于可以称为"绿表"和"红表"的词表。在每个决策点,它们选择绿表词汇的可能性略高于红表。但这并不意味着它们从不选择红表词汇。只是比没有这种掺入标记技术的情况下选择红表的可能性要低。(就像一枚作弊的 51-49 硬币,平均每 100 次仍有 49 次会"错误"的一面朝上。)
词或词组在每个"下一个 token"生成点动态确定性地被分到绿表和红表中。所以有时某个特定词会在绿表上,其他时候会在红表上。拥有密钥的人可以确定每个 token 生成点某个词会在哪个表上(这就是水印如何被检测);没有密钥的人则不能。这意味着 Claude 将永远不会存在一个偏好或回避的词表。
对于抛硬币,N 越大——即你抛的次数越多——你就越能确信硬币是公平的还是偏的。语义水印也是如此。文本中的词越多,对其是否由特定 AI 模型生成的分析就越准确。抛硬币次数太少,你根本不可能对硬币的公平性有任何把握。词(或 token)太少,同样无法判断一段文本是否是 AI 生成的。
给定一段要检测特定水印系统迹象的文本,如果标记为绿的词比预期多,标记为红的词比预期少,就可以——以某种置信度——标记为该文本由应用特定密钥水印系统的 AI 系统生成,或仅由其修改过。判断的置信度显然会因文本字符串的大小和绿表、红表词汇的随机权重设置而显著变化。但只有 Anthropic 能判断文本是否似乎由 Claude 生成,而且 Anthropic 只能检测 Claude 应用的水印。Claude 无法检测到比如说 Gemini 生成的隐藏水印信号,Gemini 也无法检测到 Claude 创建的隐藏水印信号,因为每种实现都基于只有 LLM 提供商持有的密钥。
对技术前提的异议
我对此的一个根本问题是,没有两个同义词携带完全相同的含义。"He leaped at the chance"和"He jumped at the opportunity"是非常相似的句子,表达相同的一般情感,但它们并不相同。我们写作时选择的确切词汇很重要。我希望我使用的任何 LLM 在每个决策点都选择最精确的最好的词。我接受的一个明显约束是时间和计算量。在快速执行推理并以一定每 token 成本为约束的条件下,我想要最好的词。这个约束与人类写作一致。如果花更长时间写,我肯定能写出更好的专栏。我写作时有一种感觉,知道我应该在每个词和标点符号的选择上投入多少关注。对于某些段落、句子,甚至个别词汇的选择,当我的直觉告诉我应该多花时间时,我就会这么做。
换句话说,这些都是必要的权衡。这些因素都符合我的利益:速度、成本、质量。理想情况下,我希望完美的写作、即时生成的的速度、零成本。这些都不可能实现。计算不是免费的(而且使用领先模型进行基于云的 LLM 推理实际上很贵)。推理不是即时的。伟大的写作,无论是自然的还是人工的,都只能接近完美。
认为除我需求之外的任何东西应该影响为我生成文本,这个想法显然是无礼的。
这不仅仅关乎人们可能有意将其作为自己原创作品展示的文本。这甚至不仅仅关乎 LLM 对手写作品的校对。Anthropic 说的是,所有新的 Claude 模型都会对他们生成的超过 200 个 token(约 150 个词)的每一条文本进行掺入标记,包括呈现给用户阅读的所有内容。因此,即使在用户和 Claude 之间的私人对话中——除了用户之外永远不会有其他人阅读——Claude 也将开始以统计上可预测的方式选择词汇来标记其输出,而不是最大化清晰度和精确性。
即便在今天,所谓的前沿模型在清晰度方面也已经明显不足。Claude、ChatGPT、Grok 等模型比大多数人类"写得更好",产出的文章比普通人类更好。但:这不废话。大多数人都是糟糕的写手。"普通人"相当愚蠢,一半的人比这还蠢。而且有很多聪明、有趣的人,文字表达能力却一塌糊涂。所以,尽管 LLM 令人印象深刻,门槛却很低。我见过的这些模型输出的最佳写作,比我为了娱乐而选择去读的任何东西都差。而现在 Anthropic 说他们要让它变得更糟——故意的,出于某种对我毫无益处的目的?哪怕只是稍微变差?
说到异议,催生这一切的相关欧盟法规——"AI 生成内容透明度行为准则"(Code of Practice on Transparency of AI-Generated Content)——不过是繁文缛节的保姆式空想。以下是 Ben Thompson 本周在付费通讯 Stratechery 中的总结:
该法规适用于超过 200 个 token 的文本。
提供商必须在服务条款中要求用户不得移除水印。
解决方案应在抵御"典型处理手段"方面保持鲁棒性,如截图、扫描和 OCR、复制粘贴、翻译等。
从字面理解,合规的 LLM 服务条款必须禁止用户改写符合该法规的模型输出内容,因为水印就藏在词汇选择之中。但试图将这套荒谬、脱离实际的、煽动猎巫运动的法规强加给全世界的,并不是欧盟。这活儿落在了 Anthropic 头上。
遵守这些规定,尤其是涉及文本的部分,只会给诚实用户带来麻烦。试图将 AI 生成的文本冒充为自己作品的不诚实用户(学生、员工、或随便什么人)只需通过不合规的 AI 改写工具就能绕过检测。
James Padolsey——上面我链接的关于这些方案如何运作的交互式可视化解释的作者——在一篇题为"Anthropic 的弱水印是在迎合一部弱法"(Anthropic's Weak Watermarks Appease a Weak Law)的文章中解释了这一点(如果你有印象,我今天早些时候单独发过一个链接):
正是催生这部法律的那种思维,放在计算器诞生时也会同样适用——如果计算器的输出会通过某种痕迹暴露自己的话。幸运的是,由大脑得出的计算结果与计算器产生的结果被一视同仁。拼写检查器也是如此。将辅助工具仅仅因为它变得足够强大、能够组成一个完整句子就开始视为可疑,这不是一条有原则的边界。这是将难度本身赋予了道德溢价。
尽管如此,Anthropic 选择了一种全局性的、模型级实现,看起来比法律的最低要求更宽泛。这可能是便利的合规工程,但它丢弃了法律明确试图保留的区分。结果是信号足够宽泛,足以牵连无害的辅助性使用,却又足够脆弱,以至于有决心的使用者可以通过大幅重构来去除它。它面临着将怀疑集中于普通和辅助性用户身上的风险,同时对蓄意欺骗反而最为无力。
Padolsey 是 Declaude 的开发者——一个简洁有趣的 Web 应用,允许你"粘贴进带有 AI 风味的文本,然后以纯散文形式返回相同内容"。Declaude 最初的用途是清除文本中甜腻的 Claude 人格味道(无论它是否由 Claude 或其他 LLM 创建),但如果 Anthropic 坚持其既定计划、开始 adulterating(掺假)Claude 生成的所有文本,Declaude 也将作为一种复制粘贴式的单步额外操作来消除这些标记。Declaude 目前已经有趣且有用,但它恰恰印证了这部欧盟法规在散文面前是多么考虑不周且徒劳。
Google 有一个名为 SynthID 的水印系统,应用在 AI 生成的图像、视频、音频和文本上。我在这篇文章中只关注文本。对于多媒体,嵌入的水印可以是文件内的元数据,在观看或收听时真正不会影响作品的体验质量。但对于文本,我们谈论的是实际选择的词汇。以下是 Google DeepMind 自己对 SynthID 的描述中关于"AI 生成文本"部分的内容:
我们将 SynthID 扩展到了为 Gemini 应用和网络体验生成的文本进行水印和识别。大型语言模型一次生成一个词(token)文本。基于下一个词被生成的可能性,每个词都被分配一个概率分数。例如对于句子"My favorite tropical fruits are mango and…"(我最喜欢的水果是芒果和…),词"bananas"(香蕉)的概率分数会比"airplanes"(飞机)更高。SynthID 通过调整这些概率分数来生成水印。它对人眼不可见,不影响输出质量。
在一个群聊中,我的一个朋友引用了上述内容,我回复说如果一个聊天机器人写出了"My favorite tropical fruits are mango and airplanes",我敢说我肯定会注意到。另一个朋友随后回复了这样一张图:

几天后,这张图仍然让我笑出声。
但 Google 这段荒谬的描述戳破了他们自己"不可感知"的说法,也恰恰表明了这些生成文本指纹方案背后的人对实际写作技艺多么漠视。当然 bananas 比 airplanes 概率更高,因为 airplanes 不是水果。但如果换成菠萝呢?句子应该是"mango and bananas"还是"mango and pineapple"?这是个很好的问题,而 LLM 为什么应该选择 bananas 而不是菠萝(或椰子、或番石榴、或木瓜……)的唯一可接受的答案是:它判断这是最适合文本预期含义、语气和情感的选项。不是因为 bananas 在水印的"绿"名单上而菠萝在"红"名单上,即便菠萝可能是更好的选择。Google 自己对 SynthID 工作原理的所谓幽默描述,实际上恰好捕捉了这个方案是如何腐化它生成的文本的。
他们说你们不会注意到,因为如果它只是为了这些指纹目的在 bananas 和 pineapple 之间选择了 bananas,那好吧,它们都是热带水果,谁在乎呢。但这种差异"对人眼不可感知"的说法纯属胡扯。banana 和 pineapple 之间的语义差异,对人眼的可感知程度,就像两者口味对舌头的可感知程度一样。
如果它真的写出了"My favorite tropical fruits are mango and airplanes",那会极其愚蠢,但不会令人反感,因为我们都会认识到发生了完全跑调的事情。真正令人反感的是,有了 SynthId 这样的系统——指纹决策是由一个密钥驱动的——我们根本不知道它之所以补全为"mango and bananas"是因为 bananas 被判定为最佳下一个 token,还是因为 bananas 在"绿"桶里。每一个词汇选择都会因此受到质疑。
以下是 Google 团队在 SynthID 于 Gemini(前身为 Bard)上线后将成果发表在《自然》期刊上的论文:
我们分析了约 2000 万条带水印和不带水印的回复,并计算了点赞和点踩比率(均以收到的总 thumbs-up/thumbs-down 反馈为分母)。我们发现两个模型的点赞率差异为 0.01%(带水印模型更高);点踩率差异为 0.02%(带水印模型更低)。我们发现这两个差异在统计上均不显著,且远在 95% 置信区间之内。
基于此实验,我们得出结论:在各种真实的聊天机器人交互中,由人类判断的回复质量和实用性的差异可以忽略不计。此后,非失真性 SynthID-Text 已投入生产,目前正在为 Gemini 和 Gemini Advanced 的回复加水印。据我们所知,这一评估代表了大型生产系统中首次系统性水印研究的成果。
Gemini/Bard 的点赞/点踩按钮并不是一个好的实验,无法用来评估对质量的影响。如果聊天机器人告诉我"我最喜欢的水果是芒果和香蕉"而不是"芒果和菠萝",我不会因为它选择了什么水果就给差评。如果它说的是"飞机",我才会点踩,但那是一个稻草人谬误。(Nature 上的那篇论文甚至用了"我最喜欢的水果是……"作为插图,但在论文中,被考虑的唯一四个后续 token 按概率分布排序依次是:芒果、荔枝、木瓜和榴莲。没有飞机。而且,凑巧的是,在论文的例子中,水印"锦标赛"的"获胜者"恰好是芒果——如果没有水印,这也会是被选中的最佳答案。)
人类判断的"响应质量和实用性的差异""可以忽略不计",并不意味着无法察觉。他们真正的意思是:只是稍微差了一点,而且所有人要么太蠢以至于注意不到,要么太冷漠以至于懒得在意。
普遍认为 Gemini 在质量上落后于 ChatGPT 和 Claude。也许他们将 SynthID-text 投入生产是落后原因之一。我个人也认为 Gemini 的文笔不如前者。也许 SynthID 的使用与我、以及公众共识认为 Gemini 是二流聊天机器人这件事毫无关系——但在那种情况下,也许正是因为 Gemini 是二流聊天机器人,才使得当 Google 开始在其结果中混入由 SynthID 驱动的 token 时,差异变得"可以忽略"。更可能的情况是:如果你的常规咖啡本来就够差的,那你的餐厅顾客就不会注意到你把常规咖啡换成了福尔格仕速溶咖啡。
现在,终于回到 Anthropic 昨天发布的"Claude 的文本水印如何工作"。我有一些评论。
我们使用的水印方法不会对 Claude 输出的质量或内容产生任何实际影响;
我们使用的水印方法不会对 Claude 输出的质量或内容产生任何实际影响;
带水印与不带水印的文本之间的差异对读者来说无法区分;
带水印与不带水印的文本之间的差异对读者来说无法区分;
翻译:具体用词无关紧要,我们认为没人会仔细阅读任何东西。
文本中没有任何添加,也没有隐藏字符;
这一点从一开始就应该说清楚。
水印不会是 Claude 特有的。截至 8 月 2 日,欧盟要求向其市场提供服务的 AI 提供商标记 AI 生成的内容。其他主要模型开发商已签署同一行为准则,并将实施各自的水印。
没有任何其他 AI 提供商表示他们会在欧盟之外对所有生成的文本应用这种标记——即玷污所有文本。
以句子"今天的天气很冷……"为例。下一个词几乎不可能是"甜的"。但很可能是"阴天"或"灰蒙蒙"。在大多数情况下,模型最终选择这两个词中的哪一个对读者来说没什么大不了——句子的意思基本相同。在这种情况下,选择由随机数决定。
认为 grey 和 overcast"对读者来说没什么大不了"正是我论证的核心——整个这件事是对写作——或阅读——意义的扭曲。之所以在某些方面它更加诡异,正是因为它很隐蔽。
在内部测试中,我们没有看到水印对 Claude 文本的内容、创造力或可读性产生影响。在引入我们所用技术的 SynthID-Text 论文中,Google DeepMind 通过对部分 Gemini 流量使用水印的模型提供服务,并比较点赞和点踩评分来测试这种影响。他们发现与未加水印的模型没有统计学上的显著差异。在一项对照研究中,人类评估者对带水印和未带水印的答案进行并排比较,没有发现质量差异。
参见上文我关于这个点赞/点踩数据在评估 SynthID 风格的词语偏向水印是否使文本变差方面绝对毫无价值的论证。根据定义,它一定会使文本变差——除非底层 LLM 模型的评分是错误的——因为水印算法的本质要求它有时必须提高选择较差词汇的概率,同时降低选择模型最佳选择的概率。问题只是差多少。Google 的点踩计数数据只表明:它并没有差到让 Gemini 用户点击点踩按钮的程度。
水印不会改变阅读者的意思或体验,但如果你想在事后检查文本是否可能由 Claude 生成,水印可以让你做到这一点。
不,它不能。因为整个方案依赖于只有 AI 提供商持有的密钥,它只允许 Anthropic——而不是"你"——来检查任何东西。
当 Claude 校对由人写的文本时,它返回的内容通常只是轻微编辑;因为几乎所有的词都是这个人的,所以水印几乎没有什么(如果有的话)可以附着的东西,取决于