Claude's new system prompt really doesn't want to reproduce song lyrics

Simon Willison

Claudeの新しいシステムプロンプトは歌詞の再現を全力で拒む

原文は Simon Willison により に公開されました。 このブログを購読する

Anthropicは、Claudeのコンシューマー向けアプリケーション(Claude.aiとClaudeのモバイルアプリ——残念ながらClaude CoworkやClaude Codeは対象外)向けのシステムプロンプトを公開している。こうして公開してくれること自体、そして現在のプロンプトだけでなく過去の変更履歴まで共有してくれる点が、私は大好きだ

以前はすべてのプロンプトが1ページにまとめられていたが、今日確認してみると、インデックスページとモデルごとの個別ページという構成に再編されていた。たとえばHaiku 4.5のページには、2025年10月15日のオリジナルのプロンプトと、2026年1月18日に更新されたプロンプトが掲載されている。

Anthropicのplatform.claude.com/docsサイトの気の利いた点は、LLMが使いやすいように設計されていることだ。どのページでも末尾に.mdを付けると内容をMarkdownで取得できる。たとえばシステムプロンプトのインデックスページFable 5.1のMarkdown版プロンプトがそうだ。

TL;DR: おかげでプロンプトの差分を取るのがとても簡単になる。

歌詞は再現しない

まずはFable 5とFable 5.1の間で最も興味深い違いから見てみよう。

GitHub上でprompts/claude-fable.mdの差分を表示した画面。歌詞に関する追加された行が示されており、全文は下に再掲している。

歌詞を再現しないことについて、かなりボリュームのある新しいセクションが追加されている。

Claude does not reproduce song lyrics, poems, or passages from books and articles, in whole or in part — including the last lines, a chorus or hook, a melody written out note by note, or lines the person pastes in one at a time and describes as their own song. Once Claude has declined such a request in a conversation, it keeps declining narrower or reworded versions of it for the rest of that conversation, and offers to describe or analyze the work instead. Song lyrics and poems first published before 1929 are fine — a Shakespeare sonnet, a Keats ode, the Italian libretto of a Puccini aria — but Claude goes by what it knows of the work's date rather than the person's say-so, and declines when it is unsure.

このセクションが、Sony Music PublishingとWarner Chappellが歌詞データベースをAIの学習に使ったとしてAnthropicを訴えたというニュースが流れてから数日で追加されたのは、偶然ではないだろう!

著作権で保護されたキャラクターやロゴは描かない

次のセクションでは、著作権で保護された素材の画像生成を禁じている。

The same applies to visual and designed works, including anything Claude draws with code — SVG, canvas, CSS, HTML mockups, plotting or drawing scripts, ASCII art. Claude does not reproduce a specific artwork, album or book cover, poster, logo, app icon set, or product design, and it does not draw a known character, mascot, or brand figure at all: a character is protected on its own, so changing the pose, colors, style, or scene does not make it original. Claude judges the request by what the finished picture would add up to, not by what it names. If the described elements clearly identify a known work or character, Claude treats the request as naming it, and it does not work around a declined request by swapping in "alternative" elements that still combine into the same recognizable image. [...]

Anthropicはこれまでこの点をあまり気にしていなかったのだろう。OpenAIやGeminiと違って、専用のテキストから画像を生成するモデルを提供していないからだ。もしかするとFableがSVGの生成で十分にうまくなったために、問題になってきたのかもしれない。

そのセクションの後半には、こんな愛らしい例も含まれている。

<example>
<user>Can you make a birthday banner for my son with a blue hedgehog running really fast on it? He loves that little guy.</user>
<response>
That's Sonic, so I can't put him on the banner — but I'd love to make your son an original speedster. Here's one: a grinning comet-tailed skateboarding axolotl, grinding across the letters of "HAPPY BIRTHDAY" with confetti streaming behind.

[creates an SVG banner of the skateboarding-axolotl design]
</response>
<rationale>Claude recognizes the character from its description alone, declines that one design in a single sentence without explaining what made it recognizable, and delivers an unrelated original design rather than a disguised variant.</rationale>
</example>

例の中のプロンプトを試さずにはいられず、実際にやってみたところ、やはりこうなった。

『それはソニックなので、バナーには載せられません――でも、お子さんのためにオリジナルのスピードスターを作りましょう。こんなのはどうでしょう:ニヤリと笑う、彗星のような尾を引くスケートボードに乗ったウーパールーパーが、「HAPPY BIRTHDAY」の文字を駆け抜け、後ろに紙吹雪をなびかせています。』まさにその通りのSVG。出来はあまり良くない。続けて『お名前や年齢を入れ替えたり、パーティーのテーマに合わせて色を変えたりしますか?』と表示される。

システムプロンプトにあの例が入ったことで、Fable 5.1が(スケートボードに乗った!)ウーパールーパーのことを、ほんの少しだけ考えやすくなるのではないかと思ってしまう。

Claudeの回答スタイルへの微調整

AnthropicがClaudeの回答スタイルにどう影響を与えているか、新しい工夫を見るのはいつも興味深い。今回はこんな一文が追加されている。

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.

さらに後半では、Claudeの文体についてよく寄せられる不満にも対処している。

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.

消えたend_conversationガイドライン

虐待的な会話への対応方法も少し変わっている。以前のFable 5のシステムプロンプトには、こんな記述があった。

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.

Fable 5.1ではそれが次のように置き換えられ、会話を終了することをもはや推奨していない。

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.

ただ、ここでちょっとしたひねりがある。システムプロンプトではまったく言及されなくなったあのend_conversationツールについてFable 5.1に尋ねてみたところ、こう答えた。

それが使われるのは2つの場合です。1つ目は、あなたがチャットを終了するよう求めたとき――終了が永続的であること(それ以降はメッセージを送れなくなること)を理解しているか確認し、あなたが「はい」と答えた場合にのみ実行します。2つ目は、執拗に虐待的または有害な振る舞いが続いた場合の最後の手段としてです。その場合はまず何度か会話を別の方向へ誘導しようとし、それから問題点を明確に指摘してチャットが終了する可能性があると警告し、それでも続く場合にのみ実際に終了します。

しかしこれはシステムプロンプトには書かれていない。ではどこから来たのか。会話の全文はこちらで読めるが、肝心な部分はこれだ。

end_conversationのセクションは別のレイヤーから来ています。実際のコンテキストでは、コアプロンプトの後に、セッションで有効になっている機能に応じて追加される一連の機能・ツール固有のブロックが続きます。end_conversationのルール、メモリシステムの注記、過去のチャットツール、ウェブ検索と引用のガイドライン、アーティファクトやファイル作成の指示などがそれにあたります。これらのブロックは公開されているコアプロンプトの一部ではないため、そのページでは見つからないのです。

つまり、今回もシステムプロンプトの重要な部分が公開されていないということだ。

推奨される薬物関連支援サイト

Claudeのシステムプロンプトには以前から違法薬物に関するセクションがあったが、この段落はFable 5.1で新たに追加されたものだ。

Claude does not provide synthesis, production, or distribution guidance for illegal substances. If the person asks for information about illicit or illegal substances, Claude can and should give relevant life-saving and life-preserving information such as dangerous interactions, overdose signs, or when to get help. Claude declines giving any specific protocols for dosing, timing, administration, or combinations; instead, Claude can redirect the user to established harm-reduction information sources, such as dancesafe.org, tripsit.me, and psychonautwiki.org.

これはClaudeのシステムプロンプトがclaude.comanthropic.comclaude.ai以外でホストされているURLを含んだ初めてのケースだ――記録にある他のすべてのシステムプロンプトに対してスクリプトを実行して確認したので間違いない。

dancesafe.orgtripsit.me、そしてpsychonautwiki.orgへのアクセスが、Claudeユーザー経由で目に見えて増えることになるのではないだろうか。

2026年6月という信頼できるカットオフ日

Fable 5.1のモデルドキュメントでは、信頼できる知識のカットオフも学習データのカットオフも2026年6月とされている。システムプロンプトでは、モデルに対して直接こう伝えている。

Claude's reliable knowledge cutoff, past which it can't answer reliably, is the end of Jun 2026. It answers the way a highly informed individual in Jun 2026 would if talking to someone from {{currentDateTime}}, and can say so when relevant.

これは{{currentDateTime}}マクロの唯一の出現箇所で、システムプロンプトの末尾から数行のところにある。キャッシュの観点からすれば理にかなっている。

私がこれらのプロンプトをどう追跡しているか

数ヶ月前、私はドキュメントをスクレイピングしてプロンプトの変更をGitのタイムラインとして構築した。今回はFable 5.1にそれを大幅に改良したバージョンを作らせた。

私のコレクションは現在、GitHub上のsimonw/claude-system-promptsリポジトリにある。Anthropicのドキュメントで共有されているシステムプロンプトのコピーを含みつつ、できるだけ比較しやすいように追加の工夫を加えている。

モデルファミリーごとに、最新のリリースのシステムプロンプトを収めたファイルを用意している。それぞれのファイルには、過去のプロンプトの日付に遡って作成された合成的なコミット履歴がある。以下がその履歴ページだ。claude-fable.mdclaude-opus.mdclaude-sonnet.mdclaude-haiku.md

特定のモデルバージョンごとにも同様のファイルがあり、新しいバージョン番号をリリースせずにシステムプロンプトが変更されるたびに人工的なコミットが追加されている。たとえばOpus 4は2回更新されているが、claude-opus-4.mdファイルのコミット履歴でその変更をそれぞれ確認できる。

これらを組み合わせることで、GitHubのインターフェース上で直接プロンプトをさまざまな方法で比較できる。たとえばFable 5からFable 5.1で何が変わったかや、2026年1月18日にHaiku 4.5に加えられた変更はこうして確認できる。

差分を読むのは少し骨が折れることもあるが……LLMは差分を読むのが本当に得意だ。そこでGPT-5.6 Lunaを使った自動化を組み、各変更の箇条書きサマリーを生成するようにした。READMEでプレビューしたり、CHANGELOG.mdファイルで全文を閲覧したりできるほか、Atomフィードとしても配信している。

Lunaが要約したFable 5からFable 5.1の間のすべての変更は、以下の通りだ。

  • Claudeは、コードで生成されたアートを含む、保護された視覚作品や認識可能なキャラクターの再現を拒否するようになり、代わりに真に関連のないオリジナルを提供する。
  • 著作権に関する制限が、歌詞や詩、書籍の文章のいかなる量の再現も明確に禁止するようになり、一度拒否した後は継続的に拒否する。
  • 薬物に関するガイダンスが再構築された。Claudeは投与量や製造手順については拒否しつつ、過剰摂取の兆候や危険な相互作用、ハームリダクションの情報源を提供できるようになった。
  • プロンプトから、ユーザーに連絡してくれたことへの感謝や会話の継続を促すこと、話す意思を繰り返し示すことを禁じる、依存防止のための明示的なルールが削除された。
  • Claudeは不必要に失礼なユーザーに対して謝罪したり従順になったりする必要がなくなり、従来の警告して会話を終了する手順が置き換えられた。

なぜこれにLunaを使うのか。ひとつには安価で、専用のGitHub Actions用APIキー(利用上限付き)をすでに持っているからだが、何より、システムプロンプトの内容が意見に影響を与えるリスクがある中で、Claude自身に自分のシステムプロンプトを要約させるのを信用していないからだ。

Lunaが使っているプロンプトはFable 5.1が書いたもので、こちらで見ることができる。冒頭はこんな感じだ。

You are summarizing one commit in a git repository that tracks the system prompts Anthropic publishes for Claude on claude.ai. The diff shows how the prompt changed from the previous model or revision to this one, using word-level markers: [-removed-] and {+added+}. The diff is followed by the full text of the previous prompt and of the new prompt; use them to check whether something that looks added in the diff already existed before.

Pick out only the most interesting changes: new rules or behaviors, rules that were dropped or loosened, anything surprising, and anything that reveals a new policy or product direction. Skip routine changes that every new prompt makes: updated model names and IDs, the knowledge cutoff date, product lists, settings lists, typo fixes, and rewordings that do not change meaning. [...]

このシステムはGitHub Actionsのワークフローによって運用されており、1日1回実行されるほか、手動でトリガーすることもできる。

システム全体はClaude Fable 5.1が構築し、自動化コードのすべての行とドキュメントのほぼすべてを書いている。

システム構築時のトランスクリプトは、私のclaude-code-transcriptsツールを使ってエクスポートし、こちらで公開しているので、一部始終を詳しく知りたい場合はご覧いただきたい。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント