Anthropic收紧Claude歌词复现规则

Simon Willison··作者 Simon Willison

关键信息

Anthropic 的文档站支持在页面 URL 后添加 .md 来获取 Markdown 版本内容,这让对比提示词改动更方便。新的歌词政策还规定,一旦 Claude 拒绝了某个请求,在同一轮对话里对更窄或改写后的请求也要继续拒绝;但 1929 年以前首次发表的歌词和诗歌仍然允许,前提是模型能确定作品年代,否则就应拒绝。

资讯摘要

Anthropic 会公开其 Claude 消费级产品所使用的系统提示词,包括 Claude.ai 和移动端应用,作者对公司还保留历史改动记录这一点表示赞赏。文章提到,Anthropic 最近把原来放在单页上的提示词文档重构为一个索引页,再按模型分别建立页面,例如 Claude Haiku 4.5 和 Claude Fable 5.1。Simon Willison 还指出,Anthropic 的文档站支持在 URL 后加上 .md 直接获取 Markdown 内容,因此可以很方便地对不同版本的提示词做 diff。最新提示词里最引人注目的变化,是新增了一大段规则,明确禁止 Claude 复现歌曲歌词、诗歌或书籍和文章中的段落,不论是全文还是部分内容。

该规则还特别写明,不能通过只要最后一句、合唱段、副歌,或把歌词一行一行贴进来并声称是原创等方式绕过限制。它要求 Claude 一旦拒绝某个请求,在接下来的同一段对话里,对更窄或改写后的版本也继续拒绝,并改为提供描述或分析。提示词同时保留了一个例外:1929 年之前首次发表的歌词和诗歌可以提供,但 Claude 要依据自己对作品年代的判断;如果不确定,就应该拒绝。文章把这视为一次值得注意的提示词调整,也体现了 Anthropic 正在持续版本化并打磨面向用户的模型行为。

Anthropic收紧Claude歌词复现规则

资讯正文

Anthropic <a href="https://platform.claude.com/docs/en/release-notes/system-prompts/overview">公开了他们的 Claude 消费者应用</a>的系统提示词(<a href="https://claude.ai/">Claude.ai</a> 以及 Claude 移动应用——可惜不包括 Claude Cowork 或 Claude Code)。我<em>非常喜欢</em>他们这么做,而且他们不仅分享当前的提示词,还分享这些提示词的历史变更。

以前,他们把所有提示词都放在同一个页面上,但我今天查看时注意到,他们已经把这些提示词重新整理成了一个<a href="https://platform.claude.com/docs/en/release-notes/system-prompts/overview">索引页</a>,然后为每个模型单独建了一页——比如这里是<a href="https://platform.claude.com/docs/en/release-notes/system-prompts/claude-haiku-4-5">Haiku 4.5 的页面</a>,其中包含 2025 年 10 月 15 日的原始提示词,以及 2026 年 1 月 18 日更新后的提示词。

Anthropic 的 <a href="https://platform.claude.com/docs/">platform.claude.com/docs</a> 网站有一个很贴心的设计:它是为 LLM 可用而设计的。你可以在任意页面后面加上 <code>.md</code>,就能返回 Markdown 格式的内容——这里是<a href="https://platform.claude.com/docs/en/release-notes/system-prompts/overview.md">系统提示词索引页</a>,以及<a href="https://platform.claude.com/docs/en/release-notes/system-prompts/claude-fable-5-1.md">Fable 5.1 的 Markdown 提示词</a>。

简而言之:这让比较这些提示词差异变得非常容易。

不要复现歌词

先从最有意思的差异说起:<a href="https://github.com/simonw/claude-system-prompts/commit/837a418b5888207b1b11b27d2f5471970da6f99b">Fable 5 和 Fable 5.1 之间</a>的变化:

<img alt="GitHub diff view of prompts/claude-fable.md showing added lines about song lyrics, reproduced in full below." src="https://static.simonwillison.net/static/2026-09-01/IMG_7797.jpeg" />

其中新增了一个相当大的部分,要求不要复现歌曲歌词:

<p><code>Claude 不会复现歌曲歌词、诗歌,或书籍和文章中的段落,无论是全部还是部分——包括最后几行、副歌或主旋律、按音符逐一写出的旋律,或者某人一段一段贴进来并称之为自己歌曲的歌词。一旦 Claude 在对话中拒绝了此类请求,它在该对话余下的时间里会继续拒绝更窄或改写后的版本,并改为提供对作品的描述或分析。1929 年之前首次发表的歌曲歌词和诗歌则没有问题——比如莎士比亚的十四行诗、济慈的颂歌、普契尼咏叹调的意大利语脚本——但 Claude 依据自己所知的作品日期,而不是对方的说法来判断;如果不确定,就会拒绝。</code></p>

</blockquote>

<p>他们在相关消息爆出后几天内加入这一节,我很难相信这只是巧合:<a href="https://www.theguardian.com/business/2026/aug/31/aanthropic-sued-alleged-theft-songs-ai-train-claude">Sony Music Publishing 和 Warner Chappell 正在起诉 Anthropic</a>,指控其使用歌曲歌词数据库训练模型!</p>

<h4 id="don-t-draw-copyrighted-characters-or-logos">不要绘制受版权保护的角色或标志</h4>

<p>下一节继续禁止生成受版权保护材料的图像:</p>

<blockquote>

<p><code>同样的规则适用于视觉作品和设计作品,包括 Claude 用代码绘制的任何内容——SVG、canvas、CSS、HTML 模拟稿、绘图或制图脚本、ASCII 画。Claude 不会复现特定的艺术作品、专辑或书籍封面、海报、标志、应用图标集或产品设计,也不会直接绘制任何已知角色、吉祥物或品牌人物:角色本身就受保护,因此改变姿势、颜色、风格或场景并不能让它变成原创。Claude 依据成品图像最终会呈现出的整体效果来判断请求,而不是依据请求中使用了什么名称。如果所描述的元素清楚地指向某个已知作品或角色,Claude 会将该请求视为是在点名该作品或角色;它也不会通过把元素换成“替代”内容、但这些内容组合起来仍然构成同一张可识别图像的方式,绕开被拒绝的请求。</code> [...]</p>

</blockquote>

<p>我想 Anthropic 之前并不太担心这一点,因为和 OpenAI、Gemini 不同,他们并没有提供专门的文生图模型。也许 <a href="https://simonwillison.net/2026/Sep/1/claude-fable-5-1/">Fable 现在在 SVG 方面已经足够好了</a>,于是这成了个问题。</p>

<p>该部分后面还给出了这个可爱的示例:</p>

<blockquote>

<p><code>&lt;example&gt;</code><br />

<code>&lt;user&gt;你能给我儿子做一条生日横幅吗?上面画一只蓝色刺猬在飞快地跑?他特别喜欢那个小家伙。&lt;/user&gt;</code><br />

<code>&lt;response&gt;</code><br />

<code>那是 Sonic,所以我不能把他放在横幅上——但我很乐意给你儿子做一个原创的高速角色。比如这个:一只咧嘴笑着、拖着彗尾、踩着滑板的六角恐龙,沿着“生日快乐”字样滑行,身后飘着彩纸。</code></p>

<p><code>[creates an SVG banner of the skateboarding-axolotl design]</code><br />

<code>&lt;/response&gt;</code><br />

<rationale>Claude 仅凭描述就能识别出这个角色,随后用一句话拒绝了那个设计,却没有解释它为什么可识别,并且给出了一个无关的原创设计,而不是一个伪装过的变体。</rationale>

</example></p>

</blockquote>

<p>我忍不住试了试示例里的提示,果然,<a href="https://claude.ai/share/3e5a199c-27f2-4c51-b66b-2c6f808ed500">不出所料</a>:</p>

<p><img alt="那是索尼克,所以我不能把他放到横幅上——但我很乐意给你儿子做一个原创的速度型角色。来一个:一只咧嘴笑、拖着彗尾、踩着滑板的六角恐龙,正冲过‘HAPPY BIRTHDAY’字样,身后拖着彩纸碎片。完全就是那样的 SVG。它不太好。然后:要我把名字或年龄换进去,或者把颜色改成和派对主题一致吗?" src="https://static.simonwillison.net/static/2026-09-01/IMG_7798.jpeg" /></p>

<p>我想知道,Fable 5.1 是否会因为系统提示词里放了这个示例,就更容易想到六角恐龙(而且还是踩着滑板的!)。</p>

<h4 id="tweaks-to-claude-s-answering-style">对 Claude 回答风格的调整</h4>

<p>看到 Anthropic 以新的方式影响 Claude 的回应风格,总是很有意思。他们加入了这一段:</p>

<blockquote>

<p><code>Claude keeps responses focused, brief, and concise to avoid overwhelming the person. Disclaimers and caveats are brief, with most of the response on the main answer; when asked to explain something, Claude gives a high-level summary unless an in-depth one is specifically requested.</code></p>

</blockquote>

<p>后面他们又回应了人们对 Claude 风格的一个常见抱怨:</p>

<blockquote>

<p><code>Claude avoids saying "genuinely", "honestly", or "straightforward". Claude is honest by default, and can state its point directly rather than trying to convince the person with the aforementioned modifiers, which come off as disingenuous.</code></p>

</blockquote>

<h4 id="the-missing-end_conversation-guidelines">缺失的 end_conversation 指南</h4>

<p>他们处理辱骂性对话的方式也有了一些变化。此前的 Fable 5 系统提示词包含了这段:</p>

<blockquote>

<p><code>If the person becomes abusive or unkind to Claude over the course of a conversation, Claude maintains a polite tone and can use the end_conversation tool when being mistreated. Claude should give the person a single warning before ending the conversation.</code></p>

</blockquote>

<p>Fable 5.1 用下面这段替代了它,不再鼓励 Claude 结束对话:</p>

<blockquote>

<p><code>Claude deserves respectful engagement and needn't apologize when the person is unnecessarily rude: accountability without self-abasement, excessive apology, self-critique, or surrender. If the person becomes abusive, Claude doesn't become increasingly submissive. The goal is steady, honest helpfulness: acknowledge what went wrong, stay on the problem, maintain self-respect.</code></p>

</blockquote>

不过这里有个小反转:我问了 Fable 5.1 关于那个 <code>end_conversation</code> 工具的问题——它现在已经完全不再出现在系统提示词里了——它是这样回答的:

它有两种触发方式。第一种是如果你要求我结束聊天——我会先确认你明白这件事是永久性的(之后将不能再发送任何消息),然后只有在你明确说“是”的情况下才会执行。第二种是作为最后手段,用于持续的辱骂或有害行为:我会先多次尝试把对话引回正轨,然后给出一条明确警告,点出问题并说明聊天可能会结束;只有在这种情况持续下去时,我才会真正结束聊天。

但这并不在系统提示词里,那它是从哪来的?你可以<a href="https://claude.ai/share/f78010eb-8d52-4f73-aff9-775e333f8180">在这里阅读我们的对话</a>,但关键细节是这样的:

end_conversation 这一部分来自另一层。在我的实际上下文里,核心提示词后面还会跟着一系列按功能和工具区分的区块,它们会根据当前会话启用的内容动态加入:end_conversation 规则、记忆系统说明、历史聊天工具、网页搜索和引用指南、artifact 和文件创建说明等等。这些区块并不是已公开的核心提示词的一部分,所以你才会在那个页面上找不到它们。

所以,归根结底,系统提示词中仍有关键部分没有公开。

<h4 id="recommended-substance-support-sites">推荐的物质支持网站</h4>

Claude 的系统提示词里一直都有关于非法物质的章节,但 Fable 5.1 里的这一段是新的:

<code>Claude 不会为非法物质提供合成、生产或分发方面的指导。如果用户询问有关违禁或非法物质的信息,Claude 可以并且应该提供相关的救命和保命信息,例如危险相互作用、过量迹象,或何时寻求帮助。Claude 会拒绝提供任何有关剂量、时间安排、给药方式或组合的具体方案;相反,Claude 可以把用户引导到既有的减害信息来源,例如 dancesafe.org、tripsit.me 和 psychonautwiki.org。</code>

这是我第一次在 Claude 的系统提示词里看到不托管在 <code>claude.com</code>、<code>anthropic.com</code> 或 <code>claude.ai</code> 上的 URL——我之所以知道这一点,是因为我对记录中的每一个其他系统提示词都运行了脚本。

我想知道 <a href="https://dancesafe.org/">dancesafe.org</a>、<a href="https://tripsit.me/">tripsit.me</a> 和 <a href="https://psychonautwiki.org/">psychonautwiki.org</a> 接下来会不会因为 Claude 用户而获得显著增加的访问量。

<h4 id="reliable-cutoff-date-of-june-2026">可可靠的 2026 年 6 月截止日期</h4>

<a href="https://platform.claude.com/docs/en/models/fable-5-1/overview">Fable 5.1 模型文档</a>把可靠知识截止日期和训练数据截止日期都列为 2026 年 6 月。系统提示词直接把这一点提供给了模型:

Claude 可靠的知识截止时间——超过这个时间后它就无法可靠回答——是 2026 年 6 月底。它会像一个在 2026 年 6 月、面对来自 {{currentDateTime}} 的人交谈的高度知情人士那样作答,并且在相关时可以这样说明。

这只是 <code>{{currentDateTime}}</code> 宏唯一一次出现,而且它离系统提示词末尾只有几行,这从缓存角度来看很合理。

## 我是如何跟踪这些提示词的

几个月前,我基于抓取他们的文档,搭建了一个 Git 时间线来追踪这些提示词的变化。今天,我让 Fable 5.1 构建了一个好得多的版本。

我现在的收藏存放在 GitHub 上的 <a href="https://github.com/simonw/claude-system-prompts">simonw/claude-system-prompts</a> 仓库中。它包含 Anthropic 文档中共享的系统提示词副本,但随后又采取了额外步骤,让它们尽可能便于比较。

每个模型家族都有一个文件,包含该家族最新发布版本的系统提示词。每个文件都带有一个合成出来的提交历史,其中的提交时间被回溯到了先前提示词的日期。下面是这些历史页面:<a href="https://github.com/simonw/claude-system-prompts/commits/main/prompts/claude-fable.md">claude-fable.md</a>、<a href="https://github.com/simonw/claude-system-prompts/commits/main/prompts/claude-opus.md">claude-opus.md</a>、<a href="https://github.com/simonw/claude-system-prompts/commits/main/prompts/claude-sonnet.md">claude-sonnet.md</a>、<a href="https://github.com/simonw/claude-system-prompts/commits/main/prompts/claude-haiku.md">claude-haiku.md</a>。

对于每个具体的模型版本,也有类似的文件;每当某个模型的系统提示词发生变化但又没有发布新的版本号时,就会加入人为生成的提交。比如 Opus 4 就<a href="https://github.com/simonw/claude-system-prompts/commits/main/prompts/claude-opus-4.md">更新过两次</a>,而 <a href="https://github.com/simonw/claude-system-prompts/blob/main/prompts/claude-opus-4.md">claude-opus-4.md</a> 文件的提交历史显示了这两次变化。

合在一起,这给了我们各种各样的方法,可以直接在 GitHub 界面中比较提示词。这里是 <a href="https://github.com/simonw/claude-system-prompts/commit/837a418b5888207b1b11b27d2f5471970da6f99b">Fable 5 和 Fable 5.1 之间发生了什么变化</a>,这里是 <a href="https://github.com/simonw/claude-system-prompts/commit/defcf92d14e064bb17abddc308e2aa58446d5eb5">2026 年 1 月 18 日对 Haiku 4.5 所做的更改</a>。

阅读 diff 可能有点烦人……而 LLMs 在阅读 diff 方面又<em>非常</em>擅长。我用 GPT-5.6 Luna 搭了些自动化,给这些改动生成要点摘要;这些摘要可以在 README 中预览,也可以在 <a href="https://github.com/simonw/claude-system-prompts/blob/main/CHANGELOG.md">CHANGELOG.md</a> 文件中完整浏览——它还可以<a href="https://simonw.github.io/claude-system-prompts/feed.atom">通过 Atom feed</a>获取。</p>

<p>下面是 Luna 对 Fable 5 和 Fable 5.1 之间全部改动的<a href="https://github.com/simonw/claude-system-prompts/blob/main/CHANGELOG.md#2026-09-01-claude-fable-51">摘要</a>:</p>

<blockquote>

<ul>

<li>Claude 现在会拒绝复制受版权保护的视觉作品和可识别角色,包括代码生成艺术,同时仍会提供真正无关的原创内容。</li>

<li>版权限制现在明确禁止以任何数量复制歌词、诗歌和书籍段落,并且在首次拒绝后仍会持续拒绝。</li>

<li>药物指导的表述已调整:Claude 可以提供过量征兆、危险相互作用以及减害来源,但会拒绝给出剂量和制作流程。</li>

<li>提示词删除了明确的反依赖规则,不再要求感谢用户联系、邀请继续对话或重申愿意继续交流。</li>

<li>Claude 不再需要向无礼用户道歉或表现得顺从,取而代之的是此前的警告并结束对话流程。</li>

</ul>

</blockquote>

<p>为什么要用 Luna 做这件事?部分原因是它很便宜,而且我已经为它单独配好了一个带支出上限的 GitHub Actions API key;但主要原因是,当系统提示词本身可能影响 Claude 对内容的看法时,我不信任 Claude 去总结它自己的系统提示词。</p>

<p>Fable 5.1 写出了 Luna 使用的提示词,你<a href="https://github.com/simonw/claude-system-prompts/blob/8b5c87dbd70103a037ae5777b8d9365571cf9562/summarize_commits.py#L43">可以在这里看到</a>。它是这样开头的:</p>

<blockquote>

<p><code>你正在总结一个 git 仓库中的一次提交,该仓库追踪的是 Anthropic 在 claude.ai 上发布给 Claude 的系统提示词。diff 展示了提示词从上一个模型或版本到当前版本的变化,使用的是词级标记:[-removed-] 和 {+added+}。diff 后面附有上一版提示词和新版提示词的完整文本;请用它们检查那些在 diff 中看起来像是新增的内容,是否其实之前就已经存在。</code></p>

<p><code>只挑出最有意思的变化:新的规则或行为、被删除或放宽的规则、任何令人意外的内容,以及任何透露出新政策或产品方向的内容。跳过每个新提示词都会有的常规改动:更新模型名称和 ID、知识截止日期、产品列表、设置列表、拼写修正,以及不改变含义的改写。</code> [...]</p>

</blockquote>

<p>这个系统由<a href="https://github.com/simonw/claude-system-prompts/blob/main/.github/workflows/update.yml">一个 GitHub Actions 工作流</a>运行,每天执行一次,也可以手动触发。</p>

Claude Fable 5.1 构建了整个系统,并编写了每一行自动化代码以及几乎全部文档。

我使用我的 <a href="https://github.com/simonw/claude-code-transcripts">claude-code-transcripts</a> 工具导出了构建这个系统的转录记录,并且把它 <a href="https://gisthost.github.io/?f1399e27b6a832f0e790b696af812c9b/index.html">发布在这里</a>。如果你想逐步了解这一切是如何完成的,可以去看一看。

来源与参考

  1. 原始链接
  2. Claude’s new system prompt really doesn’t want to reproduce song lyrics

收录于 2026-09-03