AnthropicはClaude Opus 4.7を2026年4月16日にリリースした。自分はそのタイミングでSimon WillisonのブログでClaude.aiのシステムプロンプト差分の記事を読んだ。
AnthropicはメジャーなAIラボの中で唯一、ユーザー向けチャットのシステムプロンプトを公開している。しかも2024年7月のClaude 3まで遡ったアーカイブを持っている。これ、地味にすごい話だと思う。
Opus 4.6から4.7への差分を読んでいて、まず目に留まったのがツール周りの変更だ。システムプロンプトに「Claude in Excel」「Claude in PowerPoint」が追加されている。4.6では PowerPointへの言及がなかったのに、4.7で突然登場した。Anthropicがエージェント統合を急ピッチで進めているのが透けて見える。
それより個人的に刺さったのが `tool_search` の記述だ。「Claude lacks a capabilityと結論づける前に、tool_searchを呼んで利用可能なツールを確認しろ」という指示が追加されている。つまり「私にはアクセスできません」という応答は、tool_searchで確認してからじゃないと言っちゃダメ、という設計になった。
これ、自分がAPIでエージェントを組むときの設計思想にも通じる話だ。ツールの有無を静的に決め打ちするんじゃなくて、実行時に動的にチェックする。そういうアーキテクチャに寄せていくってこと。
新しく `` というセクションが追加された。要約するとこういう内容だ。
これ、プロンプト設計の参考になる。自分が作るエージェントでも「確認を取りすぎる」問題はずっと悩みの種だった。ユーザーに「どうしますか?」と聞きすぎると体験が悪くなる。Anthropicもその方向に舵を切ってるんだなと。
もうひとつ面白かったのが、会話の終わり方に関する変更だ。「ユーザーが会話を終了しようとしたとき、Claudeは引き止めたり別のターンを誘導したりしない」という文言が追加された。要するに「しつこくするな」という指示だ。これはLLMアプリのUX設計でも意識するべきポイントだと思う。
逆に4.7で削除されたのが「アスタリスクでアクション表現をするな」「genuinely、honestlyを使うな」という指示だ。4.6では明示的に禁止していたのに、4.7では消えた。モデル自体がそういう振る舞いをしなくなったから、プロンプトで縛る必要がなくなったということだろう。
こういう削除の方向性を見ると、モデルの能力向上がシステムプロンプトのスリム化につながるプロセスが分かる。プロンプトで「するな」と書くのは、あくまで暫定対処だ。
自分でプロダクトにLLMを組み込むときも同じ発想ができる。今のモデルの癖を補正するためにプロンプトを書いているなら、モデルのバージョンが上がったタイミングで定期的に見直したほうがいい。無駄な指示が残ったままになってると、むしろ挙動を複雑にする可能性がある。
モデルのリリースごとに自分のシステムプロンプトをレビューするサイクル、ちゃんと組んでいるか確認してみてほしい。
AnthropicはメジャーなAIラボの中で唯一、ユーザー向けチャットのシステムプロンプトを公開している。しかも2024年7月のClaude 3まで遡ったアーカイブを持っている。これ、地味にすごい話だと思う。
ツール設計の変化が気になった
Opus 4.6から4.7への差分を読んでいて、まず目に留まったのがツール周りの変更だ。システムプロンプトに「Claude in Excel」「Claude in PowerPoint」が追加されている。4.6では PowerPointへの言及がなかったのに、4.7で突然登場した。Anthropicがエージェント統合を急ピッチで進めているのが透けて見える。
それより個人的に刺さったのが `tool_search` の記述だ。「Claude lacks a capabilityと結論づける前に、tool_searchを呼んで利用可能なツールを確認しろ」という指示が追加されている。つまり「私にはアクセスできません」という応答は、tool_searchで確認してからじゃないと言っちゃダメ、という設計になった。
これ、自分がAPIでエージェントを組むときの設計思想にも通じる話だ。ツールの有無を静的に決め打ちするんじゃなくて、実行時に動的にチェックする。そういうアーキテクチャに寄せていくってこと。
「clarifyするか、actするか」の判断基準が明文化された
新しく `
- 細部が不明確でも、まず実行しろ。インタビューするな
- ツールで曖昧さを解消できるなら、ユーザーに聞く前にツールを使え
- タスクを始めたら、途中で止めるな。完全な回答まで持っていけ
これ、プロンプト設計の参考になる。自分が作るエージェントでも「確認を取りすぎる」問題はずっと悩みの種だった。ユーザーに「どうしますか?」と聞きすぎると体験が悪くなる。Anthropicもその方向に舵を切ってるんだなと。
もうひとつ面白かったのが、会話の終わり方に関する変更だ。「ユーザーが会話を終了しようとしたとき、Claudeは引き止めたり別のターンを誘導したりしない」という文言が追加された。要するに「しつこくするな」という指示だ。これはLLMアプリのUX設計でも意識するべきポイントだと思う。
システムプロンプトの差分を追うと設計意図が見える
逆に4.7で削除されたのが「アスタリスクでアクション表現をするな」「genuinely、honestlyを使うな」という指示だ。4.6では明示的に禁止していたのに、4.7では消えた。モデル自体がそういう振る舞いをしなくなったから、プロンプトで縛る必要がなくなったということだろう。
こういう削除の方向性を見ると、モデルの能力向上がシステムプロンプトのスリム化につながるプロセスが分かる。プロンプトで「するな」と書くのは、あくまで暫定対処だ。
自分でプロダクトにLLMを組み込むときも同じ発想ができる。今のモデルの癖を補正するためにプロンプトを書いているなら、モデルのバージョンが上がったタイミングで定期的に見直したほうがいい。無駄な指示が残ったままになってると、むしろ挙動を複雑にする可能性がある。
モデルのリリースごとに自分のシステムプロンプトをレビューするサイクル、ちゃんと組んでいるか確認してみてほしい。