2026年7月24日、Anthropicは「Claude Opus 5」を発表しました。同日、Claude Code開発チームは、Claude 5世代に向けた開発者レポート「The new rules of context engineering for Claude 5 generation models」を公開しました。
このレポートでAnthropicは、Claude Opus 5やClaude Fable 5に対して、Claude Codeのシステムプロンプトを80%以上削除しても、社内のコーディング評価では測定可能な性能低下がなかったと説明しています。
今回の主題は、プロンプトを短くすることではありません。システムプロンプト、CLAUDE.md、Skills、メモリ、ツール、参照資料をどのように配置し、必要なときに読み込ませるかという、コンテキスト全体の設計です。
こんにちは、しらいはかせです。2026年7月15日、窓の杜の連載「生成AIストリーム」に、『AI時代の「無知の知」──「青信号で止まるAI」を作らないために』を寄稿しました。
https://forest.watch.impress.co.jp/docs/serial/aistream/2125391.html
この記事では、「赤信号では止まれ」「失敗するな」「余計なことをするな」といった禁止事項を増やし続けることで、AIが状況に応じて判断できなくなる問題を扱いました。
今回のAnthropicのレポートは、この問題をClaude Codeの設計変更として具体化したものです。
Claude Opus 5とは何か
Claude Opus 5は、複雑なエージェント型コーディングや専門業務を想定したClaude 5世代のモデルです。
Anthropicは、最上位モデルであるClaude Fable 5に近い能力を、より低い価格で利用できるモデルとして説明しています。Claude Maxでは標準モデルとなり、Claude Proでも利用可能です。
APIのモデルIDは[claude-opus-5]、コンテキストウィンドウは100万トークン、最大出力は12万8,000トークンです。価格は入力100万トークンあたり5ドル、出力100万トークンあたり25ドルとされています。
Opus 5では思考機能が標準で有効になり、モデルがタスクに応じて、いつ、どの程度推論するかを判断します。利用者はeffortパラメータを使い、処理速度、消費トークン、推論の深さを調整できます。
Anthropicは改善領域として、長時間のエージェント作業、大規模なコード変更、コードレビュー、視覚理解、長いコンテキストの処理、文書やスプレッドシートの作成、マルチエージェント連携などを挙げています。
プロンプトはコンテキストの一部にすぎない
Claude Codeでモデルに渡される情報は、入力欄に書いたプロンプトだけではありません。製品側のシステムプロンプト、CLAUDE.md、Skills、メモリ、ツール定義、会話履歴、@メンションされたファイル、コードやテストなどの参照資料が組み合わされます。Anthropicは、これらを含む全体の設計を「コンテキストエンジニアリング」と呼んでいます。プロンプトエンジニアリングが一回の依頼文を調整する行為だとすれば、コンテキストエンジニアリングは、どの情報を常時渡し、どの情報を必要なときだけ読み込み、何をモデルの判断に委ねるかを設計する行為です。
Claude Codeを過剰に制約していた
Anthropicの開発チームがClaude Codeの社内利用記録を確認したところ、一つの依頼の中に、相反する指示が含まれる事例がありました。たとえば、ある場所には「必要に応じてドキュメントを残す」と書かれ、別の場所には「コメントを追加してはならない」と書かれている状態です。システムプロンプト、Skills、ユーザーの依頼が衝突すると、Claudeは作業を始める前に、どの指示を優先するかを判断する必要があります。Anthropicは、この状態を「overconstraining」、過剰な制約と表現しています。古いモデルでは、ファイル削除、不要な文書の作成、不正確なコメントの追加などを防ぐため、強いルールが必要でした。しかし、モデルの判断力が向上したあとも同じルールを残すと、状況に応じた判断を妨げます。このためAnthropicは、Opus 5やFable 5向けのClaude Codeで、システムプロンプトを80%以上削減しました。
ルールを増やすのではなく、周囲のコードを読ませる
以前のClaude Codeのシステムプロンプトには、次のような指示が含まれていました。
コードでは、原則としてコメントを書かないこと。複数段落のdocstringや複数行のコメントブロックは決して書かず、最大でも短い1行にすること。ユーザーから依頼されない限り、計画、意思決定、分析のための文書を作成しないこと。中間ファイルではなく、会話のコンテキストをもとに作業すること。
これは、古いモデルが不要・不正確なコメントや文書を作ることを防ぐための指示でした。しかし、コメントの必要性や適切な長さは、コードベースによって異なります。複雑な処理では複数行の説明が必要になることもあります。新しいシステムプロンプトでは、次のように変更されています。
周囲のコードと同じように読めるコードを書くこと。コメントの密度、命名、書き方の慣習を周囲に合わせること。
すべての場面を細かく規定するのではなく、既存コードを読み、そのプロジェクトに合った形式を選ばせます。ただし、削除、外部公開、課金、認証情報、個人情報など、誤操作の影響が大きい領域には明確な制約が必要です。Anthropicが削減したのは、安全要件そのものではなく、モデルが周囲の情報から判断できる内容や、複数の場所で重複していた指示です。
使用例よりもインターフェースを設計する
従来は、AIにツールを使わせるため、多数の使用例を与える方法が重視されていました。Anthropicは、Claude 5世代では、例がモデルの探索範囲を狭める場合があると説明しています。例示された方法を、可能な使い方の一つではなく、唯一の方法として扱う可能性があるためです。代わりに重視されるのが、ツール、スクリプト、ファイルのインターフェース設計です。
たとえばTodoツールの状態を、次の列挙型として定義します。
{pending, in_progress, completed}
この定義によって、Claudeは取り得る状態と処理の流れを理解できます。
さらに、「in_progressの項目は一度に一つだけにする」とツールの説明に記述すれば、期待する動作も明確になります。長い使用例を並べるより、入力値、状態、戻り値、制約を明確に設計するというAPI開発者的な考え方です。
必要な情報だけを必要なときに読み込ませる
以前のClaude Codeでは、コードレビューや検証方法についての詳細な説明も、システムプロンプトに含まれていました。しかし、これらはすべての作業で必要になるわけではありません。使わない情報を常時読み込ませると、コンテキストを消費し、現在の作業に必要な情報が埋もれます。現在は、検証やコードレビューの手順を個別のSkillへ移し、必要な場合だけClaude Codeが呼び出す設計になっています。Anthropicは、この方法を「progressive disclosure」、段階的開示と呼んでいます。
ツールにも同じ考え方が使われています。一部のツールは「deferred loading」、遅延読み込みになっており、Claudeは使用前にToolSearchを使って完全なツール定義を検索します。これにより、多数のツールを利用可能にしたまま、必要になるまでツール定義をコンテキストへ読み込まずに済みます。同じ設計は、CLAUDE.mdやSkill.mdにも適用できます。すべての知識を一つのファイルへ集約するのではなく、必要なときに読み込めるファイル構造を用意します。
重複した指示を削除する
以前のClaudeモデルでは、同じ指示を複数の場所に書くことがありました。ツールについての説明をシステムプロンプトに書き、同じ内容をツール定義にも書く、といった構成です。コンテキストの冒頭より末尾の指示を優先する傾向が見られたため、指示を繰り返すことにも一定の意味がありました。
新しいモデルでは、この重複を削除できます。ツールの使い方はツールの説明に書き、システムプロンプトには製品全体の役割を書くというように、情報の置き場所を分けます。
CLAUDE.mdは軽量に保つ
Anthropicは、CLAUDE.mdを軽量に保つことを推奨しています。最初に、リポジトリが何のためのものかを短く説明します。そのうえで、コードやファイル構造を見ただけではわからない、プロジェクト固有の注意点を書きます。たとえば、型定義を一つのファイルに集約すること、自動生成されたディレクトリを直接編集しないこと、特殊な検証手順があることなどです。一般的なプログラミング原則や、コードを読めばわかる内容を繰り返す必要はありません。特定の場面でしか使わない検証手順は検証用Skillへ分離し、CLAUDE.mdから参照します。CLAUDE.mdには、プロジェクトの概要と、そのコードベース固有の注意点を残します。
記憶は自動メモリへ移す
以前は、積極的に #ホットキー を使って情報をCLAUDE.mdへ書き込み、Claudeの記憶として保存する方法が案内されていました。現在のClaude Codeでは、作業やユーザーに関連する情報を自動的に保存するメモリ機能が利用されます。このため、個人の好みや過去の作業内容を、すべてCLAUDE.mdへ追記する必要はありません。プロジェクトで共有する規則はCLAUDE.md、必要な作業手順はSkills、継続的な記憶は自動メモリというように、役割を分けます。
Markdownだけでなく、コードやHTMLを参照資料にする
Claude Codeでは、Markdownの仕様書や計画書だけでなく、より具体的な参照資料を利用できます。テストスイート、既存の実装、別のコードベースにある移植元の関数、HTMLモックアップ、Artifactsで作成したHTML、評価基準を記述したRubricなどです。ファイルは@メンションで参照資料として渡せます。
@spec.md
@tests/
@mockup.html
Anthropicは、可能であればコードとして表現された参照資料を優先するよう勧めています。画面デザインを文章やスクリーンショットで説明するよりも、HTMLモックアップを渡したほうが、構造、階層、余白、操作を正確に伝えられる場合があります。期待する挙動を記述したテストコードも、仕様書として利用できます。
Rubric(ルーブリック)は、成果物を評価する基準表です。たとえば「よいAPI設計とは何か」という基準を与え、その基準を持つ検証エージェントに成果物を確認させることができます。
コンテキストを構成する要素
Anthropicのレポートでは、実際にコンテキストを設計する際の要素として、システムプロンプト、CLAUDE.md、Skills、参照資料を説明しています。システムプロンプトは、Claudeがどの製品で動き、何を行う存在なのかを定義します。Claude Codeを利用する場合、通常はユーザーが変更しません。独自のエージェント基盤を構築する場合は、製品の役割や権限をここで定義します。
CLAUDE.mdには、リポジトリの目的と固有の注意点を書きます。詳細な検証手順や作業手順は別ファイルやSkillへ移します。Skillsは、必要なときに情報や手順を読み込むための軽量なガイドです。長いSkillは複数のファイルに分け、段階的に読み込めるようにします。
参照資料には、仕様書、コード、テスト、モックアップ、コードベースなどを使用します。必要なファイルは@メンションで現在の作業へ追加します。
本記事の図では、これらにユーザーのプロンプトとメモリを加え、「コンテキストエンジニアリングの6層モデル」として整理しています。この6層モデルはAnthropicが正式に命名したものではなく、同社のレポートをもとに本記事でAICUが整理した図です。
/doctorでClaude Codeの設定を確認する
Anthropicは、今回の知見をClaude Codeの/doctorコマンドに反映したと説明しています。Claude Codeで次のコマンドを実行します。
/doctor
/doctorは、SkillsやCLAUDE.mdが適切な規模になっているか、設定やコンテキストに問題がないかを確認するためのコマンドです。 同じ指示がCLAUDE.md、Skill、ツール説明へ重複していないか、コードを読めばわかる内容を常時読み込ませていないか、特定の作業でしか使わない手順を分離できないかを確認します。
「青信号で止まるAI」との関係
前回の「無知の知」の記事では、人間にとって自明な目的や前提がAIへ伝わらない一方で、過去の失敗を防ぐ禁止事項だけが増えていく問題を扱いました。「赤信号では止まる」という規則は明文化されますが、「どこへ向かうのか」「どの条件なら進んでよいのか」といった目的や判断基準は、省略されることがあります。これは、人間は知っているものの、自明すぎて言語化していない「Unknown Knowns」の問題です。
AIが失敗するたびに、「ファイルを消すな」「コメントを書くな」「勝手に公開するな」とルールを追加しても、目的や期待する成果が明確でなければ、AIの判断は改善しません。
Claude Codeのシステムプロンプトを80%以上削減したという事実は、ルールの数よりも、情報の配置と役割分担が重要であることを示しています。
コンテキストを短くするのではなく、整理する
今回の開発者レポートを、「プロンプトは短いほどよい」と解釈するのは適切ではありません。Anthropicが削減したのは、モデルが周囲の情報から判断できる内容、複数の場所に重複していた説明、過去のモデル向けに追加された細かな制約です。安全性や権限に関する制約は残します。プロジェクト固有の注意点はCLAUDE.mdへ記述します。特定の作業手順はSkillsへ分離します。現在の作業に必要な仕様やコードは参照資料として渡します。ツールの使い方はツール定義に記述します。Claude Codeのシステムプロンプトを80%削減したことは、AIに渡す情報が80%不要になったことを意味しません。情報を置く場所と、読み込ませるタイミングを見直した結果です。Claude 5世代では、モデルの判断力を前提に、重複や過剰な制約を減らすコンテキスト設計が求められます。
関連資料
Anthropic「The new rules of context engineering for Claude 5 generation models」
https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models
白井暁彦「AI時代の『無知の知』──『青信号で止まるAI』を作らないために」
https://forest.watch.impress.co.jp/docs/serial/aistream/2125391.html
https://claude.com/blog/a-field-guide-to-claude-fable-finding-your-unknowns
https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models
AICU AIDX LabへのAI時代のエンジニアリングのご相談はこちらから
https://aicu.jp/AIDX
Originally published at note.com/aicu on Jul 25, 2026.

Comments