ブログ

Opus 5以降のCLAUDE.md:長い指示がClaudeの妨げになる理由

Markdown

Claude Opus 5はより賢くなり、CLAUDE.mdの古く長いルールがかえって妨げになります。何を残し、何をスキルに移し、自動メモリを有効にする方法を解説します。すぐ使えるプロンプトも含みます。

記事の全文を読む

重要なポイント

Claude Opus 5は2026年7月24日にリリースされ、Anthropicは直感に反することをしました。Claude Codeのシステムプロンプトから指示の80%超を削除したのです。考え方はシンプルです。モデルが賢くなった今、余分で硬直したルールはかえって妨げになります。これはあなたのCLAUDE.mdにも当てはまります。何を削除し、何をスキルに移し、Claudeが再び指示に従いやすくなるよう自動メモリを有効にする方法を説明します。

Ailootの利用方法については、ドキュメントをご覧ください。

Opus 5のリリース後、Claudeはどう変わったのか?

重要なポイント

Opus 5で、Anthropicはモデルへの指示の与え方を変えました。以前のClaude Codeには、何百ものルールを含む巨大なシステムプロンプトがありました。新バージョンではそれを80%超削減しましたが、コーディング品質は低下しませんでした。その理由は、第5世代モデルが文脈に基づいて判断できるほど賢くなったからです。硬直したコマンドのリストは、もう必要ありません。

Opus 5は2026年7月24日にリリースされ、すぐにClaude Codeのデフォルトモデルになりました。モデル自体の価格、ベンチマーク、努力度モードについては、別のガイド「Claude Opus 5に切り替えるべきか?」で詳しく説明しています。この記事で扱うのは別のことです。モデルのリリースによって、効果的な話しかけ方も変わりました。

AnthropicはClaudeのブログで分析記事を公開しました。要点は次のとおりです。

Claude Codeのシステムプロンプトを80%超削除しましたが、コーディングタスクの品質に目立った低下は見られませんでした。Claudeを制約しすぎていたのです。

— Anthropic、https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models

重要なのは「制約しすぎていた」という言葉です。モデルが弱かった頃は、足場となる指示が必要でした。「これをして、あれはしないで、例はこれです。もう一度繰り返します」といったものです。Opus 5にはもうその足場は必要ありません。むしろ妨げになることがあります。Anthropicが示す新しい原則はシンプルです。Claude自身の判断に任せましょう。

実際には、あなたにとってどんな意味があるのでしょうか?

  • あなたのCLAUDE.mdも、プロジェクト用のシステムプロンプトです。 Anthropicが自社のものを80%削減したのなら、あなたのファイルも肥大化しているかもしれません。
  • ルールの長いリストが、指示への準拠を保証するわけではありません。 反対に、行数が増えるほどモデルが指示に従わなくなります(詳しくは後述。ドキュメントの数値も紹介します)。
  • 新しい仕組みも登場しました。 自動メモリとスキルが、以前はCLAUDE.mdに手作業で書き込む必要があった作業の一部を引き受けます。

要点は、最も重要な作業はプロンプトの前に行われるということです。最初のリクエストを送る前に、モデルのコンテキストへ何を入れておくかが大切です。Opus 5のアップデートは、実質的にAnthropicがこの考え方を公式に裏付けたものです。今回は具体的な数値と新しいツールも示されました。それぞれ見ていきます。

長いCLAUDE.mdは、なぜ今では妨げになるのか?

重要なポイント

CLAUDE.mdは各セッションの開始時にコンテキストへ読み込まれ、会話と同じようにトークンを使います。Claude Codeの公式ドキュメントは、ファイルを200行未満に保つよう勧めています。長いファイルはコンテキストを消費し、指示への準拠を低下させるからです。さらに、2つのルールが矛盾していると、Claudeはどちらかをランダムに選びます。肥大化したCLAUDE.mdはノイズを増やし、モデルが軌道を保ちにくくします。

仕組みを説明します。CLAUDE.mdは、各セッションの開始時にClaudeが読むルールのファイルです。別のガイド「CLAUDE.mdの設定方法」ではゼロから作る方法を解説していますが、この記事で扱うのは逆の作業、つまり今のファイルから何を削除するかです。そこに書いたことはすべて、最初のリクエストを送る前にコンテキストへ入り、会話が続く間ずっと残ります。コンテキストは無限ではありません。ルールの行が増えるたびに、あなたのタスクに使えるはずの容量が減ります。

Claude Codeのドキュメントは、はっきり述べています。

ファイルは200行以内にしてください。長いファイルはコンテキストを消費し、指示への準拠を低下させます。

— Claude Code ドキュメント、https://code.claude.com/docs/en/memory

2つ目の指摘は、1つ目より重要です。長いファイルは指示への準拠を低下させます。モデルは指示に注意深く従わなくなります。これは、ほとんどの初心者が陥る落とし穴です。論理は揺るぎないように見えます。「Claudeに指示を聞いてほしいから、ルールをもっと書こう」。実際には逆のことが起こります。リストが長くなるほどモデルの注意は散漫になり、ルールが飛ばされる頻度が上がります。

アプローチがどう変わったのか、次の表で見てみましょう。

以前(弱いモデル)今(Opus 5と第5世代モデル)
考え方ルールが多いほど結果は安定するルールが少ないほど指示への準拠が高まる
CLAUDE.mdあらゆる状況を網羅する長いリスト短くし、モデルが自力で推測できないことだけを書く
指示「この方法でやる」という硬直したコマンドモデルの判断に任せる
ルールの繰り返し確実にするため繰り返す繰り返しはかえって妨げになる

もう1つ問題があります。矛盾です。ファイルが大きくなるにつれ、互いに衝突するルールがたまるのはほぼ避けられません。ある場所では「必ずテストを書く」とあり、別の場所では「testsフォルダーに触れないで」と書かれているかもしれません。ドキュメントは、2つのルールが矛盾している場合、Claudeはどちらかをランダムに選ぶ可能性があると警告しています。つまり、肥大化したファイルはモデルの動作を予測しにくくします。

簡単なルールがあります。CLAUDE.mdには、Claudeが自力で推測できないことを短く書きます。それ以外は、モデルの注意を消費するだけです。

CLAUDE.mdには何を残し、何を削除すべきか?

重要なポイント

CLAUDE.mdには、コード自体からClaudeが推測できないことだけを残します。プロジェクト固有の落とし穴、分かりにくい慣例、ビルドコマンド、デフォルトと異なるルールなどです。モデルがすでに知っている明白なことや、コード自体から読み取れることは削除します。ドキュメントが示すルールは、Claudeが同じ間違いを2回目にしたら、そのルールを追加するというものです。事前に、予防のために書くのではありません。

ドキュメントには、ルールをCLAUDE.mdに書くべきか判断する明確な基準があります。次に当てはまる場合は追加します。

  1. Claudeが同じ間違いを2回目にした。
  2. コードチェックで、このプロジェクトについてモデルが知っているべきことが検出された。
  3. 同じ修正をチャットで2回目に入力している。
  4. プロジェクトを壊さないよう、新しく参加した人にも同じ背景知識が必要になる。

一般原則は、プロジェクト固有の落とし穴を残し、明白な内容は削除することです。Claude Codeには、肥大化したCLAUDE.mdの整理を提案する組み込みチェックclaude doctorもあります。コードベースからモデルが推測できる詳細、たとえばフォルダー構成、依存関係のリスト、アーキテクチャの概要などを削り、落とし穴、その理由、デフォルトと異なる慣例を残します。

2つ目の重要なルールは具体性です。曖昧な表現は機能しません。次を比べてください。

曖昧(的外れ)具体的(的を射ている)
コードを適切に整形するインデントは2スペースにする
変更をテストするコミット前にnpm testを実行する
ファイルを整理して保つAPIハンドラーはsrc/api/handlers/に置く
良いコミットメッセージを書くコミットメッセージの先頭に種別を書く:fix:、feat:

違いはシンプルです。モデルは「適切に整形する」を好きなように解釈できます。一方、「インデントは2スペースにする」は明確に確認できます。CLAUDE.mdの各ルールは、守られたかどうかを確認でき、目で見て分かるものであるべきです。

3つ目は、明白なことを削除することです。CLAUDE.mdに「きれいなコードを書く」や「ベストプラクティスに従う」と書くのはノイズです。モデルはすでに知っており、その一行は容量を使って注意を散らします。Anthropicも、明白なことにコンテキストを費やさないよう明確に勧めています。

ヒント

CLAUDE.mdの各行について、次のように簡単に確かめてください。「Claudeは私のコードを見るだけで、これを自力で推測できるだろうか?」できるなら削除します。プロジェクト自体からは推測できないことだけを残してください。

CLAUDE.mdに合わないルールはどこへ移すべきか?

重要なポイント

CLAUDE.mdの記述が単純な事実から複数ステップの手順になったら、スキルに移します。スキルは、必要なときだけ読み込まれる別個の指示ファイルです。それ以外のときはコンテキストを消費しません。そのため、長い指示も呼び出すまではほとんどコストがかかりません。これはプログレッシブ・ディスクロージャー、つまり情報を必要に応じて、必要なタイミングで、少しずつ読み込む方法です。

ここで、最も過小評価されているツールが登場します。以前はすべての指示をCLAUDE.mdに置く必要がありましたが、今では長い手順をスキルにまとめられます。別のガイド「Claude Codeスキルの選び方」では、スキルを増やしすぎずに適切なものを選ぶ方法を説明しています。

この違いは根本的です。CLAUDE.mdは各セッションの開始時にすべて読み込まれますが、スキルはそうではありません。ドキュメントは次のように説明しています。

CLAUDE.mdの内容とは異なり、スキルの本文は使用時にのみ読み込まれるため、長い参考資料も必要になるまではほとんどコストがかかりません。

— Claude Code ドキュメント、https://code.claude.com/docs/en/skills

これはプログレッシブ・ディスクロージャー、つまり情報を必要に応じて読み込む方法と呼ばれます。モデルに適切なタイミングで、情報を少しずつ与えるという考え方です。Anthropicは、コードレビューの指示など詳細な指示をスキルに移し、システムプロンプトから削除しました。

スキルに移す基準はシンプルです。CLAUDE.mdの一節が、事実から手順に変わったら移します。「ビルドはnpm run buildで実行する」という1行のメモは事実なので、CLAUDE.mdに置きます。「プロジェクトの公開方法」の10ステップは手順なので、スキルに置きます。

実用的な原則は、2、3回を超えて繰り返す作業は任せることです。たとえば、毎週の顧客レポートをどのように作成するかを一度説明し、それをスキルにすれば、もう説明し直す必要はありません。スキルはコンテキストを消費せずに置いておけて、/otchetのようなコマンドで名前を指定して呼び出せます。

スキルに移すと便利なものは次のとおりです。

  • 複数ステップの手順(公開、レポート作成、リリース前チェック)。
  • 完全な形で必要になることは少ないが、長い指示。
  • 別のチャットに2回目または3回目にコピーする内容。

中間的な選択肢もあります。フォルダーごとのルールです。指示がプロジェクトの特定部分にだけ関係する場合は、.claude/rules/に置き、該当ファイルにリンクできます。そうすれば、常にコンテキストに残るのではなく、Claudeがそのファイルを扱うときだけ読み込まれます。

自動メモリとは何か、2026年になぜ使うのか?

重要なポイント

自動メモリとは、ビルドコマンド、デバッグで分かったこと、あなたの好み、修正内容など、覚えておく価値があることをClaudeが自動で記録する仕組みです。以前はこれらを手動でCLAUDE.mdに追加する必要がありました。今ではClaudeは自分のルールとは別にメモを残し、後のセッションで参照します。第5世代モデルでは自動メモリがデフォルトで有効になっています。

CLAUDE.mdの負担を軽くする2つ目の新しい仕組みが、自動メモリです。Claudeはあなたが書いた内容だけでなく、自分で気づいたことも覚えるようになりました。別のガイド「ClaudeのメモリとCLAUDE.mdの違い」では、両者の仕組みの違いを説明しています。

2種類のメモリの違いは次のとおりです。

CLAUDE.md自動メモリ
誰が書くかあなたClaude自身
内容指示とルール発見したことやパターン
例「インデントは2スペース」「Redisが起動していないとビルドに失敗する」
更新時期あなたが手動で編集Claudeが作業中に更新

仕組みは次のとおりです。Claudeはタスクに取り組む間に、ビルドを実行するコマンド、デバッグで行き詰まった箇所、あなたが別のやり方を求めたことなど、役立つ詳細に気づき、それをメモに保存します。次のセッションでその情報を取り出します。重要なのは、将来役立つと判断したものだけを選んで保存することです。

メモはプロジェクトごとに別のフォルダーに保存され、MEMORY.mdというインデックスファイルがあります。/memoryコマンドで表示、編集できます。通常のテキストファイルなので、いつでも読んだり、編集したり、削除したりできます。

実際に何が変わるのでしょうか。Claudeは、以前なら間違いを犯すたびにあなたがCLAUDE.mdへ追加していた内容の一部を、自分で記録するようになりました。これによってルールファイルはさらに短くなります。これは良いことです。

注記

自動メモリのメモはローカルに保存されます。選ばれたメモはClaudeのコンテキストへ読み込まれ、設定されたモデルサービスへ送られます。ローカル保存はオフライン処理を意味しません。保持や学習への利用はサービスとアカウント設定によります。/memoryで内容を確認し、秘密情報は含めないでください。

Opus 5はなぜ指示に異議を唱えるのか?

重要なポイント

Opus 5は十分に賢いため、文脈からより良い選択肢が見えると、硬直した指示に異議を唱えることがあります。以前のモデル向けに設定した古いスキルやプラグインがある人には、「モデルが言うことを聞かなくなった」と感じられるかもしれません。実際には、最適でないと判断したコマンドに盲目的に従わなくなっただけです。切り替える前に、古い設定を確認する価値があります。

これには裏面もあります。

判断する権限を与えられたモデルは、文脈の中により良い選択肢を見つけると、定義上、ときに硬直したコマンドに異議を唱えます。

Opus 5にアップグレードした後、問題が起きた場合は次の点を確認してください。

  1. 古いスキルとプラグインを再確認する。 以前のモデル向けに作られた設定は、新しいロジックと衝突することがあります。以前は問題なく動いていたものも、もう一度テストする価値があります。
  2. 最も硬直した表現を削除する。 第5世代モデルは「Xを絶対にするな、Yだけを必ずしろ」のような命令より、理由を説明する柔軟な表現をうまく扱います。
  3. モデルが早く止まりすぎる箇所を確認する。 指示同士が矛盾している、または肥大化したCLAUDE.mdのルールと衝突している兆候かもしれません。

警告

Opus 5に切り替えた後、使い慣れたスキルが突然おかしな動きを始めたなら、原因はモデル自体よりスキル内の古い指示にあることが多いです。CLAUDE.mdと同じように整理しましょう。明白なことや矛盾を削除し、具体的な内容だけを残します。

Opus 5向けにCLAUDE.mdを書き直す方法:手順

重要なポイント

CLAUDE.mdの整理には一晩かかります。まず組み込みチェックを実行し、次に明白な内容や矛盾を手作業で削除し、長い手順をスキルに移し、自動メモリを有効にして、プロジェクト固有の落とし穴だけを残します。以下で手順と、最初の整理を任せるためのすぐ使えるプロンプトを紹介します。

以前のモデル向けに作られたCLAUDE.mdを見直す手順は次のとおりです。

  1. 組み込みチェックを実行する

    プロジェクト内でclaude doctorと入力します。肥大化したファイルから何を削除し、何を残すべきか提案されます。

  2. 明白なことを削除する

    Claudeがコード自体から推測できる行をすべて削除します。フォルダー構成、ライブラリの一覧、「きれいなコードを書く」のような一般的な表現などです。

  3. 矛盾を削除する

    ファイルを上から下まで確認して、互いに衝突するルールを見つけます。一方を残し、矛盾するもう一方を削除します。

  4. 手順をスキルに移す

    事実から段階的な指示に変わったものは、別個のスキルに移します。CLAUDE.mdには1行のリンクを残します。

  5. 残すルールを具体的にする

    各ルールを確認可能な表現に言い換えます。「適切に整形する」を「インデントは2スペースにする」に変えます。

  6. 自動メモリを有効にして、長さを確認する

    自動メモリが動作していること(/memory)と、ファイルが200行未満であることを確認します。そうでなければ、まだ移すべきものがあります。

最初の整理を手作業で行わず、Claudeに任せることもできます。以下は出発点として使えるプロンプトです。コピーして、プロジェクト内で開いたセッションに貼り付けてください。

プロンプト:肥大化したCLAUDE.mdを整理する

私のCLAUDE.mdとコードを読んでください。あなたのタスクは、第5世代モデルにとってCLAUDE.mdを短く、役立つものにすることです。

ファイルを確認し、すべてのルールを次の3グループに分けてください。

KEEP - プロジェクト固有の落とし穴と、コードを見ただけでは自分で推測できない慣例。

DELETE - すでに知っている明白なこと、およびコードから推測できること。

MOVE TO A SKILL - 現在CLAUDE.mdに文章として書かれている複数ステップの手順。

グループ1については、曖昧なルールを具体的で検証可能な表現に言い換えてください。
互いに矛盾するルールを見つけ、別々に示してください。
200行未満の新しいCLAUDE.mdと、スキルへの移動を提案する項目の一覧を返してください。
確認するまで、ファイルは変更しないでください。

最後の行に注目してください。「確認するまで、何も変更しないでください」。自分で判断するようになったモデルには、これは重要です。まず計画を提示させ、決定権はあなたに残しましょう。

なぜプロンプトよりコンテキストが重要なのか?

重要なポイント

リクエストの言い回しは、多くの人が考えるほど重要ではありません。はるかに大切なのは、リクエストの前にモデルが見るもの、つまりプロジェクト構成、ルール、メモリ、スキルです。これがコンテキストエンジニアリングです。バイブコーダーにとって、コンテキストを扱うことが主要なスキルになります。Opus 5のアップデートは、この考え方をさらに裏付けます。モデルが賢くなるほど、与える環境がいっそう重要になります。リクエストの言い回しは、それと比べれば二次的です。

Opus 5の詳細をひとまず脇に置き、全体を見渡すと、この記事の分析は1つの考えに行き着きます。プロンプトよりコンテキストが重要です。最も重要な作業はリクエストの前、つまりモデルが作業する環境を整えるときに行われます。

CLAUDE.md、スキル、自動メモリは、Claudeが最初のメッセージを受け取る前に見るものという点で、すべて同じものの一部です。リクエストの言い回しは何度でも調整できます。しかし、コンテキストがうまく構成されていなければ、肥大化したCLAUDE.md、矛盾するルール、構造の欠如などによって、結果は一貫しないままです。

簡単な確認方法があります。最初の脳がなければ、第二の脳も役に立ちません。この記事でいう「第二の脳」とは、モデルが各リクエストで読むプロジェクト知識の構成です。ただし、それが機能するのは、タスクについてあなた自身が明確に理解している場合だけです。ツールはあなたの思考を増幅します。その役割はそこで終わります。

Opus 5のアップデートで、この考え方はより明確になりました。Anthropicは自社の取り組みを通じて、モデルが十分に賢いときは余分なルールがかえって害になり、コンテキストを丁寧に整えた人が優位に立つことを示しました。このスキルは、Opus 6であれ他のモデルであれ、次のモデルでも役立ちます。

今すぐ何から始めればよいのか?

重要なポイント

CLAUDE.mdを開き、新しい原則に照らして見直してください。プロジェクト固有の落とし穴を短く記したファイルであり、それ以上のものではありません。上記のすぐ使えるプロンプトで整理し、手順をスキルに移し、自動メモリを有効にします。一晩あれば終わり、その後はClaudeが指示に目に見えて従いやすくなります。

「いつか」まで先延ばしにしないでください。最も簡単な第一歩は、今すぐCLAUDE.mdを開き、各行について正直に考えることです。これはClaudeが推測できない落とし穴でしょうか。それとも念のために加えた明白なことでしょうか。後者はすべて削除候補です。

次に、上のセクションにあるプロンプトでファイルを整理し、長い手順をスキルに移し、自動メモリが有効になっていることを確認します。一晩作業すれば、コンテキストは簡潔で正確な基盤になります。

ご自身の実際のプロジェクトで、CLAUDE.md、第二の脳、タスク用スキルを使って実践できます。

Ailootについて詳しく知る。

詳細を見る

Opus 5以降のCLAUDE.md:長い指示がClaudeの妨げになる理由:よくある質問

CLAUDE.mdの節は、どの段階でスキルに移しますか?

短いプロジェクト情報が、特定のタスクでだけ使う複数工程の手順へ膨らんだときに移します。CLAUDE.mdには、短い案内と変わりにくいプロジェクト規約を残してください。

自動メモリがローカルなら、内容はモデルサービスへ届きませんか?

いいえ。ファイルはローカルに残りますが、選ばれたメモはモデルのコンテキストに入ります。/memoryで内容を確認し、秘密情報を含めず、設定したサービスのデータ管理条件も確認してください。

すべての記事