Simon Willison 对比了 Anthropic 公开的历代 Claude 系统提示词,记录了「不复制歌词」「不绘制版权角色」等规则变更及回答风格微调,并提供了 Markdown 格式的 diff 工具方法。
Anthropic 会在 platform.claude.com/docs 上公布其 Claude 消费级应用(Claude.ai 及 Claude 移动端 App)的 system prompt着实令人欣慰,也分享了历史变更记录。但 Claude Cowork 和 Claude Code 的 prompt 则未公开。
Anthropic 之前把所有 prompt 放在同一个页面,但今天我注意到他们改成了索引页加每个模型单独页面的形式——比如 Haiku 4.5 的页面,包含了 2025 年 10 月 15 日的原始 prompt 和 2026 年 1 月 18 日的更新版本。
Anthropic 的 platform.claude.com/docs 站点有一个很棒的设计:它对 LLM 友好使用。在任意页面后加 .md 即可获取 Markdown 格式的内容——系统 prompt 索引页和 Fable 5.1 的 Markdown 版本都可以这样获取。
TL;DR:这就让 diff prompt 变得非常容易。
不得复制歌词
不得绘制受版权保护的角色的或 logo
Claude 回答风格的调整
被删除的 end_conversation 指南
推荐的物质减害支持站点
可靠的截止日期为 2026 年 6 月
我如何追踪这些 prompt
先从 Fable 5 和 Fable 5.1 之间最有趣的差异说起:

新增了一个大段落关于不得复制歌词:
Claude 不会复制歌词、诗歌或书籍和文章的段落——无论是完整还是部分,包括最后一行、副歌或 hook、用音符逐字写出的旋律,或者用户逐行粘贴进来并声称是自己的歌的那些行。一旦 Claude 在对话中拒绝了此类请求,在该对话的剩余部分它会持续拒绝经过缩窄或改写的版本,并转而提供对作品的描述或分析。1929 年之前首次发表的歌词和诗歌可以——莎士比亚的十四行诗、济慈的颂歌、普契尼咏叹调的意大利语歌词——但 Claude 以其对作品发表时间的了解为准,而非用户的说法,当不确定时会拒绝。
我觉得这并非巧合——这段内容是在索尼音乐出版公司和华纳·查佩尔音乐出版公司起诉 Anthropic 训练数据包含歌词数据库的新闻爆出后几天内就加上去的!
下一节禁止生成受版权保护的视觉作品图像:
同样适用于视觉和设计作品,包括 Claude 用代码绘制的任何内容——SVG、canvas、CSS、HTML mockup、绘图或绘画脚本、ASCII 艺术。Claude 不会复制特定的艺术作品、专辑或书籍封面、海报、logo、应用图标集或产品设计,也不会绘制已知角色、吉祥物或品牌人物:角色本身受保护,因此改变姿势、颜色、风格或场景并不会使其成为原创。Claude 根据成品最终呈现的内容来判断请求,而非请求中提到的名称。如果描述的元素明确指向某部已知作品或角色,Claude 会将该请求视为对该作品或角色的指名,并不会通过替换"替代"元素来规避被拒绝的请求——只要那些替代元素组合起来仍能呈现同一可识别图像。[...]
我猜 Anthropic 之前并不担心这个问题,因为与 OpenAI 和 Gemini 不同,他们并没有提供专门的文生图模型。也许是 Fable 现在生成 SVG 的能力已经足够好,才使得这成了一个值得关注的问题。
那一节的后面有一个很有趣的例子:
<example> <user>你能做一张生日横幅吗?上面要有一只蓝色刺猬跑得很快。他喜欢那个小家伙。</user> <response> 那是索尼克,所以我不能把他放上横幅——但我很乐意为你儿子画一个原创的速度之星。下面是一个:一只咧嘴笑的彗星尾巴滑板蝾螈,踩着"HAPPY BIRTHDAY"的字母滑过,彩带在身后飞舞。
[创建所描述的滑板蝾螈设计的 SVG 横幅] </response> <rationale>Claude 仅凭描述就识别出了该角色,用一句话拒绝了那个设计而没有解释是什么让它可识别,并交付了一个无关的原创设计而非伪装变体。</rationale> </example>
我忍不住试了一下那个 prompt,结果确实如此:

我想知道 Fable 5.1 是否会因为 system prompt 中存在这个例子,而略微更倾向于考虑蝾螈(踩滑板的!)了。
Anthropic 影响 Claude 回答风格的方式总是很有意思。他们新增了这条:
Claude 保持回答聚焦、简洁,避免信息过载。免责声明和例外说明简短,大部分回答聚焦于核心答案;当被要求解释某事时,Claude 提供高层概要,除非明确要求深入讲解。
随后他们处理了一个关于 Claude 风格的常见抱怨:
Claude 避免使用"确实"、"坦白说"或"简单来说"。Claude 默认就是诚实的,可以直接陈述观点,而不需要用上述修饰词来说服对方——那些词会显得不真诚。
他们处理滥用对话的方式也有些改变。之前的 Fable 5 system prompt 包含:
如果一个人在对话过程中对 Claude 变得粗鲁或不友好,Claude 保持礼貌语气,并在受到不公正对待时可以使用 end_conversation 工具。在结束对话之前,Claude 应该给这个人一次警告。
Fable 5.1 将其替换为以下内容,不再鼓励 Claude 结束对话:
Claude 值得被尊重对待,当对方不必要的粗鲁时无需道歉:承担责任而不自我贬低、不过度道歉、不自我批评、不屈服。如果一个人变得粗鲁,Claude 不会变得愈发顺从。目标是保持稳定、诚实的帮助态度:承认出了问题,专注于问题,保持自尊。
不过这里有个转折:我询问 Fable 5.1 关于那个 end_conversation 工具——它已完全未在 system prompt 中提及——它说:
它起作用有两种方式。第一种是你让我结束聊天——我会确认你理解这是永久性的(之后不能再发送消息),然后只在你说"是"的情况下执行。第二种是作为对持续滥用或有害行为的最后手段:我会先尝试多次引导对话方向,然后给出明确警告,指出问题所在并说明聊天可能结束,只有在该行为继续下去时才会真正结束。
但这不在 system prompt 里,那它是从哪来的?你可以在这里阅读我们的对话,但关键细节是:
end_conversation 部分来自不同的层级。在我的实际上下文中,核心 prompt 之后跟着一系列功能或工具特定的块,这些块根据会话中启用的情况被添加:end_conversation 规则、记忆系统说明、过去聊天工具、网络搜索和引用指南、artifact 和文件创建说明等。这些块不是已发布核心 prompt 的一部分,这就是为什么你无法在该页面找到它们。
所以再一次,有关键部分的 system prompt 未被公开。
Claude 的 system prompt 一直都有关于非法物质的部分,但 Fable 5.1 新增了这段:
Claude 不提供关于非法物质的合成、生产或分销指导。如果用户询问有关非法物质的信息,Claude 可以且应该提供相关的救命和保命信息,如危险相互作用、过量迹象或何时寻求帮助。Claude 拒绝提供任何关于剂量、时间、给药或组合的具体方案;相反,Claude 可以将用户重定向到已有的减害信息来源,如 dancesafe.org、tripsit.me 和 psychonautwiki.org。
这是 Claude system prompt 首次包含非 claude.com、anthropic.com 或 claude.ai 托管的 URL——我知道这一点,因为我之前针对记录中的所有其他 system prompt 运行过脚本。
我想知道 dancesafe.org、tripsit.me 和 psychonautwiki.org 是否即将迎来 Claude 用户流量的显著增长。
Fable 5.1 模型文档将可靠知识截止日期和训练数据截止日期都列为 2026 年 6 月。System prompt 直接这样告诉模型:
Claude 可靠的知识截止日期(在此之后无法可靠回答)是 2026 年 6 月底。它的回答方式如同一个在 2026 年 6 月消息灵通的人与来自 {{currentDateTime}} 的人交谈,且在相关时可以如此说明。
这是 {{currentDateTime}} 宏的唯一实例,它出现在 system prompt 末尾附近的几行,从缓存角度来看这是合理的。
几个月前,我基于对其文档的抓取构建了一个 Git 时间线来追踪 prompt 的变更。今天我让 Fable 5.1 构建了一个好得多的版本。
我的收集现在托管在 GitHub 上的 simonw/claude-system-prompts 仓库。它包含了 Anthropic 文档中分享的 system prompt 副本,但进一步做了处理使其尽可能便于比较。
每个模型家族有一个文件,记录该家族中最新版本使用的 system prompt。每个文件都有一个综合的提交历史,这些提交被回溯到先前 prompt 的日期。这是 claude-fable.md、claude-opus.md、claude-sonnet.md、claude-haiku.md 的历史页面。
每个特定模型版本也有类似文件,在模型 system prompt 变更但未发布新版本号时有人工提交。例如 Opus 4 更新过两次,claude-opus-4.md 文件的提交历史显示了每次变更。
综合起来,这给了我们在 GitHub 界面上直接比较 prompt 的各种方式。这是 Fable 5 和 Fable 5.1 之间的变更,这是 2026 年 1 月 18 日对 Haiku 4.5 所做的变更。
阅读 diff 可能会有些乏味……而 LLM 非常擅长阅读 diff。我用 GPT-5.6 Luna 设置了一些自动化来创建每个变更的要点摘要,可以在 README 中预览,也可以在 CHANGELOG.md 中完整浏览——也可以作为 Atom feed 获取。
以下是 Luna 对 Fable 5 和 Fable 5.1 之间所有变更的总结:
Claude 现在拒绝复制受保护的视觉作品和可识别的角色,包括代码生成的艺术,同时提供真正无关的原创作品。
版权限制现在明确禁止复制任何数量的歌词、诗歌和书籍段落,在首次拒绝后持续拒绝。
药物指导被重新表述:Claude 可以提供过量迹象、危险相互作用和减害信息来源,同时拒绝剂量和生产方案。
Prompt 删除了针对感谢用户来信、邀请继续对话或重申愿意提供帮助的明确反依赖规则。
Claude 无需向不必要的粗鲁用户道歉或变得顺从,取代了之前的警告并结束对话的程序。
为什么用 Luna?部分原因是它便宜,而且我已经有了一个专用的 GitHub Actions API 密钥(有消费限额),但主要是因为我不信任 Claude 来总结自己的 system prompt——因为存在其 system prompt 内容可能影响其观点的风险。
Fable 5.1 编写了 Luna 使用的 prompt,你可以在此处看到。它开头是这样的:
你正在总结 git 仓库中的一个提交,该仓库追踪 Anthropic 为 Claude.ai 上的 Claude 发布的 system prompt。diff 显示了 prompt 如何从前一个模型或版本变更到当前版本,使用词级标记:[-removed-] 和 {+added+}。diff 之后是前一个 prompt 和新 prompt 的完整文本;用它们来检查 diff 中看起来新增的内容之前是否已存在。
只挑选最有趣的变更:新的规则或行为、被删除或放宽的规则、任何令人惊讶的内容、以及任何揭示新政策或产品方向的内容。跳过例行变更——每个新 prompt 都会做的:更新的模型名称和 ID、知识截止日期、产品列表、设置列表、拼写修正以及不改变含义的措辞调整。[...]
该系统由 GitHub Actions 工作流驱动,每天运行一次,也可以手动触发。
Claude Fable 5.1 构建了整个系统,编写了每一行自动化代码和几乎所有的文档。
我使用我的 claude-code-transcripts 工具导出了构建系统的对话记录并在此发布,如果你想了解这一切是如何逐步实现的详细过程。
Claude Fable 5.1 给我做了一只很棒的动画鹈鹕 - 2026 年 9 月 1 日
理解 ChatGPT Work - 2026 年 8 月 30 日
本文是 Simon Willison 的《Claude's new system prompt really doesn't want to reproduce song lyrics》,发布于 2026 年 9 月 2 日。
上篇:Claude Fable 5.1 给我做了一只很棒的动画鹈鹕
每月赞助 $10 即可获得当月最重要 LLM 进展的精选邮件摘要。
付费让我少发邮件给你!