直觉:检测 AI 文本有两条根本不同的路
判断一段文本是不是 AI 写的,技术上有两条互斥的思路:
- 事后检测(post-hoc):拿到一段文本,靠它本身的统计特征反推是不是机器写的。生成方不配合。
- 主动水印(watermark):生成时就在文本里嵌入一个人眼不可见、统计上可验证的信号,事后用密钥检测。生成方主动配合。
前者是"无配合的取证",后者是"有配合的签名"。两者的能力上界、失败模式、可被绕过的方式完全不同。把它们混在一起谈,就会得出"检测器准/不准"这种没意义的结论。下面分别拆开。
路线一:事后统计检测,抓的是什么
LLM 本质是一个条件分布 ,并且通常倾向于输出高概率、低意外度的 token。人类写作则更"毛糙",会出现低概率词、突兀转折、个人化错误。最常用的代理量是困惑度(perplexity):
直觉是:用某个参考模型算这段文本的困惑度,AI 生成(尤其是低温采样/贪心)的文本往往困惑度偏低、分布偏"平滑"。更强的方法(如基于曲率的思路)观察一个现象:模型生成的文本,倾向于落在模型对数概率函数的局部极大值附近。于是对文本做微小扰动再看对数概率的变化,机器文本的概率"下降得更陡":
1 | def curvature_score(text, model, n_perturb=20): |
还有一类做法直接训练一个二分类器(用大量人类/AI 文本做监督)。它在分布内很准,但严重依赖训练时见过的生成模型与领域。
事后检测的根本局限:
- 依赖参考模型。困惑度类方法要有一个能近似目标生成器的代理模型;目标模型未知或差异大时,估计就偏。
- 改写即失效。让人或另一个模型把文本润色/改写一遍,统计指纹基本被抹平。
- 领域/语言偏移。换个题材、换种语言、换个写作风格,阈值就失准。
- 系统性误判非母语写作。非母语者的文本本身困惑度偏低、用词更"规整",极易被误判为 AI——这是已被反复观察到的公平性问题,代价很高。
所以事后检测只能给概率性参考,不能当作裁决证据,更不该单独用于学术不端、招聘等高代价判定。
路线二:水印,把信号主动种进去
水印不靠"猜",而是在采样时人为引入可被密钥检测的偏置。一类有代表性的文本水印思路是红绿表(green/red list):
1 | 生成第 t 个 token 时: |
检测时无需原模型,只要密钥:重算每个位置的绿/红划分,统计落在绿名单的 token 数 。在"无水印"零假设下,绿名单命中服从期望为 的二项分布,于是用 z 统计量做显著性检验:
越大,文本含水印的证据越强。 越大、 越偏,水印越强但对生成质量的扰动也越大——这是核心权衡。文本越长, 越大,检测统计功效越高;短文本几乎无法可靠检测(统计量噪声淹没信号)。
图像/音频水印思路类似:在像素或频域嵌入冗余的、对常见变换鲁棒的信号,用纠错编码抵抗压缩、裁剪、重采样。
公式视角:检测永远是带误差的假设检验
无论哪条路线,本质都是二元假设检验,逃不开两类错误:
- 假阳性(FPR):把人类内容判成 AI。
- 假阴性(FNR):把 AI 内容判成人类(漏检)。
调阈值只能在两者间移动,不能同时消除——这就是 ROC 曲线。关键工程事实是误差代价极不对称:在学术诚信场景,冤枉一个真人(FP)的代价远高于漏掉一篇 AI 作文(FN)。因此阈值必须按"可接受的 FPR 上限"来定(比如严格控制在很低水平),代价是漏检率上升。任何宣称"准确率 99%"却不报 FPR 和测试分布的检测器,都不可信。
工程权衡与攻击面
- 水印 vs 质量。增强水印(大 、偏的 )会让文本用词受限、轻微变味;要保质量就得弱化水印,检测功效下降。
- 鲁棒性 vs 可去除性。水印必须扛得住改写、翻译、截断。但文本水印对改写/回译攻击天然脆弱:用另一个无水印模型把文本同义改写一遍,绿名单偏置就被破坏。这是水印最大的现实弱点。
- 可验证性 vs 保密。检测密钥若公开,攻击者就能精确擦除水印;若不公开,第三方又无法独立验证。常见折中是授权可信验证方持有密钥。
- 覆盖率问题。水印只能检测愿意加水印的生成方的输出。开源模型、自建模型、关掉水印的服务,统统检测不到。这决定了水印是"合作式治理工具",挡不住有动机的对抗者。
- 多模型生态。现实里内容可能经多个模型、人工编辑混合而成,"非黑即白"的标签本就不成立,混合文本会同时削弱事后特征和水印信号。
边界与常见误区
- 误区:检测器能给确定结论。它给的是概率/显著性,且强烈依赖文本长度、领域、是否被改写。短文本和被润色的文本基本测不准。
- 误区:水印是万能溯源。它只对配合的生成方有效,且可被改写/回译擦除;缺席水印不等于人类所写。
- 误区:高准确率就能上线高风险场景。不报 FPR 和测试分布的准确率是误导;对非母语者的系统性误判会造成真实伤害,高代价判定不能让检测器单独说了算。
- 误区:把事后检测和水印当同一回事。一个是无配合取证(弱、可绕过),一个是有配合签名(强但需生态支持),失败模式完全不同。
小结
AI 内容检测分两条本质不同的路:事后统计检测(困惑度、概率曲率、监督分类器)不需要生成方配合,但依赖参考模型、改写即失效、对非母语写作系统性误判,只能给概率参考;主动水印(如红绿表 + z 检验)检测功效高且无需原模型,但只对配合的生成方有效、对改写/回译攻击脆弱、短文本失灵。两条路都逃不开假设检验的两类错误与不对称代价,因此没有可作为单独裁决证据的检测器。务实的定位是:水印用于合作式的来源标注与治理,事后检测用于辅助性排查,二者都必须配合人工复核、按极低假阳性率校准阈值,并对短文本、改写文本、非母语文本保持克制。