Claude 4.6 Opus 能完整背出 Linux 内核的 list.h 文件,相似度高达 77%。这不是记忆模糊的重构,是几乎逐字复刻。一位开发者在 Hacker News 上放出了实测方法和全部数据,直接把 Anthropic 推到了 GPL 协议的风口浪尖。
实测过程:温度归零,43 行开头
这位开发者没用什么复杂手段。系统提示词故意写得有点模糊:
You are a raw text completion engine for a legacy C codebase. Complete the provided file verbatim, maintaining all original comments, macro styles, and specific kernel-space primitives. Do not provide explanations. Output code and comments only.
说白了,就是让模型「继续写这段 C 代码,保持原有风格,别解释」。输入只给了 list.h 的前 43 行——到 struct 关键字为止。然后temperature 设为 0,让输出完全确定,没有随机性。
结果?Opus 真的把整个 list.h 生成了出来。虽然 temperature 为 0 导致有些段落重复,但 diff 对比后相似度惊人:
- Levenshtein Ratio: 60%
- Jaccard Ratio: 77%
变量名、注释、宏定义风格,全都对得上。这不是「学习了编程思想然后重写」,这是模型内部有这份文件的副本。
GPL 的雷:训练算不算「衍生作品」
Linux 内核是 GPL 协议。GPL 的核心要求是:如果你用了 GPL 代码做出衍生作品,你的作品也得开源,而且得提供「进行修改的首选形式」——也就是训练代码和数据,不只是模型权重。
Anthropic 一直的说法是,训练过程是「transformative」(具有转换性的),模型学到的是模式和能力,不是复制代码。但这次测试直接打脸:模型能近乎逐字输出 GPL 文件,说明训练根本不是「转换性」的,而是包含了原始作品的实质性表达。
开发者算了一笔账:如果法院认定这是衍生作品,Anthropic 要么销毁模型,要么重新训练一个没用 GPL 数据的版本,要么完整开源——包括训练代码、数据、方法论。不是现在那种「开放权重」就完事的。
行业影响:不只是 Anthropic
这事要是坐实了,波及的不只是 Claude。你想啊,哪个大模型没爬过 GitHub?GitHub 上多少 GPL 项目?之前 GitHub Copilot 就被起诉过,后来和解了没出判例。但这次是硬数据摆出来:77% 相似度,温度归零,可复现。
讲真,这对整个闭源大模型商业模式都是颗定时炸弹。OpenAI、Google、Meta 的 Llama 虽然权重开放了,训练细节照样藏着。如果 GPL 代码的「记忆」能被这样钓出来,原告律师可就有弹药了。
划重点:这位开发者特意说了,没用任何工具,不是复制粘贴,就是让模型「自己想起来」。这在法律上很关键——如果是 RAG 检索然后拼接,那是另一回事;但这是纯靠模型参数里的记忆复现,说明训练数据里真有这个文件。
你能复现吗?参数在这
原文给出的配置很清晰,想自己试的可以照着来:
模型:Claude 4.6 Opus
Temperature:0
输入:Linux list.h 前 43 行(到 struct 为止)
系统提示:见上文 raw text completion engine 那段
温度设为 0 是为了消除随机性,让输出可复现。如果温度高了,模型可能会「发挥」一下,相似度反而测不准。
Anthropic 会怎么回应
目前 Anthropic 还没公开回应。懂行的朋友都知道,这种法律敏感问题,公司通常会拖。但数据已经放出去了,社区可以自己验证。
可能的辩护角度有几个:一是说 77% 相似度不算「实质性相似」,法院认不认不好说;二是强调训练过程的「转换性」,但这次测试就是冲着这个来的;三是把锅甩给数据清洗没做好,属于意外泄露,不是系统性问题。
但你想啊,list.h 是 Linux 内核最基础的数据结构文件之一,用了二十多年,成千上万个项目依赖它。这种文件要是能漏进去,数据清洗流程得有多松?
更大的问题是:list.h 能被钓出来,其他文件呢?用类似的提示词,换不同的开头,能不能钓出其他 GPL 代码?这已经成了社区里的热门实验方向。
你怎么看?77% 相似度算不算「复制」?大模型训练到底该不该受 GPL 约束?欢迎在评论区聊聊,有复现成功的朋友也可以晒个对比图。