AI・機械学習
Claude 5世代モデルのためのコンテキストエンジニアリングの新ルール
The new rules of context engineering for Claude 5 generation models (claude.com)
要約
AnthropicはClaude 5世代モデル向けに、コンテキストエンジニアリングの手法を刷新しました。システムプロンプトの80%以上を削減し、モデルに判断を委ねる方向へシフトしたことで、より高度な応答が可能になったと報告しています。この記事では、この経験から得られた教訓を、Claude Codeや自作エージェントでのコンテキストエンジニアリングに応用する方法を解説しています。
全文翻訳
Claude 5世代モデルのためのコンテキストエンジニアリングの新ルール
Claude Codeのシステムプロンプトの80%以上を高度なモデルのために削除しました。学んだ教訓をClaude Codeや自作エージェントでのコンテキストエンジニアリングにどのように応用するか。
Claude Code
エージェント
プロダクト
Claude Code
Claude Enterprise
Claude Platform
日付
2026年7月24日
読了時間
5分
共有
リンクをコピー
https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models
以前、最新世代のClaude 5モデルに最適なプロンプトの与え方や、構築したいものを発見するために反復的に連携する方法について書きました。
しかし、Claudeにメッセージを送信する際、プロンプトはそのモデルが受け取るコンテキストのごく一部に過ぎません。コンテキストの多くは、システムプロンプト、スキル、CLAUDE.mdファイル、メモリ、その他のソースから組み立てられます。これをコンテキストエンジニアリングと呼び、Claude Codeを使用したり、自作エージェントを構築したりする際に生成される結果に大きな影響を与えます。
プロンプトとは異なり、コンテキストは多くのリクエスト全体で一般的に使用されるため、それほど具体的にはできません。特にユーザーのプロンプトが何になるかわからない場合に、Claudeのためのこれらの一般的なプロンプトやガイダンスをどのように構築するのでしょうか?
Claude自身の能力が進化するにつれて、これは驚くほど困難になる可能性があります。最近、最新世代のClaudeモデルのプロンプト方法に大きな進歩が見られました。Claude Opus 5やClaude Fable 5のようなモデルでは、コーディング評価で測定可能な損失なしに、Claude Codeのシステムプロンプトの80%以上を削除しました。
この新しいクラスのモデルのプロンプトについて学んだこと、そしてそれをコンテキストエンジニアリングの更新にどのように活用できるかを以下に示します。これらのベストプラクティスは`claude doctor;`に組み込まれており、Claude Codeで`/doctor`コマンドを使用してスキルやCLAUDE.mdファイルを適切に調整してください。
Claudeの制約を解除する
全体として、システムプロンプト、CLAUDE.mdファイル、スキルを通じて、Claude Codeを過度に制約していたことがわかりました。例えば、Claude Codeの内部使用のトランスクリプトを読むと、単一のリクエストに「ドキュメントは適切に残す」や「コメントは絶対に追加しない」といった矛盾したメッセージがシステムプロンプト、スキル、ユーザーリクエストと衝突していることがわかります。一般的に、Claudeはユーザーの意図を解釈して正しい答えにたどり着くことができますが、これらの重複または矛盾したメッセージについて、決定を下す前にClaudeはより慎重に考える必要があります。
そして、これらの制約はかつて最悪のシナリオを回避するために必要でしたが、現在ではそれらの多くを削除し、モデルが周囲のコンテキストと判断力を使用できるようにできることがわかりました。
さらに、Claude Codeは現在、より多くのツールを持っています。Claudeはかつて、CLAUDE.mdをメモリ、情報、ガイダンスのソースとして利用していました。現在では、メモリ、アーティファクト、スキルがあり、Claudeはセッション間でコンテキストをロードおよび共有するための新しい方法を作成するためにこれらを使用できます。
アイテムが見つかりませんでした。
前へ
前へ
0/5
次へ
次へ
Claude Codeを入手する
curl -fsSL https://claude.ai/install.sh | bash
コマンドをクリップボードにコピー
irm https://claude.ai/install.ps1 | iex
コマンドをクリップボードにコピー
またはドキュメントを読む
Claude Codeを試す
Claude Codeを試す
Claude Codeを試す
開発者向けドキュメント
開発者向けドキュメント
開発者向けドキュメント
電子書籍
昔と今
以前のコンテキストエンジニアリングのベストプラクティスのいくつかは神話になっていました。それらには以下が含まれます。
昔:Claudeにルールを与える
今:Claudeに判断を任せる
Claude Codeを初めて展開したとき、Claudeがファイルを削除するなどの最悪のシナリオを回避することを確実にする必要がありました。これは、常に真実ではない可能性のある特に強力なガイダンスを与えることを意味しました。例えば、システムプロンプトでは次のように述べていました。
コード内:デフォルトでコメントを記述しない。複数行のドキュメンテーション文字列や複数行のコメントブロックは絶対に書かない — 最大で短い1行のみ。ユーザーが要求しない限り、計画、決定、または分析ドキュメントを作成しない — 中間ファイルではなく、会話コンテキストから作業する。
しかし、特定のプロンプトのサブセットでは、このガイダンスは間違っていました。ドキュメントの場合、ユーザーは独自の好みを持っている可能性があり、非常に複雑なコードの特定のセクションには複数行のコメントブロックが必要になる場合があります。
それでも、古いモデルではこれらのガードレールなしでは、Claudeが書いたコメントは多くの場合不正確であり、このトレードオフを受け入れる必要がありました。しかし、新しいモデルはより優れた判断力を持ち、明示的なルールなしでこれらの決定をうまく処理できます。新しいシステムプロンプトでは次のように述べています。
周囲のコードのように読めるコードを書く:コメントの密度、命名、イディオムを一致させる。
昔:Claudeに例を与える
今:インターフェースを設計する
ツール使用の最優先ルールは、Claudeにツールの使用方法の例を与えることでした。最新のモデルでは、例を与えることが実際にはそれらを特定の探索空間に制約してしまうことがわかりました。例を与える代わりに、ツール、スクリプト、ファイルの設計についてより深く考えてください — Claudeにはどのようなパラメータがあり、それらをより表現力豊かにするにはどうすればよいでしょうか?例えば、Todoツールの例では、ステータスを保留中、進行中、完了の列挙型としてリストするだけで、Claudeにその使用方法を示唆します。1つのアイテムを進行中に保つという指示は、要求された動作を定義するのに役立ちます。
昔:すべてを upfront に置く
今:段階的開示を使用する
Claude Codeはコーディングに焦点を当てていたため、システムプロンプトにはコードレビューと検証の方法に関する詳細情報が含まれていました。これらは常に必要だったわけではありませんが、必要だった場合には重要な情報でした。
それ以来、Claude Codeは段階的開示を効果的に使用できるようになりました — 適切なコンテキストを適切なタイミングでロードします。例えば、検証とコードレビューをClaude Codeが選択的に呼び出すことができる独自のスキルに移動しました。
しかし、段階的開示はスキルだけでなく、ツールにも使用しています。当社のツールのいくつかは「遅延ロード」されており、エージェントはそれらを使用する前にToolSearchを使用して完全な定義を検索する必要があります。これにより、必要になるまでコンテキストを消費しないタスクツールのような、より多くのツールを持つことができます。
これは、独自のCLAUDE.mdおよびSkill.mdファイルにも適用できます。一般的な神話は、Claudeが見つけられない可能性があるため、遭遇する可能性のあるすべての既知のプラクティスの中央リポジトリにしたいということです。代わりに、適切なタイミングでロードできるファイルのツリーを検討してください。
昔:繰り返す
今:シンプルなツール説明
以前のClaudeモデルは、指示を繰り返す必要がある場合や、コンテキストウィンドウの開始時よりも終了時の指示を聞く可能性が高い場合がありました。これは、システムプロンプトにツールの参照がメインシステムプロンプトに含まれる場合もあれば、ツール説明に指示が含まれる場合もありました。これらの繰り返し例を削除し、ツールを使用する方法の指示をシステムプロンプトではなくツール説明に置くことができることがわかりました。
昔:CLAUDE.mdファイルにメモリを保存する
今:自動メモリ
以前は、ホットキーを使用してCLAUDE.mdに自動的に書き込むことで、ユーザーにClaudeのメモリに何かを保存することを推奨していました。代わりに、Claudeは現在、作業に関連するメモリを自動的に保存します。
昔:シンプルな仕様
今:リッチな参照
プランモードでは、Claude CodeはMarkdownファイルにプランを格納することに大きく依存していました。これらのファイルをプランとして保存することは、Claudeが必要に応じて参照するのに役立ちました。同様のベストプラクティスは、Claudeが長期プロジェクトで作業中に参照できるように、コードベースに仕様を保存することでした。
しかし、Claudeはますます複雑な参照を処理できることがわかりました。シンプルなMarkdownファイルではなく、新しいアーティファクト機能によって作成されたHTMLアーティファクトを参照できます。または、コードの形式でClaudeに参照を与えることもできます。仕様は、詳細なテストスイートや、Claudeが移植する可能性のある別のコードベースの関数でもあります。ルーブリックは参照の別の形式です。ルーブリックにより、Claudeは特定の分野でのあなたの好みを検証しようとすることができます(例:優れたAPI設計とは何か)動的なワークフローを使用し、それらのルーブリックを持つ検証エージェントを起動します。
これをコンテキストに適用する
これらすべてをまとめて、コンテキストを組み立てるとどのようになりますか?
システムプロンプト
A syst