OpenAI 宣布,开发者现在可以选择为其 API 生成的文本添加水印,此举将该公司的内容溯源工作扩展到了最难可靠识别的 AI 输出形式之一。

在周一发布的一篇博客文章中,该公司详细介绍了一套名为 textGrain 的新系统。该系统通过微妙地影响模型对词语的选择,将一种“统计信号”嵌入生成的文本中——例如,当句子中两个合适的词都说得通时,倾向于选择其中一个。在足够长的段落中,这些选择会形成一种模式,OpenAI 的检测器可以识别出来。

从今天起,全球 API 客户可以在受支持的模型上启用水印功能。OpenAI 表示,未来几周内,它将开始自动为 ChatGPT 和 Codex 在欧盟生成的符合条件文本添加水印。此举是为了响应欧盟《人工智能法案》下新的透明度要求。

该公司写道:“从今天起,全球 API 客户将能够为特定模型选择启用文本水印。文本水印在 API 中默认保持关闭。”“这让客户可以自行决定水印如何契合其透明度义务以及他们为用户提供的体验。”

“文本水印在 API 中默认保持关闭。这让客户可以自行决定水印如何契合其透明度义务以及他们为用户提供的体验。”

OpenAI 与 Anthropic 的不同做法

值得注意的是,OpenAI 的做法与 Anthropic 在 8 月宣布为 Claude 推出文本水印时所阐述的方案有所不同。Anthropic 表示,它将在全球范围内对受支持的 Claude 模型应用水印,并解释称目前尚无可靠方法按地区限制该技术。该水印同样延伸至通过其 API 使用 Claude 的开发者,以及 Claude 和 Claude Code 等其他产品。

Anthropic 并未为 API 开发者提供对应的退出选项,这让开发者对模型输出是否携带水印的控制力更小。

该公司在其文档中确认:“水印将在模型层面应用,这意味着无论文本来自哪个 Claude 产品或界面,水印都会存在。”

对于确实希望使用水印的 OpenAI API 客户,可以在项目或组织层面启用,客户能够选择哪些受支持的模型应使用该功能。该公司表示,一旦启用,无需对单个 API 请求做任何更改。

OpenAI 在溯源方面的过往记录

OpenAI 已经为其他类型的生成内容使用了多项溯源技术。早在 2024 年,它就开始为生成的图像添加内容凭证,使用由内容来源与真实性联盟开发的开放标准来记录文件的来源和历史信息。

此后,它在 2026 年 5 月为受支持的图像添加了谷歌的 SynthID 水印,并在 7 月扩展到音频,如今还提供内容溯源 API,用于检查受支持的图像和音频中是否存在这些信号。

OpenAI 本可以采用诸如 SynthID 这类现有的文本水印技术,而 Meta 也开发了自己的 TextSeal 方法。在其常见问题页面上,OpenAI 表示开发 textGrain 是为了让它“在水印可检测性与同一提示所生成回复的多样性之间的平衡上拥有更多控制权”。事实上,该公司称 textGrain 在测试中达到或超过了 SynthID 的检测表现,并计划将这项技术开源,以便“他人可以在此基础上继续开发,帮助改进文本水印”。

“代码也更难加水印”:信号在哪里衰减

不过,该技术也存在一些局限。由于 textGrain 是通过模型在合适词语之间所做选择来生成信号,当可选项较少时,检测就会变得更加困难。

OpenAI 表示,在 1% 的目标误报率下,其检测器能捕获约 80% 的 200 个 Token 加水印段落,以及心理学等领域中 95% 的 400 个 Token 段落。而对于数学等约束性更强的材料,检测率更低。

编辑输出也会大幅削弱信号。在 OpenAI 的测试中,将 400 个 Token 段落中 10% 的词语替换为同义词,会使其检测率从约 92% 降至 66%;替换 25% 则降至仅 17%。

值得注意的是,OpenAI 警告称,较短的段落可能包含的材料太少,检测器无法可靠识别水印。

该公司补充道:“代码也更难加水印,因为与普通行文相比,接下来内容的合理选项更少。”

“代码也更难加水印,因为与普通行文相比,接下来内容的合理选项更少。”

这使得即将到来的 Codex 推广值得关注。OpenAI 计划在欧盟自动为符合条件的 Codex 文本输出添加水印,同时承认源代码本身尤其难以加水印。该公司尚未确切说明“符合条件”的 Codex 输出指什么,也未说明水印是否会应用于生成的代码本身。

正如 The New Stack 此前报道的,Anthropic 在 Claude 上也遇到了类似的局限。代码让水印系统在不改变程序行为的前提下嵌入信号的机会更少,不过代码中的自然语言文本(如注释)更容易加水印。

此外还有一个问题:引入这些 Token 偏好是否会影响生成代码的质量。OpenAI 在多个编程和智能体基准测试上对 Astra 模型进行了加与不加“水印”的对比测试,包括 DeepSWE、AutomationBench 和 Terminal-Bench,并称未发现性能上有明显差异。这表明 textGrain 可以在不显著损害编程能力的情况下启用,不过它并未告诉我们生成的代码之后能被多可靠地识别为加了水印。

检测器的访问权限则完全是另一回事。选择启用 textGrain 的 API 客户并不会自动获得检测其水印的能力。OpenAI 表示,初期仅向研究文本溯源与检测可靠性等领域的经批准的研究和学术机构开放检测器权限。例如,此类权限可让研究人员考察水印在经过编辑及其他变换后能多可靠地存活下来,或调查检测器在哪些情况下会产生误报或漏掉带水印的文本。

The New Stack 已向 OpenAI 询问符合条件的 Codex 输出具体指什么,以及是否有针对代码的检测率。若收到回复,我们会在此更新。

Q&A

Q1:textGrain 是什么?它能做什么?

A:textGrain 是 OpenAI 开发的一套文本水印系统,它通过微妙影响模型对词语的选择,将一种统计信号嵌入生成的文本中。在足够长的段落里,这些选择会形成一种模式,OpenAI 的检测器可以识别出来,从而判断文本是否由 AI 生成。

Q2:OpenAI 和 Anthropic 的文本水印做法有什么不同?

A:OpenAI 将文本水印在 API 中默认设为关闭,API 客户可在项目或组织层面选择启用,并自行决定使用哪些模型。Anthropic 则在模型层面全球应用水印,不提供 API 开发者的退出选项,因此开发者对输出是否携带水印的控制力更小。

Q3:textGrain 的水印检测效果如何?有哪些局限?

A:在 1% 的目标误报率下,检测器能捕获约 80% 的 200 个 Token 加水印段落,心理学等领域 400 个 Token 段落的检出率约 95%。编辑会削弱信号,替换 10% 词语后检出率从约 92% 降至 66%。代码和数学等约束性强的材料更难加水印,短段落也可能难以可靠识别。

The New Stack