「君のCLAUDE.mdはもう盛り過ぎ」 Claude 5世代で“通用しなくなった”コンテキストの6つの常識:Claude Codeでシステムプロンプトを80%以上削減した結果(2/2 ページ)
Anthropicは公式ブログで、「Claude 5」世代モデルにおけるコンテキストエンジニアリングの新しいベストプラクティスを解説した。
【1】ルールから判断へ
従来のシステムプロンプトは、デフォルト(既定)で「コメントを書かないこと」「複数段落にわたるドキュメント文字列を決して書かないこと」をClaudeに指示していた。だが、これは一部のユーザーや、特に複雑なコードにとっては誤りだった。
新しいシステムプロンプトでは、周囲のコードと調和するコードを書くよう求め、その方法として、コメントの密度、命名、イディオムを周囲のコードと合わせることを挙げている。
【2】例示からインタフェース設計へ
ツールの使い方を例示することは、かつては最重要のルールだったが、最新モデルでは探索範囲をかえって狭めてしまうことになる。
代わりに、ツール、スクリプト、ファイルのデザインを考慮すべきだとしている。例えば「Todo」ツールでは、ステータスを「pending」「in_progress」「completed」の列挙型として定義するだけで、意図した使い方が伝わる。
【3】事前の一括提示から段階的開示へ
コードレビューや検証の手順は、以前はシステムプロンプトに含まれていた。
だが、Claude Codeが「段階的開示」(Progressive Disclosure)を活用できるようになったことで、これらの手順はスキルに移され、状況に応じて呼び出されるようになった。段階的開示は、スキルに加えてツールにも適用され、一部のAnthropicツールは遅延読み込みとなり、エージェントが「ToolSearch」で定義を検索して呼び出すまで、コンテキストを消費しなくなった。
このアプローチを独自のCLAUDE.mdや「Skill.md」ファイルにも適用し、適切なタイミングで読み込まれるファイルツリー構造を検討することも推奨されている。
【4】指示の重複から簡潔なツール説明へ
以前のClaudeモデルは、指示の繰り返しを必要とする場合があったり、コンテキストウィンドウの末尾に置かれた指示に従いやすい傾向があったりした。
現在では、こうした重複は排除し、ツールの使い方の指示をシステムプロンプトではなく、ツールの説明文に記載すればよいことが分かっている。
【5】手動のメモリから自動メモリへ
以前は、ユーザーが「#」ホットキーでCLAUDE.mdに書き込むことで、Claudeのメモリに情報を保存することが推奨されていた。
現在のClaudeは、作業やユーザーに関連するメモリを自動的に保存するようになっている。
【6】単純な仕様からリッチな参照情報へ
以前は計画や仕様をMarkdownファイルに保存することで、Claudeが必要なときにそれらを参照できるようにしていた。
現在では、Claudeは新しいアーティファクト機能によるHTMLアーティファクトを参照できるようになった。詳細なテストスイートや、Claudeが移植する可能性のある別のコードベースの関数など、コードの形式でClaudeに参照情報を与えることもできる。
「ルーブリック」と「動的ワークフロー」機能により、ルーブリックに基づいて検証エージェントを起動させ、特定分野におけるユーザーの好み(API設計などについて)を把握、検証することも可能だ。
どうコンテキストを組み立てればいいのか?
Anthropicは、コンテキストを構成する各要素について、以下のように作成指針を示している。
システムプロンプト
プロダクトのコンテキストと密接に結び付いており、「Claudeがどのプロダクトで動作し、何を行っているのか」を伝える。Claude Codeの場合、ユーザーがこれに変更を加えることはまずないが、独自のエージェントハーネスを構築する開発者は、ここに多くの時間をかけるべきだ。
CLAUDE.md
軽量に保つ。リポジトリの目的を簡潔に記述し、トークンの大半は、コードベース内の注意点の説明に充てる。一方、Claudeがファイルシステムやリポジトリを見て理解するような自明な事柄については、記述するのを避ける。
段階的開示を活用する。例えば、独自の検証手順については、検証スキルを作成し、CLAUDE.mdから参照するようにする。
スキル
Claudeが必要に応じて情報を見つけるための軽量なガイドとして扱う。過度な制約を課すことは避ける。長いスキルは、段階的開示を利用して複数のファイルに分割する。チームやプロダクトに固有の見解、知識、慣行を盛り込むのに最適だという。
参照情報
ファイルを@メンションすることで、参照情報として含めることができる。コード内のファイルを使用することが推奨されている。Claudeがよく知る言語により、忠実度の高い指示を提供できるからだ。
例えば、デザインのHTMLモックアップは通常、文章による説明やスクリーンショットよりも良い結果をもたらす。
Copyright © ITmedia, Inc. All Rights Reserved.
