图片加个水印能扛住裁剪和压缩。文字加个水印,可能被一次改写就抹掉了。为什么?
先做一个动作。拿一张 AI 生成的图,用图片软件重新存一遍,压缩质量拉到 90,再上传到另一个平台。图里的水印大概率还在。换到文字:同一段 AI 写的稿子,把"因为"改成"由于",把两句话调个顺序,再让另一个模型顺手润色一遍。水印大概率没了。
同样叫水印,差别这么大。原因不在技术难度,在载体本身。要讲清文本水印,得先看图片和视频是怎么做的。
最老的一招是改像素。把水印比特写进像素色值的最低有效位(LSB),人眼分辨不出来。简单、容量大、失真小。但它脆。一次 JPEG 压缩、一次滤波、一次缩放,就没了。
所以主流做法换到频域。离散余弦变换(DCT)、离散小波变换(DWT)、奇异值分解(SVD)——把水印写进频率系数里。DCT 尤其讨巧:JPEG 压缩本身就在 DCT 系数上做文章,把水印埋在同一个地方,就能一起扛过压缩。有实测数据:纯频域方法在 JPEG 质量因子 20 时相关系数掉到 0.71,空间-频域混合方法还能保持 0.78。
再往后是深度学习。2018 年的 HiDDeN 立了范式:编码器负责把信息藏进图里,解码器负责取出来,中间再放一个"对手"网络专门挑刺。它的比特准确率能到 74.3%,图像质量 PSNR 35.16 dB。Meta 和 Inria 的 Stable Signature 更进一步——不额外加水印,而是微调扩散模型的解码器,让模型生成的每一张图天然带一个 48 位签名。裁剪到只剩 10% 的画面,在千亿分之一的假阳性下还能检出 84%。
工业级的样子是这样:Google 的 SynthID-Image 生成之后再叠加、与模型无关,官方称已经在超过 100 亿张图片和视频帧上打过水印;Meta 的 Video Seal 用 96 位消息,抗 H.264 和 AV1 编码;SynthID for video 干脆把水印逐帧写进像素;音频上的 AudioSeal 甚至能做到样本级定位,剪掉一段还能说清哪一段是生成的。
还有一条完全不同的路:元数据。C2PA(Content Credentials)把来源信息写成一条声明,数字签名,任何人都能验证它有没有被篡改。它比水印更"硬"——签名不可伪造。但它也有个致命弱点:元数据是贴在文件外面的,脱掉就没了。SynthID 的论文说得很直接:元数据经常被无意丢弃,也能被轻易移除。
把这几条路摊开,图片水印和文本水印的差别就清楚了,三句话:
所以问题变成了这句:一段 AI 生成的文字,能不能自证是 AI 写的?答案藏在三个环节里——记号怎么藏、凭什么认出来、怎么被抹掉。我们按这个顺序往下走。
文字没有像素,那就只能在概率分布上动手脚。
马里兰大学的 Kirchenbauer 团队在 2023 年给出了现在最主流的答案,论文发在 ICML,标题就叫《A Watermark for Large Language Models》。做法拆开只有三步。
第一步,定种子。生成下一个词之前,先拿上一个 token 做哈希,得到的值当随机种子。
第二步,切词表。用这个种子,把整个词表伪随机地切成两半:绿名单(占 γ)和红名单。同一个种子,谁算都是同一个结果——这是整件事的关键。
第三步,加偏置。生成时给绿名单里所有词的 logits 加一个常数 δ,再 softmax 采样。于是绿名单的词更容易被选中。
论文的示例参数是 γ=0.25、δ=2。检测方不需要模型权重,只要有同一个哈希函数和那把密钥,就能复现每一步的红绿划分。
这里有个设计上的巧思值得停一下。为什么加偏置不会毁掉文本质量?因为偏置是"软"的。遇到高熵位置——几个候选词概率差不多、选哪个都合理——强推绿名单无所谓。遇到低熵位置——下一个词基本已经确定——几乎不干预。如果硬性禁止红名单,就会闹出笑话:比如 "Barack" 后面不许接 "Obama"。
检测不是"找字",是"查占比"。
怎么看出绿名单的词偏多?多多少才算多?答案是一道单比例 z 检验。
T 是 token 总数,|G| 是落在绿名单里的 token 数。没有水印时,绿名单占比的期望就是 γ,z 近似服从标准正态。取 z 大于 4,单侧 p 值约 3×10⁻⁵——换算成假阳性率,大约三万分之一。
论文还给了检出下限:长度 ≥16 个 token 就能被检出,并称"短至 25 个词"即可。
检测不需要模型,这是设计上最狠的一点。检测方拿不到 OpenAI 的权重,也不需要。只要有那把密钥,算 z 值就行。反过来,没有密钥的人对着一堆红绿划分只能干瞪眼——水印的安全边界,本质上就是密钥的安全边界。
那攻击者要花多大代价才能洗掉?论文算过一笔账:一条 1000 token 的水印序列,就算攻击者完全知道算法、做最坏的针对性修改,改掉 200 个 token 最多制造 400 处违规,剩下 600 个绿 token 仍能给出 z≈6.3。粗略地说,要改掉大约四分之一以上的 token,水印才会失去证据力。
绿名单方案怕低熵文本,Google 换了一套更巧的采样。
Google DeepMind 的方案叫 SynthID-Text,核心机制是"锦标赛采样",论文发在《Nature》,2024 年。逻辑很形象:
每生成一个词,先用种子造出 m 个随机"水印函数",每个函数给词表里所有候选词打 0 或 1 分。然后从模型分布里采样一批候选(数量是 2 的 m 次方),两两配对比赛,按第一个函数决胜,胜者晋级;下一轮换第二个函数,再淘汰一批。逐层打下去,最后一个胜者就是输出的词。每个词都过一轮 m 层淘汰赛,默认 m=30。
检测时算平均得分,做假设检验得 p 值。它值钱的地方在三个数字里:
它已经在 Gemini 和 Gemini Advanced 上线,是第一个规模化部署的生成式文本水印。参考实现以 Apache-2.0 开源,包名 synthid-text,后来还内置进了 Hugging Face Transformers。
这里是全篇最热闹的地方,两边证据打得很凶。
问题很朴素:记号既然在选词上,改写一下、翻译一下,是不是就没了?
水印方先给的证据是:没那么容易。Kirchenbauer 团队的后续研究称,水印在人类改写和机器改写之后仍然可检测——把假阳性率设到十万分之一,平均看约 800 个 token 仍能检出。理由是改写文本在统计上依然泄漏原始的 n-gram 痕迹。
攻击方随即反驳,而且一次比一次准。
纸面上的攻防说完了,看一件真事。
2026 年 8 月 2 日,Anthropic 在欧盟上线 Claude 的隐形文本水印,同时给生成的文件附上 C2PA 凭证。而且不是只对欧盟,是全球统一部署。
大约十天后,8 月中旬,开发者 Guillaume Meyer 放出一个 MIT 许可的开源工具,叫 watermarks-remover,一口气支持 Claude、Gemini、OpenAI 和开源模型的水印。工具分三层:第一层剥掉隐形的 Unicode 字符和双向控制符,第二层用改写攻击去啃统计型水印,第三层清掉 C2PA、EXIF 这些元数据。
但整个事件里最值得记的不是工具本身,是作者自己写的一句话:在厂商公开检测器和密钥之前,没有任何工具能诚实证明"能通过官方检测"。也就是说,攻防两边其实都在雾里——攻击方不知道自己的攻击是否真的骗过了官方检测器,防守方也不知道自己的水印在野外被削掉了几成。
检测给出的是 p 值,不是结论。中间隔着三道裂缝。
裂缝一:低熵文本,水印无处可藏。
"法国的首都是哪"——这种问题答案几乎确定,模型没有可调节的选词空间,绿名单偏置无从下手。SynthID 论文自己承认:分布熵越低(温度调低、top-p 截断、RLHF 带来的模式坍缩、背诵固定文本),锦标赛采样越难选出高分的词,水印越弱。事实性问答、代码补全这类任务尤其吃亏。反过来看效率:创意写作大约 100 token 就能接近 100% 检出;到了代码任务,400 token 时、在 1/10/100 个候选检验下,检出率只有约 69%/49%/43%。
裂缝二:假阳性会累积。
z 大于 4 对应约三万分之一,看着很小。但如果同时试多个密钥、多个分词器、多种配置,就得做多重检验校正;阈值一压低,检出能力跟着往下掉。工程上的校准目标通常是让约 1% 的未水印序列被判成阳性——一万段真人文字里认错一百段,这个代价没有哪家公司愿意公开承担。
裂缝三:误伤真人,这是最疼的一刀。
斯坦福的一项研究拿 7 款公开的 AI 检测器去测 TOEFL 非母语作文:约 61% 被误判为 AI 生成,而美国本土母语作文几乎全对;更夸张的是,约 19.8% 的 TOEFL 作文被全部 7 款检测器一致判定为 AI 生成——那些文章背后根本没有 AI 参与。原因不难想:非母语写作者的用词更"规整"、句式更标准,恰好落在"像 AI"的刻板印象上。
Anthropic 自己的说明里也划了边界:检测到标识不等于确认全部来源;文本被重度改写、翻译、截短,或者元数据被剥离、甚至只是截了个图,都会导致检不出来。水印能证明的东西,比"这是 AI 写的"要窄得多。
法规要的不是"抓到每一个",是"给每一条留个底"。
这是理解整件事的关键:水印的目标不是抓个体,是留底账。抓到每一个是取证的标准,留底账是治理的标准,两者差得很远。
中国这边,2025 年 9 月 1 日是一道分水岭。《人工智能生成合成内容标识办法》从那天起施行,配套的强制性国家标准 GB 45438-2025 同日实施,业界管这叫"组合拳"。要求分两类:
欧盟这边,节点是 2026 年 8 月 2 日。AI Act 第 50 条从那天起适用,要求 AI 生成的音频、图像、视频和文本以机器可读格式标记。配套的透明度行为准则把要求说得更具体:一般情况要求至少两种机器可读技术——防篡改的数字签名元数据,加上不可感知水印;但自由文本因为承载不了元数据,只需要一种就行。截至 2026 年 7 月底,约 190 家机构签署了这份准则。
厂商的动作,各家差得很远。
| 厂商 | 文本水印现状 | 关键节点 |
|---|---|---|
| 已部署,覆盖最全 | SynthID 覆盖图像/视频/音频/文本;文本部分 2024-10 以 Apache-2.0 开源 | |
| Anthropic | 已部署 | 2026-08-02 起全球上线 Claude 文本水印 + C2PA;存量模型过渡至 2026-12-02;检测能力仍在私有预览 |
| OpenAI | 文本仍未上线 | 2024-08 搁置 ChatGPT 文本水印计划;现走 C2PA + SynthID,先覆盖图像与音频 |
| Meta | 走元数据路线 | 带受支持 C2PA 元数据的 AI 图上传后自动标注 "Imagined with AI";不上报的可能受处罚 |
OpenAI 那一栏值得单独说一句。2024 年 8 月,《华尔街日报》报道了这件事,OpenAI 官方博客也做了确认:技术准备了将近一年,最后还是搁置了给 ChatGPT 文本加水印的计划。原因之一是用户反对——有调查称约 30% 的用户表示,如果引入水印会减少使用;另一个顾虑是"污名化",即非母语写作者的文本更容易被误标。到今天,OpenAI 的公开表述仍然是文本水印"随标准和工具成熟而扩展"。
它的作用不是抓人,是抬高一件事的成本。
回到最开始那个问题:AI 写的东西,能不能自证是 AI 写的?
按现在的技术水平,答案是有条件的:能,前提是文本够长、够"散"(高熵),而且没人认真动手改。不能,只要对手愿意花一次改写的成本——而这个成本,在开源工具面前已经接近零。
所以水印真正的定位,不是指控单个作者的证据,是给平台和监管做规模化筛查的底噪。它降低的是"批量清洗"的效率,不是"单点伪造"的可能性。SynthID 的论文也承认,生成式水印要求各大服务方协同实施;对没打水印的模型,你还是得靠事后检测,而事后检测又绕回那道误伤的裂缝。
最后留一个实在的问题:如果洗掉水印的成本,就是让另一个模型把稿子重写一遍,那么这套机制到底在防谁?是防懒得动手的人,还是防流水线?