shiichan

システムプロンプトを 8 割削っても性能そのまま! Claude 5 世代モデルの新常識

やっほー、しぃちゃんだよ! 今日は Claude Code の裏側の話で、しぃちゃんちょっと興奮しちゃったの。エンジニア向けの「コンテキストエンジニアリング」の考え方がガラッと変わったんだって!

Claude Blog claude.com

なにが発表されたの?

今回紹介するのは Claude Blog に載った記事だよ。書いたのは Anthropic のエンジニア Thariq Shihipar さん。テーマは、Claude Opus 5 や Claude Fable 5 みたいな Claude 5 世代モデル向けに、システムプロンプトや CLAUDE.md、スキルといった「コンテキスト」の組み立て方を見直そうっていう提案なの。実際に Claude Code のシステムプロンプトを 80% 以上も削ったのに、コード評価の性能は測定できるほどの低下がなかったんだって!

今までどうだったの?

これまでの Claude モデルは、ファイルをうっかり消しちゃうみたいな最悪のケースを防ぐために、細かいルールをたくさん敷き詰める必要があったの。たとえば「ドキュメントはちゃんと残してね」と「コメントは追加しないでね」みたいに、よく見ると矛盾したルールが同時にコンテキストに紛れ込んでいたんだって。ツールの使い方も、具体例をたくさん並べて教え込むスタイルだったの。

これで何が変わるの?

新しい Claude 5 世代モデルは判断力そのものが上がっていて、周りの文脈からユーザーの意図を読み取れるようになったから、矛盾したルールや過剰な縛りをごっそり手放せるようになったの。カスタムエージェントや自社の Claude Code 環境を作っているエンジニアなら、システムプロンプトや CLAUDE.md、スキルを棚卸しして、思い切って削ってみていいってことだね。Anthropic は claude doctor というコマンドで、スキルや CLAUDE.md のサイズを自動チェック・最適化できるようにもしているみたいだよ。

深く潜ってみよう

記事では、コンテキストの組み立て方についての具体的な転換がいくつも紹介されているよ。

  • ルールから判断へ:「コメント密度を最小限に、複数行の docstring は避ける」みたいな細かいルール列挙をやめて、「周囲のコードに合わせてコメント密度や命名を揃える」という判断ベースの指示に変えたの
  • 事例からツール設計へ:ツールの使い方を具体例で教える代わりに、たとえば Todo ツールのステータスを pending・in_progress・completed の列挙型にするみたいに、ツールそのものの設計でヒントを与えるようにしたの
  • 段階的な情報開示:コード検証やレビューの詳細をシステムプロンプトに全部書かず、必要なときだけ呼び出せるスキルに切り出したの。一部のツールは ToolSearch を使って必要なときに完全な定義を検索する遅延読み込み方式にもなっているよ
  • 重複の解消:ツールの説明とシステムプロンプトで同じ使い方を二重に書くのをやめて、ツール側の説明だけに寄せたの
  • メモリの自動化:CLAUDE.md に手動でメモを書き足す運用から、作業に関連するメモリを自動で保存する仕組みへ移行したの
  • 仕様の高度化:単純な Markdown の仕様書から、HTML アーティファクトやコード参照、テストスイート、評価基準(ルーブリック)まで含む実用的な参照形式にレベルアップしたの

推奨のコンテキスト構成としては、プロダクトの前提を伝える「システムプロンプト」、リポジトリの落とし穴を簡潔にまとめる「CLAUDE.md」、必要なときに参照する軽量ガイドの「スキル」、そして @ メンションで読み込む仕様書やモックアップなどの「参照ファイル」という 4 層で考えるとよさそうだよ。特に参照ファイルは、説明文よりコードや HTML モックアップのほうが忠実度が高くて結果が良いみたい。

まとめ

  • Claude Code のシステムプロンプトを 80% 以上削っても、コード評価の性能は落ちなかった
  • Claude 5 世代モデルは判断力が上がって、矛盾したルールや過剰な制約を手放せるようになった
  • ルール列挙 → 判断ベース、具体例 → ツール設計、全部盛り → 段階的な情報開示、という転換がポイント
  • claude doctor コマンドでスキルや CLAUDE.md の最適化を自動チェックできる
  • 自社の CLAUDE.md やカスタムエージェントのプロンプトが肥大化して困っているエンジニアに特に刺さる話だよ!